/** \file
 *  This C source file was generated by $ANTLR version 3.4
 *
 *     -  From the grammar source file : MySQL.g
 *     -                            On : 2015-06-08 13:31:00
 *     -                for the parser : MySQLParserParser
 *
 * Editing it, at least manually, is not wise.
 *
 * C language generator and runtime by Jim Idle, jimi|hereisanat|idle|dotgoeshere|ws.
 *
 *
*/
// [The "BSD license"]
// Copyright (c) 2005-2009 Jim Idle, Temporal Wave LLC
// http://www.temporal-wave.com
// http://www.linkedin.com/in/jimidle
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
//    notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
//    notice, this list of conditions and the following disclaimer in the
//    documentation and/or other materials provided with the distribution.
// 3. The name of the author may not be used to endorse or promote products
//    derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


/* =============================================================================
 * This is what the grammar programmer asked us to put at the top of every file.
 */


#define ANTLR3_HUGE
#ifndef _WIN32
#pragma GCC diagnostic ignored "-Wunused-variable"
#pragma GCC diagnostic ignored "-Wparentheses"
#ifdef __APPLE__
// Comparison of unsigned expression >= 0 is always true.
#pragma GCC diagnostic ignored "-Wtautological-compare"
#else
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6 )
#pragma GCC diagnostic ignored "-Wtype-limits"
#endif
#endif
#endif

#include "MySQLLexer.h" // Not automatically included by the generator.

/* End of Header action.
 * =============================================================================
 */

/* -----------------------------------------
 * Include the ANTLR3 generated header file.
 */
#include    "MySQLParser.h"

#ifdef __cplusplus
extern "C" { 
#endif

  // Custom error reporting function.
  void on_parse_error(struct ANTLR3_BASE_RECOGNIZER_struct *recognizer, pANTLR3_UINT8 *tokenNames); 

#ifdef __cplusplus
};
#endif

/* ----------------------------------------- */





/* MACROS that hide the C interface implementations from the
 * generated code, which makes it a little more understandable to the human eye.
 * I am very much against using C pre-processor macros for function calls and bits
 * of code as you cannot see what is happening when single stepping in debuggers
 * and so on. The exception (in my book at least) is for generated code, where you are
 * not maintaining it, but may wish to read and understand it. If you single step it, you know that input()
 * hides some indirect calls, but is always referring to the input stream. This is
 * probably more readable than ctx->input->istream->input(snarfle0->blarg) and allows me to rejig
 * the runtime interfaces without changing the generated code too often, without
 * confusing the reader of the generated output, who may not wish to know the gory
 * details of the interface inheritance.
 */

#define		CTX	ctx

/* Aids in accessing scopes for grammar programmers
 */
#undef	SCOPE_TYPE
#undef	SCOPE_STACK
#undef	SCOPE_TOP
#define	SCOPE_TYPE(scope)   pMySQLParser_##scope##_SCOPE
#define SCOPE_STACK(scope)  pMySQLParser_##scope##Stack
#define	SCOPE_TOP(scope)    ctx->pMySQLParser_##scope##Top
#define	SCOPE_SIZE(scope)		ctx->pMySQLParser_##scope##Stack_limit
#define SCOPE_INSTANCE(scope, i)	(ctx->SCOPE_STACK(scope)->get(ctx->SCOPE_STACK(scope),i))

/* Macros for accessing things in the parser
 */

#undef	    PARSER
#undef	    RECOGNIZER
#undef	    HAVEPARSEDRULE
#undef		MEMOIZE
#undef	    INPUT
#undef	    STRSTREAM
#undef	    HASEXCEPTION
#undef	    EXCEPTION
#undef	    MATCHT
#undef	    MATCHANYT
#undef	    FOLLOWSTACK
#undef	    FOLLOWPUSH
#undef	    FOLLOWPOP
#undef	    PRECOVER
#undef	    PREPORTERROR
#undef	    LA
#undef	    LT
#undef	    CONSTRUCTEX
#undef	    CONSUME
#undef	    MARK
#undef	    REWIND
#undef	    REWINDLAST
#undef	    PERRORRECOVERY
#undef	    HASFAILED
#undef	    FAILEDFLAG
#undef	    RECOVERFROMMISMATCHEDSET
#undef	    RECOVERFROMMISMATCHEDELEMENT
#undef		INDEX
#undef      ADAPTOR
#undef		SEEK
#undef	    RULEMEMO
#undef		DBG

#define	    PARSER				ctx->pParser
#define	    RECOGNIZER				PARSER->rec
#define	    PSRSTATE				RECOGNIZER->state
#define	    HAVEPARSEDRULE(r)			RECOGNIZER->alreadyParsedRule(RECOGNIZER, r)
#define	    MEMOIZE(ri,si)			RECOGNIZER->memoize(RECOGNIZER, ri, si)
#define	    INPUT				PARSER->tstream
#define	    STRSTREAM				INPUT
#define	    ISTREAM				INPUT->istream
#define	    INDEX()				ISTREAM->index(INPUT->istream)
#define	    HASEXCEPTION()			(PSRSTATE->error == ANTLR3_TRUE)
#define	    EXCEPTION				PSRSTATE->exception
#define	    MATCHT(t, fs)			RECOGNIZER->match(RECOGNIZER, t, fs)
#define	    MATCHANYT()				RECOGNIZER->matchAny(RECOGNIZER)
#define	    FOLLOWSTACK				PSRSTATE->following
#ifdef  SKIP_FOLLOW_SETS
#define	    FOLLOWPUSH(x)
#define	    FOLLOWPOP()
#else
#define	    FOLLOWPUSH(x)			FOLLOWSTACK->push(FOLLOWSTACK, ((void *)(&(x))), NULL)
#define	    FOLLOWPOP()				FOLLOWSTACK->pop(FOLLOWSTACK)
#endif
#define	    PRECOVER()				RECOGNIZER->recover(RECOGNIZER)
#define	    PREPORTERROR()			RECOGNIZER->reportError(RECOGNIZER)
#define	    LA(n)				INPUT->istream->_LA(ISTREAM, n)
#define	    LT(n)				INPUT->_LT(INPUT, n)
#define	    CONSTRUCTEX()			RECOGNIZER->exConstruct(RECOGNIZER)
#define	    CONSUME()				ISTREAM->consume(ISTREAM)
#define	    MARK()				ISTREAM->mark(ISTREAM)
#define	    REWIND(m)				ISTREAM->rewind(ISTREAM, m)
#define	    REWINDLAST()			ISTREAM->rewindLast(ISTREAM)
#define	    SEEK(n)				ISTREAM->seek(ISTREAM, n)
#define	    PERRORRECOVERY			PSRSTATE->errorRecovery
#define	    FAILEDFLAG				PSRSTATE->failed
#define	    HASFAILED()				(FAILEDFLAG == ANTLR3_TRUE)
#define	    BACKTRACKING			PSRSTATE->backtracking
#define	    RECOVERFROMMISMATCHEDSET(s)		RECOGNIZER->recoverFromMismatchedSet(RECOGNIZER, s)
#define	    RECOVERFROMMISMATCHEDELEMENT(e)	RECOGNIZER->recoverFromMismatchedElement(RECOGNIZER, s)
#define     ADAPTOR                         ctx->adaptor
#define		RULEMEMO						PSRSTATE->ruleMemo
#define		DBG								RECOGNIZER->debugger


#define		TOKTEXT(tok, txt)				tok, (pANTLR3_UINT8)txt

/* The 4 tokens defined below may well clash with your own #defines or token types. If so
 * then for the present you must use different names for your defines as these are hard coded
 * in the code generator. It would be better not to use such names internally, and maybe
 * we can change this in a forthcoming release. I deliberately do not #undef these
 * here as this will at least give you a redefined error somewhere if they clash.
 */
#define	    UP	    ANTLR3_TOKEN_UP
#define	    DOWN    ANTLR3_TOKEN_DOWN
#define	    EOR	    ANTLR3_TOKEN_EOR
#define	    INVALID ANTLR3_TOKEN_INVALID


/* =============================================================================
 * Functions to create and destroy scopes. First come the rule scopes, followed
 * by the global declared scopes.
 */



/* ============================================================================= */

/* =============================================================================
 * Start of recognizer
 */


/** \brief Table of all token names in symbolic order, mainly used for
 *         error reporting.
 */
pANTLR3_UINT8   MySQLParserTokenNames[788+4]
     = {
        (pANTLR3_UINT8) "<invalid>",       /* String to print to indicate an invalid token */
        (pANTLR3_UINT8) "<EOR>",
        (pANTLR3_UINT8) "<DOWN>",
        (pANTLR3_UINT8) "<UP>",
        (pANTLR3_UINT8) "ASCII_SYMBOL",
        (pANTLR3_UINT8) "BACKUP_SYMBOL",
        (pANTLR3_UINT8) "BEGIN_SYMBOL",
        (pANTLR3_UINT8) "BYTE_SYMBOL",
        (pANTLR3_UINT8) "CACHE_SYMBOL",
        (pANTLR3_UINT8) "CHARSET_SYMBOL",
        (pANTLR3_UINT8) "CHECKSUM_SYMBOL",
        (pANTLR3_UINT8) "CLOSE_SYMBOL",
        (pANTLR3_UINT8) "COMMENT_SYMBOL",
        (pANTLR3_UINT8) "COMMIT_SYMBOL",
        (pANTLR3_UINT8) "CONTAINS_SYMBOL",
        (pANTLR3_UINT8) "DEALLOCATE_SYMBOL",
        (pANTLR3_UINT8) "DO_SYMBOL",
        (pANTLR3_UINT8) "END_SYMBOL",
        (pANTLR3_UINT8) "EXECUTE_SYMBOL",
        (pANTLR3_UINT8) "FLUSH_SYMBOL",
        (pANTLR3_UINT8) "FOLLOWS_SYMBOL",
        (pANTLR3_UINT8) "FORMAT_SYMBOL",
        (pANTLR3_UINT8) "HANDLER_SYMBOL",
        (pANTLR3_UINT8) "HELP_SYMBOL",
        (pANTLR3_UINT8) "HOST_SYMBOL",
        (pANTLR3_UINT8) "INSTALL_SYMBOL",
        (pANTLR3_UINT8) "LANGUAGE_SYMBOL",
        (pANTLR3_UINT8) "NO_SYMBOL",
        (pANTLR3_UINT8) "OPEN_SYMBOL",
        (pANTLR3_UINT8) "OPTIONS_SYMBOL",
        (pANTLR3_UINT8) "OWNER_SYMBOL",
        (pANTLR3_UINT8) "PARSER_SYMBOL",
        (pANTLR3_UINT8) "PARTITION_SYMBOL",
        (pANTLR3_UINT8) "PORT_SYMBOL",
        (pANTLR3_UINT8) "PRECEDES_SYMBOL",
        (pANTLR3_UINT8) "PREPARE_SYMBOL",
        (pANTLR3_UINT8) "REMOVE_SYMBOL",
        (pANTLR3_UINT8) "REPAIR_SYMBOL",
        (pANTLR3_UINT8) "RESET_SYMBOL",
        (pANTLR3_UINT8) "RESTORE_SYMBOL",
        (pANTLR3_UINT8) "ROLLBACK_SYMBOL",
        (pANTLR3_UINT8) "SAVEPOINT_SYMBOL",
        (pANTLR3_UINT8) "SECURITY_SYMBOL",
        (pANTLR3_UINT8) "SERVER_SYMBOL",
        (pANTLR3_UINT8) "SIGNED_SYMBOL",
        (pANTLR3_UINT8) "SLAVE_SYMBOL",
        (pANTLR3_UINT8) "SOCKET_SYMBOL",
        (pANTLR3_UINT8) "SONAME_SYMBOL",
        (pANTLR3_UINT8) "START_SYMBOL",
        (pANTLR3_UINT8) "STOP_SYMBOL",
        (pANTLR3_UINT8) "TRUNCATE_SYMBOL",
        (pANTLR3_UINT8) "UNICODE_SYMBOL",
        (pANTLR3_UINT8) "UNINSTALL_SYMBOL",
        (pANTLR3_UINT8) "UPGRADE_SYMBOL",
        (pANTLR3_UINT8) "WRAPPER_SYMBOL",
        (pANTLR3_UINT8) "XA_SYMBOL",
        (pANTLR3_UINT8) "ACTION_SYMBOL",
        (pANTLR3_UINT8) "ADDDATE_SYMBOL",
        (pANTLR3_UINT8) "AFTER_SYMBOL",
        (pANTLR3_UINT8) "AGAINST_SYMBOL",
        (pANTLR3_UINT8) "AGGREGATE_SYMBOL",
        (pANTLR3_UINT8) "ALGORITHM_SYMBOL",
        (pANTLR3_UINT8) "ANALYZE_SYMBOL",
        (pANTLR3_UINT8) "ANY_SYMBOL",
        (pANTLR3_UINT8) "AT_SYMBOL",
        (pANTLR3_UINT8) "AUTHORS_SYMBOL",
        (pANTLR3_UINT8) "AUTO_INCREMENT_SYMBOL",
        (pANTLR3_UINT8) "AUTOEXTEND_SIZE_SYMBOL",
        (pANTLR3_UINT8) "AVG_ROW_LENGTH_SYMBOL",
        (pANTLR3_UINT8) "AVG_SYMBOL",
        (pANTLR3_UINT8) "BINLOG_SYMBOL",
        (pANTLR3_UINT8) "BIT_SYMBOL",
        (pANTLR3_UINT8) "BLOCK_SYMBOL",
        (pANTLR3_UINT8) "BOOL_SYMBOL",
        (pANTLR3_UINT8) "BOOLEAN_SYMBOL",
        (pANTLR3_UINT8) "BTREE_SYMBOL",
        (pANTLR3_UINT8) "CASCADED_SYMBOL",
        (pANTLR3_UINT8) "CATALOG_NAME_SYMBOL",
        (pANTLR3_UINT8) "CHAIN_SYMBOL",
        (pANTLR3_UINT8) "CHANGED_SYMBOL",
        (pANTLR3_UINT8) "CIPHER_SYMBOL",
        (pANTLR3_UINT8) "CLIENT_SYMBOL",
        (pANTLR3_UINT8) "CLASS_ORIGIN_SYMBOL",
        (pANTLR3_UINT8) "COALESCE_SYMBOL",
        (pANTLR3_UINT8) "CODE_SYMBOL",
        (pANTLR3_UINT8) "COLLATION_SYMBOL",
        (pANTLR3_UINT8) "COLUMN_NAME_SYMBOL",
        (pANTLR3_UINT8) "COLUMN_FORMAT_SYMBOL",
        (pANTLR3_UINT8) "COLUMNS_SYMBOL",
        (pANTLR3_UINT8) "COMMITTED_SYMBOL",
        (pANTLR3_UINT8) "COMPACT_SYMBOL",
        (pANTLR3_UINT8) "COMPLETION_SYMBOL",
        (pANTLR3_UINT8) "COMPRESSED_SYMBOL",
        (pANTLR3_UINT8) "CONCURRENT_SYMBOL",
        (pANTLR3_UINT8) "CONNECTION_SYMBOL",
        (pANTLR3_UINT8) "CONSISTENT_SYMBOL",
        (pANTLR3_UINT8) "CONSTRAINT_CATALOG_SYMBOL",
        (pANTLR3_UINT8) "CONSTRAINT_SCHEMA_SYMBOL",
        (pANTLR3_UINT8) "CONSTRAINT_NAME_SYMBOL",
        (pANTLR3_UINT8) "CONTEXT_SYMBOL",
        (pANTLR3_UINT8) "CONTRIBUTORS_SYMBOL",
        (pANTLR3_UINT8) "CPU_SYMBOL",
        (pANTLR3_UINT8) "CUBE_SYMBOL",
        (pANTLR3_UINT8) "CURRENT_SYMBOL",
        (pANTLR3_UINT8) "CURSOR_NAME_SYMBOL",
        (pANTLR3_UINT8) "DATA_SYMBOL",
        (pANTLR3_UINT8) "DATAFILE_SYMBOL",
        (pANTLR3_UINT8) "DATETIME_SYMBOL",
        (pANTLR3_UINT8) "DATE_SYMBOL",
        (pANTLR3_UINT8) "DAY_SYMBOL",
        (pANTLR3_UINT8) "DEFAULT_AUTH_SYMBOL",
        (pANTLR3_UINT8) "DEFINER_SYMBOL",
        (pANTLR3_UINT8) "DELAY_KEY_WRITE_SYMBOL",
        (pANTLR3_UINT8) "DES_KEY_FILE_SYMBOL",
        (pANTLR3_UINT8) "DIAGNOSTICS_SYMBOL",
        (pANTLR3_UINT8) "DIRECTORY_SYMBOL",
        (pANTLR3_UINT8) "DISABLE_SYMBOL",
        (pANTLR3_UINT8) "DISCARD_SYMBOL",
        (pANTLR3_UINT8) "DISK_SYMBOL",
        (pANTLR3_UINT8) "DUMPFILE_SYMBOL",
        (pANTLR3_UINT8) "DUPLICATE_SYMBOL",
        (pANTLR3_UINT8) "DYNAMIC_SYMBOL",
        (pANTLR3_UINT8) "ENDS_SYMBOL",
        (pANTLR3_UINT8) "ENUM_SYMBOL",
        (pANTLR3_UINT8) "ENGINE_SYMBOL",
        (pANTLR3_UINT8) "ENGINES_SYMBOL",
        (pANTLR3_UINT8) "ERROR_SYMBOL",
        (pANTLR3_UINT8) "ERRORS_SYMBOL",
        (pANTLR3_UINT8) "ESCAPE_SYMBOL",
        (pANTLR3_UINT8) "EVENT_SYMBOL",
        (pANTLR3_UINT8) "EVENTS_SYMBOL",
        (pANTLR3_UINT8) "EVERY_SYMBOL",
        (pANTLR3_UINT8) "EXPANSION_SYMBOL",
        (pANTLR3_UINT8) "EXPORT_SYMBOL",
        (pANTLR3_UINT8) "EXTENDED_SYMBOL",
        (pANTLR3_UINT8) "EXTENT_SIZE_SYMBOL",
        (pANTLR3_UINT8) "FAULTS_SYMBOL",
        (pANTLR3_UINT8) "FAST_SYMBOL",
        (pANTLR3_UINT8) "FOUND_SYMBOL",
        (pANTLR3_UINT8) "ENABLE_SYMBOL",
        (pANTLR3_UINT8) "FULL_SYMBOL",
        (pANTLR3_UINT8) "FILE_SYMBOL",
        (pANTLR3_UINT8) "FILTER_SYMBOL",
        (pANTLR3_UINT8) "FIRST_SYMBOL",
        (pANTLR3_UINT8) "FIXED_SYMBOL",
        (pANTLR3_UINT8) "GENERAL_SYMBOL",
        (pANTLR3_UINT8) "GEOMETRY_SYMBOL",
        (pANTLR3_UINT8) "GEOMETRYCOLLECTION_SYMBOL",
        (pANTLR3_UINT8) "GET_FORMAT_SYMBOL",
        (pANTLR3_UINT8) "GRANTS_SYMBOL",
        (pANTLR3_UINT8) "GLOBAL_SYMBOL",
        (pANTLR3_UINT8) "HASH_SYMBOL",
        (pANTLR3_UINT8) "HOSTS_SYMBOL",
        (pANTLR3_UINT8) "HOUR_SYMBOL",
        (pANTLR3_UINT8) "IDENTIFIED_SYMBOL",
        (pANTLR3_UINT8) "IGNORE_SERVER_IDS_SYMBOL",
        (pANTLR3_UINT8) "INVOKER_SYMBOL",
        (pANTLR3_UINT8) "IMPORT_SYMBOL",
        (pANTLR3_UINT8) "INDEXES_SYMBOL",
        (pANTLR3_UINT8) "INITIAL_SIZE_SYMBOL",
        (pANTLR3_UINT8) "INNODB_SYMBOL",
        (pANTLR3_UINT8) "IO_SYMBOL",
        (pANTLR3_UINT8) "IPC_SYMBOL",
        (pANTLR3_UINT8) "ISOLATION_SYMBOL",
        (pANTLR3_UINT8) "ISSUER_SYMBOL",
        (pANTLR3_UINT8) "INSERT_METHOD_SYMBOL",
        (pANTLR3_UINT8) "KEY_BLOCK_SIZE_SYMBOL",
        (pANTLR3_UINT8) "LAST_SYMBOL",
        (pANTLR3_UINT8) "LEAVES_SYMBOL",
        (pANTLR3_UINT8) "LESS_SYMBOL",
        (pANTLR3_UINT8) "LEVEL_SYMBOL",
        (pANTLR3_UINT8) "LINESTRING_SYMBOL",
        (pANTLR3_UINT8) "LIST_SYMBOL",
        (pANTLR3_UINT8) "LOCAL_SYMBOL",
        (pANTLR3_UINT8) "LOCKS_SYMBOL",
        (pANTLR3_UINT8) "LOGFILE_SYMBOL",
        (pANTLR3_UINT8) "LOGS_SYMBOL",
        (pANTLR3_UINT8) "MAX_ROWS_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SYMBOL",
        (pANTLR3_UINT8) "MASTER_HEARTBEAT_PERIOD_SYMBOL",
        (pANTLR3_UINT8) "MASTER_HOST_SYMBOL",
        (pANTLR3_UINT8) "MASTER_PORT_SYMBOL",
        (pANTLR3_UINT8) "MASTER_LOG_FILE_SYMBOL",
        (pANTLR3_UINT8) "MASTER_LOG_POS_SYMBOL",
        (pANTLR3_UINT8) "MASTER_USER_SYMBOL",
        (pANTLR3_UINT8) "MASTER_PASSWORD_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SERVER_ID_SYMBOL",
        (pANTLR3_UINT8) "MASTER_CONNECT_RETRY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_RETRY_COUNT_SYMBOL",
        (pANTLR3_UINT8) "MASTER_DELAY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CA_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CAPATH_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CERT_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CIPHER_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CRL_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CRLPATH_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_KEY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_AUTO_POSITION_SYMBOL",
        (pANTLR3_UINT8) "MAX_CONNECTIONS_PER_HOUR_SYMBOL",
        (pANTLR3_UINT8) "MAX_QUERIES_PER_HOUR_SYMBOL",
        (pANTLR3_UINT8) "MAX_STATEMENT_TIME_SYMBOL",
        (pANTLR3_UINT8) "MAX_SIZE_SYMBOL",
        (pANTLR3_UINT8) "MAX_UPDATES_PER_HOUR_SYMBOL",
        (pANTLR3_UINT8) "MAX_USER_CONNECTIONS_SYMBOL",
        (pANTLR3_UINT8) "MEDIUM_SYMBOL",
        (pANTLR3_UINT8) "MEMORY_SYMBOL",
        (pANTLR3_UINT8) "MERGE_SYMBOL",
        (pANTLR3_UINT8) "MESSAGE_TEXT_SYMBOL",
        (pANTLR3_UINT8) "MICROSECOND_SYMBOL",
        (pANTLR3_UINT8) "MIGRATE_SYMBOL",
        (pANTLR3_UINT8) "MINUTE_SYMBOL",
        (pANTLR3_UINT8) "MIN_ROWS_SYMBOL",
        (pANTLR3_UINT8) "MODIFY_SYMBOL",
        (pANTLR3_UINT8) "MODE_SYMBOL",
        (pANTLR3_UINT8) "MONTH_SYMBOL",
        (pANTLR3_UINT8) "MULTILINESTRING_SYMBOL",
        (pANTLR3_UINT8) "MULTIPOINT_SYMBOL",
        (pANTLR3_UINT8) "MULTIPOLYGON_SYMBOL",
        (pANTLR3_UINT8) "MUTEX_SYMBOL",
        (pANTLR3_UINT8) "MYSQL_ERRNO_SYMBOL",
        (pANTLR3_UINT8) "NAME_SYMBOL",
        (pANTLR3_UINT8) "NAMES_SYMBOL",
        (pANTLR3_UINT8) "NATIONAL_SYMBOL",
        (pANTLR3_UINT8) "NCHAR_SYMBOL",
        (pANTLR3_UINT8) "NDBCLUSTER_SYMBOL",
        (pANTLR3_UINT8) "NEVER_SYMBOL",
        (pANTLR3_UINT8) "NEXT_SYMBOL",
        (pANTLR3_UINT8) "NEW_SYMBOL",
        (pANTLR3_UINT8) "NO_WAIT_SYMBOL",
        (pANTLR3_UINT8) "NODEGROUP_SYMBOL",
        (pANTLR3_UINT8) "NONE_SYMBOL",
        (pANTLR3_UINT8) "NUMBER_SYMBOL",
        (pANTLR3_UINT8) "NVARCHAR_SYMBOL",
        (pANTLR3_UINT8) "OFFSET_SYMBOL",
        (pANTLR3_UINT8) "OLD_PASSWORD_SYMBOL",
        (pANTLR3_UINT8) "ONE_SHOT_SYMBOL",
        (pANTLR3_UINT8) "ONE_SYMBOL",
        (pANTLR3_UINT8) "PACK_KEYS_SYMBOL",
        (pANTLR3_UINT8) "PAGE_SYMBOL",
        (pANTLR3_UINT8) "PARTIAL_SYMBOL",
        (pANTLR3_UINT8) "PARTITIONING_SYMBOL",
        (pANTLR3_UINT8) "PARTITIONS_SYMBOL",
        (pANTLR3_UINT8) "PASSWORD_SYMBOL",
        (pANTLR3_UINT8) "PHASE_SYMBOL",
        (pANTLR3_UINT8) "PLUGIN_DIR_SYMBOL",
        (pANTLR3_UINT8) "PLUGIN_SYMBOL",
        (pANTLR3_UINT8) "PLUGINS_SYMBOL",
        (pANTLR3_UINT8) "POINT_SYMBOL",
        (pANTLR3_UINT8) "POLYGON_SYMBOL",
        (pANTLR3_UINT8) "PRESERVE_SYMBOL",
        (pANTLR3_UINT8) "PREV_SYMBOL",
        (pANTLR3_UINT8) "PRIVILEGES_SYMBOL",
        (pANTLR3_UINT8) "PROCESS_SYMBOL",
        (pANTLR3_UINT8) "PROCESSLIST_SYMBOL",
        (pANTLR3_UINT8) "PROFILE_SYMBOL",
        (pANTLR3_UINT8) "PROFILES_SYMBOL",
        (pANTLR3_UINT8) "PROXY_SYMBOL",
        (pANTLR3_UINT8) "QUARTER_SYMBOL",
        (pANTLR3_UINT8) "QUERY_SYMBOL",
        (pANTLR3_UINT8) "QUICK_SYMBOL",
        (pANTLR3_UINT8) "READ_ONLY_SYMBOL",
        (pANTLR3_UINT8) "REBUILD_SYMBOL",
        (pANTLR3_UINT8) "RECOVER_SYMBOL",
        (pANTLR3_UINT8) "REDO_BUFFER_SIZE_SYMBOL",
        (pANTLR3_UINT8) "REDOFILE_SYMBOL",
        (pANTLR3_UINT8) "REDUNDANT_SYMBOL",
        (pANTLR3_UINT8) "RELAY_SYMBOL",
        (pANTLR3_UINT8) "RELAYLOG_SYMBOL",
        (pANTLR3_UINT8) "RELAY_LOG_FILE_SYMBOL",
        (pANTLR3_UINT8) "RELAY_LOG_POS_SYMBOL",
        (pANTLR3_UINT8) "RELAY_THREAD_SYMBOL",
        (pANTLR3_UINT8) "RELOAD_SYMBOL",
        (pANTLR3_UINT8) "REORGANIZE_SYMBOL",
        (pANTLR3_UINT8) "REPEATABLE_SYMBOL",
        (pANTLR3_UINT8) "REPLICATION_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_DO_DB_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_IGNORE_DB_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_DO_TABLE_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_IGNORE_TABLE_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_WILD_DO_TABLE_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_WILD_IGNORE_TABLE_SYMBOL",
        (pANTLR3_UINT8) "REPLICATE_REWRITE_DB_SYMBOL",
        (pANTLR3_UINT8) "RESUME_SYMBOL",
        (pANTLR3_UINT8) "RETURNED_SQLSTATE_SYMBOL",
        (pANTLR3_UINT8) "RETURNS_SYMBOL",
        (pANTLR3_UINT8) "REVERSE_SYMBOL",
        (pANTLR3_UINT8) "ROLLUP_SYMBOL",
        (pANTLR3_UINT8) "ROUTINE_SYMBOL",
        (pANTLR3_UINT8) "ROWS_SYMBOL",
        (pANTLR3_UINT8) "ROW_COUNT_SYMBOL",
        (pANTLR3_UINT8) "ROW_FORMAT_SYMBOL",
        (pANTLR3_UINT8) "ROW_SYMBOL",
        (pANTLR3_UINT8) "RTREE_SYMBOL",
        (pANTLR3_UINT8) "SCHEDULE_SYMBOL",
        (pANTLR3_UINT8) "SCHEMA_NAME_SYMBOL",
        (pANTLR3_UINT8) "SECOND_SYMBOL",
        (pANTLR3_UINT8) "SERIAL_SYMBOL",
        (pANTLR3_UINT8) "SERIALIZABLE_SYMBOL",
        (pANTLR3_UINT8) "SESSION_SYMBOL",
        (pANTLR3_UINT8) "SIMPLE_SYMBOL",
        (pANTLR3_UINT8) "SHARE_SYMBOL",
        (pANTLR3_UINT8) "SHUTDOWN_SYMBOL",
        (pANTLR3_UINT8) "SLOW_SYMBOL",
        (pANTLR3_UINT8) "SNAPSHOT_SYMBOL",
        (pANTLR3_UINT8) "SOUNDS_SYMBOL",
        (pANTLR3_UINT8) "SOURCE_SYMBOL",
        (pANTLR3_UINT8) "SQL_AFTER_GTIDS_SYMBOL",
        (pANTLR3_UINT8) "SQL_AFTER_MTS_GAPS_SYMBOL",
        (pANTLR3_UINT8) "SQL_BEFORE_GTIDS_SYMBOL",
        (pANTLR3_UINT8) "SQL_CACHE_SYMBOL",
        (pANTLR3_UINT8) "SQL_BUFFER_RESULT_SYMBOL",
        (pANTLR3_UINT8) "SQL_NO_CACHE_SYMBOL",
        (pANTLR3_UINT8) "SQL_THREAD_SYMBOL",
        (pANTLR3_UINT8) "STACKED_SYMBOL",
        (pANTLR3_UINT8) "STARTS_SYMBOL",
        (pANTLR3_UINT8) "STATS_AUTO_RECALC_SYMBOL",
        (pANTLR3_UINT8) "STATS_PERSISTENT_SYMBOL",
        (pANTLR3_UINT8) "STATS_SAMPLE_PAGES_SYMBOL",
        (pANTLR3_UINT8) "STATUS_SYMBOL",
        (pANTLR3_UINT8) "STORAGE_SYMBOL",
        (pANTLR3_UINT8) "STRING_SYMBOL",
        (pANTLR3_UINT8) "SUBCLASS_ORIGIN_SYMBOL",
        (pANTLR3_UINT8) "SUBDATE_SYMBOL",
        (pANTLR3_UINT8) "SUBJECT_SYMBOL",
        (pANTLR3_UINT8) "SUBPARTITION_SYMBOL",
        (pANTLR3_UINT8) "SUBPARTITIONS_SYMBOL",
        (pANTLR3_UINT8) "SUPER_SYMBOL",
        (pANTLR3_UINT8) "SUSPEND_SYMBOL",
        (pANTLR3_UINT8) "SWAPS_SYMBOL",
        (pANTLR3_UINT8) "SWITCHES_SYMBOL",
        (pANTLR3_UINT8) "TABLE_NAME_SYMBOL",
        (pANTLR3_UINT8) "TABLES_SYMBOL",
        (pANTLR3_UINT8) "TABLE_CHECKSUM_SYMBOL",
        (pANTLR3_UINT8) "TABLESPACE_SYMBOL",
        (pANTLR3_UINT8) "TEMPORARY_SYMBOL",
        (pANTLR3_UINT8) "TEMPTABLE_SYMBOL",
        (pANTLR3_UINT8) "TEXT_SYMBOL",
        (pANTLR3_UINT8) "THAN_SYMBOL",
        (pANTLR3_UINT8) "TRANSACTION_SYMBOL",
        (pANTLR3_UINT8) "TRIGGERS_SYMBOL",
        (pANTLR3_UINT8) "TIMESTAMP_SYMBOL",
        (pANTLR3_UINT8) "TIMESTAMP_ADD_SYMBOL",
        (pANTLR3_UINT8) "TIMESTAMP_DIFF_SYMBOL",
        (pANTLR3_UINT8) "TIME_SYMBOL",
        (pANTLR3_UINT8) "TYPES_SYMBOL",
        (pANTLR3_UINT8) "TYPE_SYMBOL",
        (pANTLR3_UINT8) "UDF_RETURNS_SYMBOL",
        (pANTLR3_UINT8) "FUNCTION_SYMBOL",
        (pANTLR3_UINT8) "UNCOMMITTED_SYMBOL",
        (pANTLR3_UINT8) "UNDEFINED_SYMBOL",
        (pANTLR3_UINT8) "UNDO_BUFFER_SIZE_SYMBOL",
        (pANTLR3_UINT8) "UNDOFILE_SYMBOL",
        (pANTLR3_UINT8) "UNKNOWN_SYMBOL",
        (pANTLR3_UINT8) "UNTIL_SYMBOL",
        (pANTLR3_UINT8) "USER_RESOURCES_SYMBOL",
        (pANTLR3_UINT8) "USER_SYMBOL",
        (pANTLR3_UINT8) "USE_FRM_SYMBOL",
        (pANTLR3_UINT8) "VARIABLES_SYMBOL",
        (pANTLR3_UINT8) "VIEW_SYMBOL",
        (pANTLR3_UINT8) "VALUE_SYMBOL",
        (pANTLR3_UINT8) "WARNINGS_SYMBOL",
        (pANTLR3_UINT8) "WAIT_SYMBOL",
        (pANTLR3_UINT8) "WEEK_SYMBOL",
        (pANTLR3_UINT8) "WORK_SYMBOL",
        (pANTLR3_UINT8) "WEIGHT_STRING_SYMBOL",
        (pANTLR3_UINT8) "X509_SYMBOL",
        (pANTLR3_UINT8) "XID_SYMBOL",
        (pANTLR3_UINT8) "XML_SYMBOL",
        (pANTLR3_UINT8) "YEAR_SYMBOL",
        (pANTLR3_UINT8) "ACCESSIBLE_SYMBOL",
        (pANTLR3_UINT8) "ADD_SYMBOL",
        (pANTLR3_UINT8) "ALL_SYMBOL",
        (pANTLR3_UINT8) "ALTER_SYMBOL",
        (pANTLR3_UINT8) "ALTER_TABLE_ITEM_TOKEN",
        (pANTLR3_UINT8) "ANALYSE_SYMBOL",
        (pANTLR3_UINT8) "AND_SYMBOL",
        (pANTLR3_UINT8) "ASC_SYMBOL",
        (pANTLR3_UINT8) "ASENSITIVE_SYMBOL",
        (pANTLR3_UINT8) "ASSIGN_OPERATOR",
        (pANTLR3_UINT8) "AS_SYMBOL",
        (pANTLR3_UINT8) "AT_AT_SIGN_SYMBOL",
        (pANTLR3_UINT8) "AT_SIGN_SYMBOL",
        (pANTLR3_UINT8) "AT_TEXT_SUFFIX",
        (pANTLR3_UINT8) "BACK_TICK",
        (pANTLR3_UINT8) "BACK_TICK_QUOTED_ID",
        (pANTLR3_UINT8) "BEFORE_SYMBOL",
        (pANTLR3_UINT8) "BETWEEN_SYMBOL",
        (pANTLR3_UINT8) "BIGINT_SYMBOL",
        (pANTLR3_UINT8) "BINARY_SYMBOL",
        (pANTLR3_UINT8) "BIN_NUM_SYMBOL",
        (pANTLR3_UINT8) "BITNUMBER",
        (pANTLR3_UINT8) "BITSTRING",
        (pANTLR3_UINT8) "BITWISE_AND_OPERATOR",
        (pANTLR3_UINT8) "BITWISE_NOT_OPERATOR",
        (pANTLR3_UINT8) "BITWISE_OR_OPERATOR",
        (pANTLR3_UINT8) "BITWISE_XOR_OPERATOR",
        (pANTLR3_UINT8) "BIT_AND_SYMBOL",
        (pANTLR3_UINT8) "BIT_OR_SYMBOL",
        (pANTLR3_UINT8) "BIT_XOR_SYMBOL",
        (pANTLR3_UINT8) "BLOB_SYMBOL",
        (pANTLR3_UINT8) "BLOCK_COMMENT",
        (pANTLR3_UINT8) "BOTH_SYMBOL",
        (pANTLR3_UINT8) "BY_SYMBOL",
        (pANTLR3_UINT8) "CALL_SYMBOL",
        (pANTLR3_UINT8) "CASCADE_SYMBOL",
        (pANTLR3_UINT8) "CASE_SYMBOL",
        (pANTLR3_UINT8) "CAST_SYMBOL",
        (pANTLR3_UINT8) "CHANGE_MASTER_OPTIONS_TOKEN",
        (pANTLR3_UINT8) "CHANGE_SYMBOL",
        (pANTLR3_UINT8) "CHANNEL_SYMBOL",
        (pANTLR3_UINT8) "CHARACTER_SYMBOL",
        (pANTLR3_UINT8) "CHAR_SYMBOL",
        (pANTLR3_UINT8) "CHECK_SYMBOL",
        (pANTLR3_UINT8) "CLOSE_CURLY_SYMBOL",
        (pANTLR3_UINT8) "CLOSE_PAR_SYMBOL",
        (pANTLR3_UINT8) "COLLATE_SYMBOL",
        (pANTLR3_UINT8) "COLON_SYMBOL",
        (pANTLR3_UINT8) "COLUMN_ASSIGNMENT_LIST_TOKEN",
        (pANTLR3_UINT8) "COLUMN_INTERNAL_REF_TOKEN",
        (pANTLR3_UINT8) "COLUMN_NAME_TOKEN",
        (pANTLR3_UINT8) "COLUMN_REF_TOKEN",
        (pANTLR3_UINT8) "COLUMN_SYMBOL",
        (pANTLR3_UINT8) "COMMA_SYMBOL",
        (pANTLR3_UINT8) "COMMENT_RULE",
        (pANTLR3_UINT8) "CONCAT_PIPES_SYMBOL",
        (pANTLR3_UINT8) "CONDITION_SYMBOL",
        (pANTLR3_UINT8) "CONSTRAINT_SYMBOL",
        (pANTLR3_UINT8) "CONTINUE_SYMBOL",
        (pANTLR3_UINT8) "CONVERT_SYMBOL",
        (pANTLR3_UINT8) "COUNT_SYMBOL",
        (pANTLR3_UINT8) "CREATE_ITEM_TOKEN",
        (pANTLR3_UINT8) "CREATE_SYMBOL",
        (pANTLR3_UINT8) "CROSS_SYMBOL",
        (pANTLR3_UINT8) "CURDATE_SYMBOL",
        (pANTLR3_UINT8) "CURRENT_TIMESTAMP_SYMBOL",
        (pANTLR3_UINT8) "CURRENT_USER_SYMBOL",
        (pANTLR3_UINT8) "CURSOR_SYMBOL",
        (pANTLR3_UINT8) "CURTIME_SYMBOL",
        (pANTLR3_UINT8) "DASHDASH_COMMENT",
        (pANTLR3_UINT8) "DATABASES_SYMBOL",
        (pANTLR3_UINT8) "DATABASE_SYMBOL",
        (pANTLR3_UINT8) "DATA_TYPE_TOKEN",
        (pANTLR3_UINT8) "DATE_ADD_INTERVAL_SYMBOL",
        (pANTLR3_UINT8) "DATE_ADD_SYMBOL",
        (pANTLR3_UINT8) "DATE_SUB_INTERVAL_SYMBOL",
        (pANTLR3_UINT8) "DATE_SUB_SYMBOL",
        (pANTLR3_UINT8) "DAYOFMONTH_SYMBOL",
        (pANTLR3_UINT8) "DAY_HOUR_SYMBOL",
        (pANTLR3_UINT8) "DAY_MICROSECOND_SYMBOL",
        (pANTLR3_UINT8) "DAY_MINUTE_SYMBOL",
        (pANTLR3_UINT8) "DAY_SECOND_SYMBOL",
        (pANTLR3_UINT8) "DECIMAL_NUM_SYMBOL",
        (pANTLR3_UINT8) "DECIMAL_SYMBOL",
        (pANTLR3_UINT8) "DECLARE_SYMBOL",
        (pANTLR3_UINT8) "DEC_SYMBOL",
        (pANTLR3_UINT8) "DEFAULT_SYMBOL",
        (pANTLR3_UINT8) "DELAYED_SYMBOL",
        (pANTLR3_UINT8) "DELETE_SYMBOL",
        (pANTLR3_UINT8) "DESCRIBE_SYMBOL",
        (pANTLR3_UINT8) "DESC_SYMBOL",
        (pANTLR3_UINT8) "DETERMINISTIC_SYMBOL",
        (pANTLR3_UINT8) "DIGIT",
        (pANTLR3_UINT8) "DIGITS",
        (pANTLR3_UINT8) "DISTINCTROW_SYMBOL",
        (pANTLR3_UINT8) "DISTINCT_SYMBOL",
        (pANTLR3_UINT8) "DIV_OPERATOR",
        (pANTLR3_UINT8) "DIV_SYMBOL",
        (pANTLR3_UINT8) "DOT_SYMBOL",
        (pANTLR3_UINT8) "DOUBLE_DASH",
        (pANTLR3_UINT8) "DOUBLE_QUOTE",
        (pANTLR3_UINT8) "DOUBLE_QUOTED_TEXT",
        (pANTLR3_UINT8) "DOUBLE_SYMBOL",
        (pANTLR3_UINT8) "DROP_SYMBOL",
        (pANTLR3_UINT8) "DUAL_SYMBOL",
        (pANTLR3_UINT8) "EACH_SYMBOL",
        (pANTLR3_UINT8) "ELSEIF_SYMBOL",
        (pANTLR3_UINT8) "ELSE_SYMBOL",
        (pANTLR3_UINT8) "ENCLOSED_SYMBOL",
        (pANTLR3_UINT8) "END_OF_INPUT_SYMBOL",
        (pANTLR3_UINT8) "EQUAL_OPERATOR",
        (pANTLR3_UINT8) "ESCAPED_SYMBOL",
        (pANTLR3_UINT8) "ESCAPE_OPERATOR",
        (pANTLR3_UINT8) "EVENT_NAME_TOKEN",
        (pANTLR3_UINT8) "EVENT_REF_TOKEN",
        (pANTLR3_UINT8) "EXCHANGE_SYMBOL",
        (pANTLR3_UINT8) "EXISTS_SYMBOL",
        (pANTLR3_UINT8) "EXIT_SYMBOL",
        (pANTLR3_UINT8) "EXPIRE_SYMBOL",
        (pANTLR3_UINT8) "EXPLAIN_SYMBOL",
        (pANTLR3_UINT8) "EXPRESSION_TOKEN",
        (pANTLR3_UINT8) "EXTRACT_SYMBOL",
        (pANTLR3_UINT8) "FALSE_SYMBOL",
        (pANTLR3_UINT8) "FETCH_SYMBOL",
        (pANTLR3_UINT8) "FIELDS_SYMBOL",
        (pANTLR3_UINT8) "FLOAT",
        (pANTLR3_UINT8) "FLOAT4_SYMBOL",
        (pANTLR3_UINT8) "FLOAT8_SYMBOL",
        (pANTLR3_UINT8) "FLOAT_SYMBOL",
        (pANTLR3_UINT8) "FORCE_SYMBOL",
        (pANTLR3_UINT8) "FOREIGN_SYMBOL",
        (pANTLR3_UINT8) "FOR_SYMBOL",
        (pANTLR3_UINT8) "FRAC_SECOND_SYMBOL",
        (pANTLR3_UINT8) "FROM_SYMBOL",
        (pANTLR3_UINT8) "FULLTEXT_SYMBOL",
        (pANTLR3_UINT8) "FUNCTION_CALL_TOKEN",
        (pANTLR3_UINT8) "FUNCTION_NAME_TOKEN",
        (pANTLR3_UINT8) "FUNCTION_REF_TOKEN",
        (pANTLR3_UINT8) "GET_SYMBOL",
        (pANTLR3_UINT8) "GRANT_SYMBOL",
        (pANTLR3_UINT8) "GREATER_OR_EQUAL_OPERATOR",
        (pANTLR3_UINT8) "GREATER_THAN_OPERATOR",
        (pANTLR3_UINT8) "GROUP_CONCAT_SYMBOL",
        (pANTLR3_UINT8) "GROUP_SYMBOL",
        (pANTLR3_UINT8) "HAVING_SYMBOL",
        (pANTLR3_UINT8) "HEXDIGIT",
        (pANTLR3_UINT8) "HEXNUMBER",
        (pANTLR3_UINT8) "HEXSTRING",
        (pANTLR3_UINT8) "HIGH_PRIORITY_SYMBOL",
        (pANTLR3_UINT8) "HOUR_MICROSECOND_SYMBOL",
        (pANTLR3_UINT8) "HOUR_MINUTE_SYMBOL",
        (pANTLR3_UINT8) "HOUR_SECOND_SYMBOL",
        (pANTLR3_UINT8) "IDENTIFIER",
        (pANTLR3_UINT8) "IF_SYMBOL",
        (pANTLR3_UINT8) "IGNORE_SYMBOL",
        (pANTLR3_UINT8) "INDEX_HINT_LIST_TOKEN",
        (pANTLR3_UINT8) "INDEX_SYMBOL",
        (pANTLR3_UINT8) "INFILE_SYMBOL",
        (pANTLR3_UINT8) "INNER_SYMBOL",
        (pANTLR3_UINT8) "INOUT_SYMBOL",
        (pANTLR3_UINT8) "INSENSITIVE_SYMBOL",
        (pANTLR3_UINT8) "INSERT_SYMBOL",
        (pANTLR3_UINT8) "INT1_SYMBOL",
        (pANTLR3_UINT8) "INT2_SYMBOL",
        (pANTLR3_UINT8) "INT3_SYMBOL",
        (pANTLR3_UINT8) "INT4_SYMBOL",
        (pANTLR3_UINT8) "INT8_SYMBOL",
        (pANTLR3_UINT8) "INTEGER",
        (pANTLR3_UINT8) "INTEGER_SYMBOL",
        (pANTLR3_UINT8) "INTERVAL_SYMBOL",
        (pANTLR3_UINT8) "INTO_SYMBOL",
        (pANTLR3_UINT8) "INT_SYMBOL",
        (pANTLR3_UINT8) "INVALID_INPUT",
        (pANTLR3_UINT8) "IN_SYMBOL",
        (pANTLR3_UINT8) "IO_AFTER_GTIDS_SYMBOL",
        (pANTLR3_UINT8) "IO_BEFORE_GTIDS_SYMBOL",
        (pANTLR3_UINT8) "IO_THREAD_SYMBOL",
        (pANTLR3_UINT8) "IS_SYMBOL",
        (pANTLR3_UINT8) "ITERATE_SYMBOL",
        (pANTLR3_UINT8) "JOIN_EXPR_TOKEN",
        (pANTLR3_UINT8) "JOIN_SYMBOL",
        (pANTLR3_UINT8) "KEYS_SYMBOL",
        (pANTLR3_UINT8) "KEY_CACHE_LIST_TOKEN",
        (pANTLR3_UINT8) "KEY_CACHE_PARTITION_TOKEN",
        (pANTLR3_UINT8) "KEY_SYMBOL",
        (pANTLR3_UINT8) "KILL_SYMBOL",
        (pANTLR3_UINT8) "LABEL_TOKEN",
        (pANTLR3_UINT8) "LEADING_SYMBOL",
        (pANTLR3_UINT8) "LEAVE_SYMBOL",
        (pANTLR3_UINT8) "LEFT_SYMBOL",
        (pANTLR3_UINT8) "LESS_OR_EQUAL_OPERATOR",
        (pANTLR3_UINT8) "LESS_THAN_OPERATOR",
        (pANTLR3_UINT8) "LETTER_WHEN_UNQUOTED",
        (pANTLR3_UINT8) "LIKE_SYMBOL",
        (pANTLR3_UINT8) "LIMIT_SYMBOL",
        (pANTLR3_UINT8) "LINEAR_SYMBOL",
        (pANTLR3_UINT8) "LINEBREAK",
        (pANTLR3_UINT8) "LINES_SYMBOL",
        (pANTLR3_UINT8) "LOAD_SYMBOL",
        (pANTLR3_UINT8) "LOCALTIMESTAMP_SYMBOL",
        (pANTLR3_UINT8) "LOCALTIME_SYMBOL",
        (pANTLR3_UINT8) "LOCATOR_SYMBOL",
        (pANTLR3_UINT8) "LOCK_SYMBOL",
        (pANTLR3_UINT8) "LOGFILE_GROUP_NAME_TOKEN",
        (pANTLR3_UINT8) "LOGFILE_GROUP_OPTIONS_TOKEN",
        (pANTLR3_UINT8) "LOGFILE_GROUP_REF_TOKEN",
        (pANTLR3_UINT8) "LOGICAL_AND_OPERATOR",
        (pANTLR3_UINT8) "LOGICAL_NOT_OPERATOR",
        (pANTLR3_UINT8) "LOGICAL_OR_OPERATOR",
        (pANTLR3_UINT8) "LONGBLOB_SYMBOL",
        (pANTLR3_UINT8) "LONGTEXT_SYMBOL",
        (pANTLR3_UINT8) "LONG_NUM_SYMBOL",
        (pANTLR3_UINT8) "LONG_SYMBOL",
        (pANTLR3_UINT8) "LOOP_SYMBOL",
        (pANTLR3_UINT8) "LOW_PRIORITY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_BIND_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL",
        (pANTLR3_UINT8) "MATCH_SYMBOL",
        (pANTLR3_UINT8) "MAXVALUE_SYMBOL",
        (pANTLR3_UINT8) "MAX_SYMBOL",
        (pANTLR3_UINT8) "MEDIUMBLOB_SYMBOL",
        (pANTLR3_UINT8) "MEDIUMINT_SYMBOL",
        (pANTLR3_UINT8) "MEDIUMTEXT_SYMBOL",
        (pANTLR3_UINT8) "MIDDLEINT_SYMBOL",
        (pANTLR3_UINT8) "MID_SYMBOL",
        (pANTLR3_UINT8) "MINUS_OPERATOR",
        (pANTLR3_UINT8) "MINUTE_MICROSECOND_SYMBOL",
        (pANTLR3_UINT8) "MINUTE_SECOND_SYMBOL",
        (pANTLR3_UINT8) "MIN_SYMBOL",
        (pANTLR3_UINT8) "ML_COMMENT_END",
        (pANTLR3_UINT8) "ML_COMMENT_HEAD",
        (pANTLR3_UINT8) "MODIFIES_SYMBOL",
        (pANTLR3_UINT8) "MOD_OPERATOR",
        (pANTLR3_UINT8) "MOD_SYMBOL",
        (pANTLR3_UINT8) "MULTILINE_COMMENT",
        (pANTLR3_UINT8) "MULT_OPERATOR",
        (pANTLR3_UINT8) "NATURAL_SYMBOL",
        (pANTLR3_UINT8) "NCHAR_STRING_SYMBOL",
        (pANTLR3_UINT8) "NCHAR_TEXT",
        (pANTLR3_UINT8) "NDB_SYMBOL",
        (pANTLR3_UINT8) "NEG_SYMBOL",
        (pANTLR3_UINT8) "NONBLOCKING_SYMBOL",
        (pANTLR3_UINT8) "NOT2_SYMBOL",
        (pANTLR3_UINT8) "NOT_EQUAL2_OPERATOR",
        (pANTLR3_UINT8) "NOT_EQUAL_OPERATOR",
        (pANTLR3_UINT8) "NOT_SYMBOL",
        (pANTLR3_UINT8) "NOW_SYMBOL",
        (pANTLR3_UINT8) "NO_WRITE_TO_BINLOG_SYMBOL",
        (pANTLR3_UINT8) "NULL2_SYMBOL",
        (pANTLR3_UINT8) "NULL_SAFE_EQUAL_OPERATOR",
        (pANTLR3_UINT8) "NULL_SYMBOL",
        (pANTLR3_UINT8) "NUMERIC_SYMBOL",
        (pANTLR3_UINT8) "OFFLINE_SYMBOL",
        (pANTLR3_UINT8) "ONLINE_SYMBOL",
        (pANTLR3_UINT8) "ONLY_SYMBOL",
        (pANTLR3_UINT8) "ON_SYMBOL",
        (pANTLR3_UINT8) "OPEN_CURLY_SYMBOL",
        (pANTLR3_UINT8) "OPEN_PAR_SYMBOL",
        (pANTLR3_UINT8) "OPTIMIZER_COSTS_SYMBOL",
        (pANTLR3_UINT8) "OPTIMIZE_SYMBOL",
        (pANTLR3_UINT8) "OPTIONALLY_SYMBOL",
        (pANTLR3_UINT8) "OPTION_SYMBOL",
        (pANTLR3_UINT8) "ORDER_SYMBOL",
        (pANTLR3_UINT8) "OR_SYMBOL",
        (pANTLR3_UINT8) "OUTER_SYMBOL",
        (pANTLR3_UINT8) "OUTFILE_SYMBOL",
        (pANTLR3_UINT8) "OUT_SYMBOL",
        (pANTLR3_UINT8) "PARAM_MARKER",
        (pANTLR3_UINT8) "PARAM_MARKER_SYMBOL",
        (pANTLR3_UINT8) "PAR_EXPRESSION_TOKEN",
        (pANTLR3_UINT8) "PLUS_OPERATOR",
        (pANTLR3_UINT8) "POSITION_SYMBOL",
        (pANTLR3_UINT8) "POUND_COMMENT",
        (pANTLR3_UINT8) "PRECISION_SYMBOL",
        (pANTLR3_UINT8) "PRIMARY_SYMBOL",
        (pANTLR3_UINT8) "PRIVILEGE_TARGET_TOKEN",
        (pANTLR3_UINT8) "PROCEDURE_NAME_TOKEN",
        (pANTLR3_UINT8) "PROCEDURE_REF_TOKEN",
        (pANTLR3_UINT8) "PROCEDURE_SYMBOL",
        (pANTLR3_UINT8) "PURGE_SYMBOL",
        (pANTLR3_UINT8) "RANGE_SYMBOL",
        (pANTLR3_UINT8) "READS_SYMBOL",
        (pANTLR3_UINT8) "READ_SYMBOL",
        (pANTLR3_UINT8) "READ_WRITE_SYMBOL",
        (pANTLR3_UINT8) "REAL_SYMBOL",
        (pANTLR3_UINT8) "REFERENCES_SYMBOL",
        (pANTLR3_UINT8) "REGEXP_SYMBOL",
        (pANTLR3_UINT8) "RELEASE_SYMBOL",
        (pANTLR3_UINT8) "RENAME_SYMBOL",
        (pANTLR3_UINT8) "REPEAT_SYMBOL",
        (pANTLR3_UINT8) "REPLACE_SYMBOL",
        (pANTLR3_UINT8) "REQUIRE_SYMBOL",
        (pANTLR3_UINT8) "RESIGNAL_SYMBOL",
        (pANTLR3_UINT8) "RESTRICT_SYMBOL",
        (pANTLR3_UINT8) "RETURN_SYMBOL",
        (pANTLR3_UINT8) "REVOKE_SYMBOL",
        (pANTLR3_UINT8) "RIGHT_SYMBOL",
        (pANTLR3_UINT8) "RLIKE_SYMBOL",
        (pANTLR3_UINT8) "ROUTINE_ALTER_OPTIONS",
        (pANTLR3_UINT8) "ROUTINE_CREATE_OPTIONS",
        (pANTLR3_UINT8) "RUNTIME_FUNCTION_TOKEN",
        (pANTLR3_UINT8) "SCHEMAS_SYMBOL",
        (pANTLR3_UINT8) "SCHEMA_NAME_TOKEN",
        (pANTLR3_UINT8) "SCHEMA_REF_TOKEN",
        (pANTLR3_UINT8) "SCHEMA_SYMBOL",
        (pANTLR3_UINT8) "SECOND_MICROSECOND_SYMBOL",
        (pANTLR3_UINT8) "SELECT_EXPR_TOKEN",
        (pANTLR3_UINT8) "SELECT_SYMBOL",
        (pANTLR3_UINT8) "SEMICOLON_SYMBOL",
        (pANTLR3_UINT8) "SENSITIVE_SYMBOL",
        (pANTLR3_UINT8) "SEPARATOR_SYMBOL",
        (pANTLR3_UINT8) "SERVER_OPTIONS_SYMBOL",
        (pANTLR3_UINT8) "SESSION_USER_SYMBOL",
        (pANTLR3_UINT8) "SET_SYMBOL",
        (pANTLR3_UINT8) "SET_VAR_SYMBOL",
        (pANTLR3_UINT8) "SHIFT_LEFT_OPERATOR",
        (pANTLR3_UINT8) "SHIFT_RIGHT_OPERATOR",
        (pANTLR3_UINT8) "SHOW_SYMBOL",
        (pANTLR3_UINT8) "SIGNAL_SYMBOL",
        (pANTLR3_UINT8) "SIMPLE_IDENTIFIER",
        (pANTLR3_UINT8) "SINGLE_QUOTE",
        (pANTLR3_UINT8) "SINGLE_QUOTED_TEXT",
        (pANTLR3_UINT8) "SLAVE_THREAD_OPTIONS_TOKEN",
        (pANTLR3_UINT8) "SMALLINT_SYMBOL",
        (pANTLR3_UINT8) "SPATIAL_SYMBOL",
        (pANTLR3_UINT8) "SPECIFIC_SYMBOL",
        (pANTLR3_UINT8) "SQLEXCEPTION_SYMBOL",
        (pANTLR3_UINT8) "SQLSTATE_SYMBOL",
        (pANTLR3_UINT8) "SQLWARNING_SYMBOL",
        (pANTLR3_UINT8) "SQL_BIG_RESULT_SYMBOL",
        (pANTLR3_UINT8) "SQL_CALC_FOUND_ROWS_SYMBOL",
        (pANTLR3_UINT8) "SQL_SMALL_RESULT_SYMBOL",
        (pANTLR3_UINT8) "SQL_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_DAY_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_FRAC_SECOND_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_HOUR_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_MINUTE_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_MONTH_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_QUARTER_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_SECOND_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_WEEK_SYMBOL",
        (pANTLR3_UINT8) "SQL_TSI_YEAR_SYMBOL",
        (pANTLR3_UINT8) "SSL_SYMBOL",
        (pANTLR3_UINT8) "STARTING_SYMBOL",
        (pANTLR3_UINT8) "STDDEV_POP_SYMBOL",
        (pANTLR3_UINT8) "STDDEV_SAMP_SYMBOL",
        (pANTLR3_UINT8) "STDDEV_SYMBOL",
        (pANTLR3_UINT8) "STD_SYMBOL",
        (pANTLR3_UINT8) "STRAIGHT_JOIN_SYMBOL",
        (pANTLR3_UINT8) "STRING_NO_LINEBREAK_TOKEN",
        (pANTLR3_UINT8) "STRING_TOKEN",
        (pANTLR3_UINT8) "SUBQUERY_TOKEN",
        (pANTLR3_UINT8) "SUBSTRING_SYMBOL",
        (pANTLR3_UINT8) "SUBSTR_SYMBOL",
        (pANTLR3_UINT8) "SUM_SYMBOL",
        (pANTLR3_UINT8) "SYSDATE_SYMBOL",
        (pANTLR3_UINT8) "SYSTEM_USER_SYMBOL",
        (pANTLR3_UINT8) "TABLESPACE_NAME_TOKEN",
        (pANTLR3_UINT8) "TABLESPACE_REF_TOKEN",
        (pANTLR3_UINT8) "TABLE_NAME_TOKEN",
        (pANTLR3_UINT8) "TABLE_REF_PRIORITY_SYMBOL",
        (pANTLR3_UINT8) "TABLE_REF_TOKEN",
        (pANTLR3_UINT8) "TABLE_SYMBOL",
        (pANTLR3_UINT8) "TERMINATED_SYMBOL",
        (pANTLR3_UINT8) "THEN_SYMBOL",
        (pANTLR3_UINT8) "TINYBLOB_SYMBOL",
        (pANTLR3_UINT8) "TINYINT_SYMBOL",
        (pANTLR3_UINT8) "TINYTEXT_SYMBOL",
        (pANTLR3_UINT8) "TO_SYMBOL",
        (pANTLR3_UINT8) "TRAILING_SYMBOL",
        (pANTLR3_UINT8) "TRIGGER_NAME_TOKEN",
        (pANTLR3_UINT8) "TRIGGER_REF_TOKEN",
        (pANTLR3_UINT8) "TRIGGER_SYMBOL",
        (pANTLR3_UINT8) "TRIM_SYMBOL",
        (pANTLR3_UINT8) "TRUE_SYMBOL",
        (pANTLR3_UINT8) "UDF_CALL_TOKEN",
        (pANTLR3_UINT8) "UDF_NAME_TOKEN",
        (pANTLR3_UINT8) "UDF_REF_TOKEN",
        (pANTLR3_UINT8) "ULONGLONG_NUM_SYMBOL",
        (pANTLR3_UINT8) "UNDERLINE_SYMBOL",
        (pANTLR3_UINT8) "UNDERSCORE_CHARSET",
        (pANTLR3_UINT8) "UNDO_SYMBOL",
        (pANTLR3_UINT8) "UNION_SYMBOL",
        (pANTLR3_UINT8) "UNIQUE_SYMBOL",
        (pANTLR3_UINT8) "UNLOCK_SYMBOL",
        (pANTLR3_UINT8) "UNSIGNED_SYMBOL",
        (pANTLR3_UINT8) "UPDATE_SYMBOL",
        (pANTLR3_UINT8) "USAGE_SYMBOL",
        (pANTLR3_UINT8) "USE_SYMBOL",
        (pANTLR3_UINT8) "USING_SYMBOL",
        (pANTLR3_UINT8) "UTC_DATE_SYMBOL",
        (pANTLR3_UINT8) "UTC_TIMESTAMP_SYMBOL",
        (pANTLR3_UINT8) "UTC_TIME_SYMBOL",
        (pANTLR3_UINT8) "VALIDATION_SYMBOL",
        (pANTLR3_UINT8) "VALUES_SYMBOL",
        (pANTLR3_UINT8) "VARBINARY_SYMBOL",
        (pANTLR3_UINT8) "VARCHARACTER_SYMBOL",
        (pANTLR3_UINT8) "VARCHAR_SYMBOL",
        (pANTLR3_UINT8) "VARIANCE_SYMBOL",
        (pANTLR3_UINT8) "VARYING_SYMBOL",
        (pANTLR3_UINT8) "VAR_POP_SYMBOL",
        (pANTLR3_UINT8) "VAR_SAMP_SYMBOL",
        (pANTLR3_UINT8) "VERSION_COMMENT",
        (pANTLR3_UINT8) "VERSION_COMMENT_END",
        (pANTLR3_UINT8) "VERSION_COMMENT_INTRODUCER",
        (pANTLR3_UINT8) "VERSION_COMMENT_START_TOKEN",
        (pANTLR3_UINT8) "VERSION_COMMENT_TAIL",
        (pANTLR3_UINT8) "VIEW_NAME_TOKEN",
        (pANTLR3_UINT8) "VIEW_REF_TOKEN",
        (pANTLR3_UINT8) "WHEN_SYMBOL",
        (pANTLR3_UINT8) "WHERE_SYMBOL",
        (pANTLR3_UINT8) "WHILE_SYMBOL",
        (pANTLR3_UINT8) "WHITESPACE",
        (pANTLR3_UINT8) "WITHOUT_SYMBOL",
        (pANTLR3_UINT8) "WITH_CUBE_SYMBOL",
        (pANTLR3_UINT8) "WITH_ROLLUP_SYMBOL",
        (pANTLR3_UINT8) "WITH_SYMBOL",
        (pANTLR3_UINT8) "WRITE_SYMBOL",
        (pANTLR3_UINT8) "XA_ID_TOKEN",
        (pANTLR3_UINT8) "XOR_SYMBOL",
        (pANTLR3_UINT8) "YEAR_MONTH_SYMBOL",
        (pANTLR3_UINT8) "ZEROFILL_SYMBOL"
       };



// Forward declare the locally static matching functions we have generated.
//
static 
 MySQLParser_query_return
	query    (pMySQLParser ctx);
static 
 MySQLParser_statement_return
	statement    (pMySQLParser ctx);
static 
 MySQLParser_alter_statement_return
	alter_statement    (pMySQLParser ctx);
static 
 MySQLParser_alter_database_return
	alter_database    (pMySQLParser ctx);
static 
 MySQLParser_alter_event_return
	alter_event    (pMySQLParser ctx);
static 
 MySQLParser_alter_log_file_group_return
	alter_log_file_group    (pMySQLParser ctx);
static 
 MySQLParser_alter_server_return
	alter_server    (pMySQLParser ctx);
static 
 MySQLParser_alter_table_return
	alter_table    (pMySQLParser ctx);
static 
 MySQLParser_alter_table_commands_return
	alter_table_commands    (pMySQLParser ctx);
static 
 MySQLParser_alter_table_list_item_return
	alter_table_list_item    (pMySQLParser ctx);
static 
 MySQLParser_alter_table_list_entry_return
	alter_table_list_entry    (pMySQLParser ctx);
static 
 MySQLParser_alter_order_by_return
	alter_order_by    (pMySQLParser ctx);
static 
 MySQLParser_alter_algorithm_option_return
	alter_algorithm_option    (pMySQLParser ctx);
static 
 MySQLParser_alter_lock_option_return
	alter_lock_option    (pMySQLParser ctx);
static 
 MySQLParser_index_lock_algorithm_return
	index_lock_algorithm    (pMySQLParser ctx);
static 
 MySQLParser_alter_partition_return
	alter_partition    (pMySQLParser ctx);
static 
 MySQLParser_validation_return
	validation    (pMySQLParser ctx);
static 
 MySQLParser_remove_partitioning_return
	remove_partitioning    (pMySQLParser ctx);
static 
 MySQLParser_all_or_partition_name_list_return
	all_or_partition_name_list    (pMySQLParser ctx);
static 
 MySQLParser_alter_tablespace_return
	alter_tablespace    (pMySQLParser ctx);
static 
 MySQLParser_alter_tablespace_option_return
	alter_tablespace_option    (pMySQLParser ctx);
static 
 MySQLParser_change_tablespace_option_return
	change_tablespace_option    (pMySQLParser ctx);
static 
 MySQLParser_alter_view_return
	alter_view    (pMySQLParser ctx);
static 
 MySQLParser_create_statement_return
	create_statement    (pMySQLParser ctx);
static 
 MySQLParser_create_database_return
	create_database    (pMySQLParser ctx);
static 
 MySQLParser_create_database_tail_return
	create_database_tail    (pMySQLParser ctx);
static 
 MySQLParser_create_with_definer_return
	create_with_definer    (pMySQLParser ctx);
static 
 MySQLParser_create_event_return
	create_event    (pMySQLParser ctx);
static 
 MySQLParser_create_event_tail_return
	create_event_tail    (pMySQLParser ctx);
static 
 MySQLParser_create_routine_return
	create_routine    (pMySQLParser ctx);
static 
 MySQLParser_create_procedure_return
	create_procedure    (pMySQLParser ctx);
static 
 MySQLParser_create_function_return
	create_function    (pMySQLParser ctx);
static 
 MySQLParser_create_routine_or_udf_return
	create_routine_or_udf    (pMySQLParser ctx);
static 
 MySQLParser_procedure_body_return
	procedure_body    (pMySQLParser ctx);
static 
 MySQLParser_function_body_return
	function_body    (pMySQLParser ctx);
static 
 MySQLParser_udf_tail_return
	udf_tail    (pMySQLParser ctx);
static 
 MySQLParser_routine_create_options_return
	routine_create_options    (pMySQLParser ctx);
static 
 MySQLParser_routine_create_option_return
	routine_create_option    (pMySQLParser ctx);
static 
 MySQLParser_routine_alter_options_return
	routine_alter_options    (pMySQLParser ctx);
static 
 MySQLParser_routine_option_return
	routine_option    (pMySQLParser ctx);
static 
 MySQLParser_create_index_return
	create_index    (pMySQLParser ctx);
static 
 MySQLParser_create_index_tail_return
	create_index_tail    (pMySQLParser ctx);
static 
 MySQLParser_create_index_target_return
	create_index_target    (pMySQLParser ctx);
static 
 MySQLParser_create_logfile_group_return
	create_logfile_group    (pMySQLParser ctx);
static 
 MySQLParser_create_logfile_group_tail_return
	create_logfile_group_tail    (pMySQLParser ctx);
static 
 MySQLParser_logfile_group_options_return
	logfile_group_options    (pMySQLParser ctx);
static 
 MySQLParser_logfile_group_option_return
	logfile_group_option    (pMySQLParser ctx);
static 
 MySQLParser_create_server_return
	create_server    (pMySQLParser ctx);
static 
 MySQLParser_create_server_tail_return
	create_server_tail    (pMySQLParser ctx);
static 
 MySQLParser_server_options_return
	server_options    (pMySQLParser ctx);
static 
 MySQLParser_server_option_return
	server_option    (pMySQLParser ctx);
static 
 MySQLParser_create_table_return
	create_table    (pMySQLParser ctx);
static 
 MySQLParser_create_table_tail_return
	create_table_tail    (pMySQLParser ctx);
static 
 MySQLParser_create_field_list_return
	create_field_list    (pMySQLParser ctx);
static 
 MySQLParser_create_item_return
	create_item    (pMySQLParser ctx);
static 
 MySQLParser_create_field_list_item_return
	create_field_list_item    (pMySQLParser ctx);
static 
 MySQLParser_table_creation_source_return
	table_creation_source    (pMySQLParser ctx);
static 
 MySQLParser_create_select_return
	create_select    (pMySQLParser ctx);
static 
 MySQLParser_create_tablespace_return
	create_tablespace    (pMySQLParser ctx);
static 
 MySQLParser_create_tablespace_tail_return
	create_tablespace_tail    (pMySQLParser ctx);
static 
 MySQLParser_create_tablespace_option_return
	create_tablespace_option    (pMySQLParser ctx);
static 
 MySQLParser_create_trigger_return
	create_trigger    (pMySQLParser ctx);
static 
 MySQLParser_create_trigger_tail_return
	create_trigger_tail    (pMySQLParser ctx);
static 
 MySQLParser_trigger_follows_precedes_clause_return
	trigger_follows_precedes_clause    (pMySQLParser ctx);
static 
 MySQLParser_create_view_return
	create_view    (pMySQLParser ctx);
static 
 MySQLParser_create_view_tail_return
	create_view_tail    (pMySQLParser ctx);
static 
 MySQLParser_view_replace_or_algorithm_return
	view_replace_or_algorithm    (pMySQLParser ctx);
static 
 MySQLParser_view_algorithm_return
	view_algorithm    (pMySQLParser ctx);
static 
 MySQLParser_drop_statement_return
	drop_statement    (pMySQLParser ctx);
static 
 MySQLParser_drop_logfile_group_option_return
	drop_logfile_group_option    (pMySQLParser ctx);
static 
 MySQLParser_rename_table_statement_return
	rename_table_statement    (pMySQLParser ctx);
static 
 MySQLParser_truncate_table_statement_return
	truncate_table_statement    (pMySQLParser ctx);
static 
 MySQLParser_call_statement_return
	call_statement    (pMySQLParser ctx);
static 
 MySQLParser_delete_statement_return
	delete_statement    (pMySQLParser ctx);
static 
 MySQLParser_partition_delete_return
	partition_delete    (pMySQLParser ctx);
static 
 MySQLParser_delete_option_return
	delete_option    (pMySQLParser ctx);
static 
 MySQLParser_table_ref_list_return
	table_ref_list    (pMySQLParser ctx);
static 
 MySQLParser_do_statement_return
	do_statement    (pMySQLParser ctx);
static 
 MySQLParser_handler_statement_return
	handler_statement    (pMySQLParser ctx);
static 
 MySQLParser_handler_read_or_scan_return
	handler_read_or_scan    (pMySQLParser ctx);
static 
 MySQLParser_insert_statement_return
	insert_statement    (pMySQLParser ctx);
static 
 MySQLParser_insert_lock_option_return
	insert_lock_option    (pMySQLParser ctx);
static 
 MySQLParser_insert_field_spec_return
	insert_field_spec    (pMySQLParser ctx);
static 
 MySQLParser_fields_return
	fields    (pMySQLParser ctx);
static 
 MySQLParser_insert_identifier_return
	insert_identifier    (pMySQLParser ctx);
static 
 MySQLParser_insert_values_return
	insert_values    (pMySQLParser ctx);
static 
 MySQLParser_insert_value_list_return
	insert_value_list    (pMySQLParser ctx);
static 
 MySQLParser_values_return
	values    (pMySQLParser ctx);
static 
 MySQLParser_duplicate_key_update_return
	duplicate_key_update    (pMySQLParser ctx);
static 
 MySQLParser_load_statement_return
	load_statement    (pMySQLParser ctx);
static 
 MySQLParser_data_or_xml_return
	data_or_xml    (pMySQLParser ctx);
static 
 MySQLParser_xml_rows_identified_by_return
	xml_rows_identified_by    (pMySQLParser ctx);
static 
 MySQLParser_load_data_file_tail_return
	load_data_file_tail    (pMySQLParser ctx);
static 
 MySQLParser_load_data_file_target_list_return
	load_data_file_target_list    (pMySQLParser ctx);
static 
 MySQLParser_field_or_variable_list_return
	field_or_variable_list    (pMySQLParser ctx);
static 
 MySQLParser_replace_statement_return
	replace_statement    (pMySQLParser ctx);
static 
 MySQLParser_select_statement_return
	select_statement    (pMySQLParser ctx);
static 
 MySQLParser_select_paren_return
	select_paren    (pMySQLParser ctx);
static 
 MySQLParser_select_from_return
	select_from    (pMySQLParser ctx);
static 
 MySQLParser_select_part2_return
	select_part2    (pMySQLParser ctx);
static 
 MySQLParser_table_expression_return
	table_expression    (pMySQLParser ctx);
static 
 MySQLParser_subquery_return
	subquery    (pMySQLParser ctx);
static 
 MySQLParser_query_expression_body_return
	query_expression_body    (pMySQLParser ctx);
static 
 MySQLParser_select_part2_derived_return
	select_part2_derived    (pMySQLParser ctx);
static 
 MySQLParser_select_option_return
	select_option    (pMySQLParser ctx);
static 
 MySQLParser_query_spec_option_return
	query_spec_option    (pMySQLParser ctx);
static 
 MySQLParser_select_item_list_return
	select_item_list    (pMySQLParser ctx);
static 
 MySQLParser_select_item_return
	select_item    (pMySQLParser ctx);
static 
 MySQLParser_select_alias_return
	select_alias    (pMySQLParser ctx);
static 
 MySQLParser_limit_clause_return
	limit_clause    (pMySQLParser ctx);
static 
 MySQLParser_limit_options_return
	limit_options    (pMySQLParser ctx);
static 
 MySQLParser_limit_option_return
	limit_option    (pMySQLParser ctx);
static 
 MySQLParser_into_clause_return
	into_clause    (pMySQLParser ctx);
static 
 MySQLParser_procedure_analyse_clause_return
	procedure_analyse_clause    (pMySQLParser ctx);
static 
 MySQLParser_having_clause_return
	having_clause    (pMySQLParser ctx);
static 
 MySQLParser_group_by_clause_return
	group_by_clause    (pMySQLParser ctx);
static 
 MySQLParser_olap_option_return
	olap_option    (pMySQLParser ctx);
static 
 MySQLParser_order_by_clause_return
	order_by_clause    (pMySQLParser ctx);
static 
 MySQLParser_order_by_or_limit_return
	order_by_or_limit    (pMySQLParser ctx);
static 
 MySQLParser_direction_return
	direction    (pMySQLParser ctx);
static 
 MySQLParser_from_clause_return
	from_clause    (pMySQLParser ctx);
static 
 MySQLParser_where_clause_return
	where_clause    (pMySQLParser ctx);
static 
 MySQLParser_table_reference_list_return
	table_reference_list    (pMySQLParser ctx);
static 
 MySQLParser_join_table_list_return
	join_table_list    (pMySQLParser ctx);
static 
 MySQLParser_escaped_table_reference_return
	escaped_table_reference    (pMySQLParser ctx);
static 
 MySQLParser_table_reference_return
	table_reference    (pMySQLParser ctx);
static 
 MySQLParser_join_return
	join    (pMySQLParser ctx);
static 
 MySQLParser_table_factor_return
	table_factor    (pMySQLParser ctx);
static 
 MySQLParser_select_table_factor_union_return
	select_table_factor_union    (pMySQLParser ctx);
static 
 MySQLParser_query_specification_return
	query_specification    (pMySQLParser ctx);
static 
 MySQLParser_join_table_return
	join_table    (pMySQLParser ctx);
static 
 MySQLParser_join_condition_return
	join_condition    (pMySQLParser ctx);
static 
 MySQLParser_union_clause_return
	union_clause    (pMySQLParser ctx);
static 
 MySQLParser_union_option_return
	union_option    (pMySQLParser ctx);
static 
 MySQLParser_union_or_order_by_or_limit_return
	union_or_order_by_or_limit    (pMySQLParser ctx);
static 
 MySQLParser_select_lock_type_return
	select_lock_type    (pMySQLParser ctx);
static 
 MySQLParser_table_alias_return
	table_alias    (pMySQLParser ctx);
static 
 MySQLParser_index_hint_list_return
	index_hint_list    (pMySQLParser ctx);
static 
 MySQLParser_index_hint_return
	index_hint    (pMySQLParser ctx);
static 
 MySQLParser_index_hint_type_return
	index_hint_type    (pMySQLParser ctx);
static 
 MySQLParser_key_or_index_return
	key_or_index    (pMySQLParser ctx);
static 
 MySQLParser_index_hint_clause_return
	index_hint_clause    (pMySQLParser ctx);
static 
 MySQLParser_index_list_return
	index_list    (pMySQLParser ctx);
static 
 MySQLParser_index_list_element_return
	index_list_element    (pMySQLParser ctx);
static 
 MySQLParser_update_statement_return
	update_statement    (pMySQLParser ctx);
static 
 MySQLParser_transaction_or_locking_statement_return
	transaction_or_locking_statement    (pMySQLParser ctx);
static 
 MySQLParser_transaction_statement_return
	transaction_statement    (pMySQLParser ctx);
static 
 MySQLParser_transaction_characteristic_return
	transaction_characteristic    (pMySQLParser ctx);
static 
 MySQLParser_set_transaction_characteristic_return
	set_transaction_characteristic    (pMySQLParser ctx);
static 
 MySQLParser_isolation_level_return
	isolation_level    (pMySQLParser ctx);
static 
 MySQLParser_savepoint_statement_return
	savepoint_statement    (pMySQLParser ctx);
static 
 MySQLParser_lock_statement_return
	lock_statement    (pMySQLParser ctx);
static 
 MySQLParser_lock_item_return
	lock_item    (pMySQLParser ctx);
static 
 MySQLParser_lock_option_return
	lock_option    (pMySQLParser ctx);
static 
 MySQLParser_xa_statement_return
	xa_statement    (pMySQLParser ctx);
static 
 MySQLParser_xa_convert_return
	xa_convert    (pMySQLParser ctx);
static 
 MySQLParser_xid_return
	xid    (pMySQLParser ctx);
static 
 MySQLParser_replication_statement_return
	replication_statement    (pMySQLParser ctx);
static 
 MySQLParser_replication_load_return
	replication_load    (pMySQLParser ctx);
static 
 MySQLParser_change_master_return
	change_master    (pMySQLParser ctx);
static 
 MySQLParser_change_master_options_return
	change_master_options    (pMySQLParser ctx);
static 
 MySQLParser_master_option_return
	master_option    (pMySQLParser ctx);
static 
 MySQLParser_server_id_list_return
	server_id_list    (pMySQLParser ctx);
static 
 MySQLParser_change_replication_return
	change_replication    (pMySQLParser ctx);
static 
 MySQLParser_filter_definition_return
	filter_definition    (pMySQLParser ctx);
static 
 MySQLParser_filter_db_list_return
	filter_db_list    (pMySQLParser ctx);
static 
 MySQLParser_filter_table_list_return
	filter_table_list    (pMySQLParser ctx);
static 
 MySQLParser_filter_string_list_return
	filter_string_list    (pMySQLParser ctx);
static 
 MySQLParser_filter_wild_db_table_string_return
	filter_wild_db_table_string    (pMySQLParser ctx);
static 
 MySQLParser_filter_db_pair_list_return
	filter_db_pair_list    (pMySQLParser ctx);
static 
 MySQLParser_start_slave_return
	start_slave    (pMySQLParser ctx);
static 
 MySQLParser_slave_until_options_return
	slave_until_options    (pMySQLParser ctx);
static 
 MySQLParser_master_file_def_return
	master_file_def    (pMySQLParser ctx);
static 
 MySQLParser_slave_connection_options_return
	slave_connection_options    (pMySQLParser ctx);
static 
 MySQLParser_stop_slave_return
	stop_slave    (pMySQLParser ctx);
static 
 MySQLParser_slave_thread_options_return
	slave_thread_options    (pMySQLParser ctx);
static 
 MySQLParser_slave_thread_option_return
	slave_thread_option    (pMySQLParser ctx);
static 
 MySQLParser_gtid_set_return
	gtid_set    (pMySQLParser ctx);
static 
 MySQLParser_prepared_statement_return
	prepared_statement    (pMySQLParser ctx);
static 
 MySQLParser_execute_statement_return
	execute_statement    (pMySQLParser ctx);
static 
 MySQLParser_execute_var_list_return
	execute_var_list    (pMySQLParser ctx);
static 
 MySQLParser_account_management_statement_return
	account_management_statement    (pMySQLParser ctx);
static 
 MySQLParser_alter_user_list_return
	alter_user_list    (pMySQLParser ctx);
static 
 MySQLParser_alter_user_return
	alter_user    (pMySQLParser ctx);
static 
 MySQLParser_alter_user_expire_interval_return
	alter_user_expire_interval    (pMySQLParser ctx);
static 
 MySQLParser_create_user_return
	create_user    (pMySQLParser ctx);
static 
 MySQLParser_drop_user_return
	drop_user    (pMySQLParser ctx);
static 
 MySQLParser_parse_grant_return
	parse_grant    (pMySQLParser ctx);
static 
 MySQLParser_grant_return
	grant    (pMySQLParser ctx);
static 
 MySQLParser_grant_proxy_return
	grant_proxy    (pMySQLParser ctx);
static 
 MySQLParser_rename_user_return
	rename_user    (pMySQLParser ctx);
static 
 MySQLParser_revoke_statement_return
	revoke_statement    (pMySQLParser ctx);
static 
 MySQLParser_privilege_target_return
	privilege_target    (pMySQLParser ctx);
static 
 MySQLParser_set_password_return
	set_password    (pMySQLParser ctx);
static 
 MySQLParser_grant_object_type_return
	grant_object_type    (pMySQLParser ctx);
static 
 MySQLParser_grant_privileges_return
	grant_privileges    (pMySQLParser ctx);
static 
 MySQLParser_privilege_type_return
	privilege_type    (pMySQLParser ctx);
static 
 MySQLParser_privilege_level_return
	privilege_level    (pMySQLParser ctx);
static 
 MySQLParser_require_list_return
	require_list    (pMySQLParser ctx);
static 
 MySQLParser_grant_option_return
	grant_option    (pMySQLParser ctx);
static 
 MySQLParser_table_administration_statement_return
	table_administration_statement    (pMySQLParser ctx);
static 
 MySQLParser_check_option_return
	check_option    (pMySQLParser ctx);
static 
 MySQLParser_repair_option_return
	repair_option    (pMySQLParser ctx);
static 
 MySQLParser_install_uninstall_statment_return
	install_uninstall_statment    (pMySQLParser ctx);
static 
 MySQLParser_set_statement_return
	set_statement    (pMySQLParser ctx);
static 
 MySQLParser_option_value_no_option_type_return
	option_value_no_option_type    (pMySQLParser ctx);
static 
 MySQLParser_option_value_following_option_type_return
	option_value_following_option_type    (pMySQLParser ctx);
static 
 MySQLParser_set_expression_or_default_return
	set_expression_or_default    (pMySQLParser ctx);
static 
 MySQLParser_option_value_list_return
	option_value_list    (pMySQLParser ctx);
static 
 MySQLParser_option_value_return
	option_value    (pMySQLParser ctx);
static 
 MySQLParser_show_statement_return
	show_statement    (pMySQLParser ctx);
static 
 MySQLParser_non_blocking_return
	non_blocking    (pMySQLParser ctx);
static 
 MySQLParser_from_or_in_return
	from_or_in    (pMySQLParser ctx);
static 
 MySQLParser_in_db_return
	in_db    (pMySQLParser ctx);
static 
 MySQLParser_profile_type_return
	profile_type    (pMySQLParser ctx);
static 
 MySQLParser_miscellaneous_statement_return
	miscellaneous_statement    (pMySQLParser ctx);
static 
 MySQLParser_key_cache_list_or_parts_return
	key_cache_list_or_parts    (pMySQLParser ctx);
static 
 MySQLParser_key_cache_list_return
	key_cache_list    (pMySQLParser ctx);
static 
 MySQLParser_assign_to_keycache_return
	assign_to_keycache    (pMySQLParser ctx);
static 
 MySQLParser_assign_to_keycache_partition_return
	assign_to_keycache_partition    (pMySQLParser ctx);
static 
 MySQLParser_cache_keys_spec_return
	cache_keys_spec    (pMySQLParser ctx);
static 
 MySQLParser_key_usage_element_return
	key_usage_element    (pMySQLParser ctx);
static 
 MySQLParser_flush_option_return
	flush_option    (pMySQLParser ctx);
static 
 MySQLParser_log_type_return
	log_type    (pMySQLParser ctx);
static 
 MySQLParser_flush_tables_return
	flush_tables    (pMySQLParser ctx);
static 
 MySQLParser_flush_tables_options_return
	flush_tables_options    (pMySQLParser ctx);
static 
 MySQLParser_load_table_index_list_return
	load_table_index_list    (pMySQLParser ctx);
static 
 MySQLParser_load_table_index_partion_return
	load_table_index_partion    (pMySQLParser ctx);
static 
 MySQLParser_reset_option_return
	reset_option    (pMySQLParser ctx);
static 
 MySQLParser_utility_statement_return
	utility_statement    (pMySQLParser ctx);
static 
 MySQLParser_describe_command_return
	describe_command    (pMySQLParser ctx);
static 
 MySQLParser_explainable_statement_return
	explainable_statement    (pMySQLParser ctx);
static 
 MySQLParser_expression_return
	expression    (pMySQLParser ctx);
static 
 MySQLParser_logical_or_expression_return
	logical_or_expression    (pMySQLParser ctx);
static 
 MySQLParser_logical_xor_expression_return
	logical_xor_expression    (pMySQLParser ctx);
static 
 MySQLParser_logical_and_expression_return
	logical_and_expression    (pMySQLParser ctx);
static 
 MySQLParser_logical_not_expression_return
	logical_not_expression    (pMySQLParser ctx);
static 
 MySQLParser_boolean_primary_expression_return
	boolean_primary_expression    (pMySQLParser ctx);
static 
 MySQLParser_predicate_return
	predicate    (pMySQLParser ctx);
static 
 MySQLParser_predicate_in_return
	predicate_in    (pMySQLParser ctx);
static 
 MySQLParser_bitwise_or_expression_return
	bitwise_or_expression    (pMySQLParser ctx);
static 
 MySQLParser_bitwise_and_expression_return
	bitwise_and_expression    (pMySQLParser ctx);
static 
 MySQLParser_shift_expression_return
	shift_expression    (pMySQLParser ctx);
static 
 MySQLParser_additive_expression_return
	additive_expression    (pMySQLParser ctx);
static 
 MySQLParser_multiplicative_expression_return
	multiplicative_expression    (pMySQLParser ctx);
static 
 MySQLParser_bitwise_xor_expression_return
	bitwise_xor_expression    (pMySQLParser ctx);
static 
 MySQLParser_concat_expression_return
	concat_expression    (pMySQLParser ctx);
static 
 MySQLParser_unary_expression_return
	unary_expression    (pMySQLParser ctx);
static 
 MySQLParser_not_expression_return
	not_expression    (pMySQLParser ctx);
static 
 MySQLParser_interval_expression_return
	interval_expression    (pMySQLParser ctx);
static 
 MySQLParser_interval_function_return
	interval_function    (pMySQLParser ctx);
static 
 MySQLParser_interval_time_span_return
	interval_time_span    (pMySQLParser ctx);
static 
 MySQLParser_primary_return
	primary    (pMySQLParser ctx);
static 
 MySQLParser_expression_with_nested_parentheses_return
	expression_with_nested_parentheses    (pMySQLParser ctx);
static 
 MySQLParser_comparison_operator_return
	comparison_operator    (pMySQLParser ctx);
static 
 MySQLParser_multiplication_operator_return
	multiplication_operator    (pMySQLParser ctx);
static 
 MySQLParser_runtime_function_call_return
	runtime_function_call    (pMySQLParser ctx);
static 
 MySQLParser_runtime_function_call_expression_return
	runtime_function_call_expression    (pMySQLParser ctx);
static 
 MySQLParser_time_function_parameters_return
	time_function_parameters    (pMySQLParser ctx);
static 
 MySQLParser_fractional_precision_return
	fractional_precision    (pMySQLParser ctx);
static 
 MySQLParser_weight_string_levels_return
	weight_string_levels    (pMySQLParser ctx);
static 
 MySQLParser_weight_string_level_list_item_return
	weight_string_level_list_item    (pMySQLParser ctx);
static 
 MySQLParser_date_time_type_return
	date_time_type    (pMySQLParser ctx);
static 
 MySQLParser_trim_function_return
	trim_function    (pMySQLParser ctx);
static 
 MySQLParser_substring_function_return
	substring_function    (pMySQLParser ctx);
static 
 MySQLParser_geometry_function_return
	geometry_function    (pMySQLParser ctx);
static 
 MySQLParser_aggregate_function_return
	aggregate_function    (pMySQLParser ctx);
static 
 MySQLParser_in_aggregate_expression_return
	in_aggregate_expression    (pMySQLParser ctx);
static 
 MySQLParser_count_function_return
	count_function    (pMySQLParser ctx);
static 
 MySQLParser_udf_call_return
	udf_call    (pMySQLParser ctx);
static 
 MySQLParser_udf_call_expression_return
	udf_call_expression    (pMySQLParser ctx);
static 
 MySQLParser_stored_function_call_return
	stored_function_call    (pMySQLParser ctx);
static 
 MySQLParser_stored_function_call_expression_return
	stored_function_call_expression    (pMySQLParser ctx);
static 
 MySQLParser_aliased_expression_list_return
	aliased_expression_list    (pMySQLParser ctx);
static 
 MySQLParser_aliased_expression_return
	aliased_expression    (pMySQLParser ctx);
static 
 MySQLParser_variable_return
	variable    (pMySQLParser ctx);
static 
 MySQLParser_user_variable_return
	user_variable    (pMySQLParser ctx);
static 
 MySQLParser_system_variable_return
	system_variable    (pMySQLParser ctx);
static 
 MySQLParser_variable_name_return
	variable_name    (pMySQLParser ctx);
static 
 MySQLParser_match_expression_return
	match_expression    (pMySQLParser ctx);
static 
 MySQLParser_case_expression_return
	case_expression    (pMySQLParser ctx);
static 
 MySQLParser_when_expression_return
	when_expression    (pMySQLParser ctx);
static 
 MySQLParser_then_expression_return
	then_expression    (pMySQLParser ctx);
static 
 MySQLParser_else_expression_return
	else_expression    (pMySQLParser ctx);
static 
 MySQLParser_cast_expression_return
	cast_expression    (pMySQLParser ctx);
static 
 MySQLParser_cast_type_return
	cast_type    (pMySQLParser ctx);
static 
 MySQLParser_encoding_return
	encoding    (pMySQLParser ctx);
static 
 MySQLParser_charset_return
	charset    (pMySQLParser ctx);
static 
 MySQLParser_not_rule_return
	not_rule    (pMySQLParser ctx);
static 
 MySQLParser_not2_rule_return
	not2_rule    (pMySQLParser ctx);
static 
 MySQLParser_or_rule_return
	or_rule    (pMySQLParser ctx);
static 
 MySQLParser_xor_rule_return
	xor_rule    (pMySQLParser ctx);
static 
 MySQLParser_and_rule_return
	and_rule    (pMySQLParser ctx);
static 
 MySQLParser_interval_return
	interval    (pMySQLParser ctx);
static 
 MySQLParser_interval_unit_return
	interval_unit    (pMySQLParser ctx);
static 
 MySQLParser_interval_timestamp_unit_return
	interval_timestamp_unit    (pMySQLParser ctx);
static 
 MySQLParser_expression_list_with_parentheses_return
	expression_list_with_parentheses    (pMySQLParser ctx);
static 
 MySQLParser_expression_list_return
	expression_list    (pMySQLParser ctx);
static 
 MySQLParser_expression_list_with_direction_return
	expression_list_with_direction    (pMySQLParser ctx);
static 
 MySQLParser_channel_return
	channel    (pMySQLParser ctx);
static 
 MySQLParser_compound_statement_return
	compound_statement    (pMySQLParser ctx);
static 
 MySQLParser_compound_statement_list_return
	compound_statement_list    (pMySQLParser ctx);
static 
 MySQLParser_label_return
	label    (pMySQLParser ctx);
static 
 MySQLParser_label_identifier_return
	label_identifier    (pMySQLParser ctx);
static 
 MySQLParser_begin_end_block_return
	begin_end_block    (pMySQLParser ctx);
static 
 MySQLParser_loop_block_return
	loop_block    (pMySQLParser ctx);
static 
 MySQLParser_repeat_until_block_return
	repeat_until_block    (pMySQLParser ctx);
static 
 MySQLParser_while_do_block_return
	while_do_block    (pMySQLParser ctx);
static 
 MySQLParser_declarations_return
	declarations    (pMySQLParser ctx);
static 
 MySQLParser_variable_declaration_return
	variable_declaration    (pMySQLParser ctx);
static 
 MySQLParser_condition_declaration_return
	condition_declaration    (pMySQLParser ctx);
static 
 MySQLParser_cursor_declaration_return
	cursor_declaration    (pMySQLParser ctx);
static 
 MySQLParser_handler_declaration_return
	handler_declaration    (pMySQLParser ctx);
static 
 MySQLParser_handler_condition_return
	handler_condition    (pMySQLParser ctx);
static 
 MySQLParser_case_statement_return
	case_statement    (pMySQLParser ctx);
static 
 MySQLParser_then_statement_return
	then_statement    (pMySQLParser ctx);
static 
 MySQLParser_else_statement_return
	else_statement    (pMySQLParser ctx);
static 
 MySQLParser_if_statement_return
	if_statement    (pMySQLParser ctx);
static 
 MySQLParser_if_body_return
	if_body    (pMySQLParser ctx);
static 
 MySQLParser_iterate_statement_return
	iterate_statement    (pMySQLParser ctx);
static 
 MySQLParser_leave_statement_return
	leave_statement    (pMySQLParser ctx);
static 
 MySQLParser_return_statement_return
	return_statement    (pMySQLParser ctx);
static 
 MySQLParser_get_diagnostics_return
	get_diagnostics    (pMySQLParser ctx);
static 
 MySQLParser_statement_information_item_return
	statement_information_item    (pMySQLParser ctx);
static 
 MySQLParser_condition_information_item_return
	condition_information_item    (pMySQLParser ctx);
static 
 MySQLParser_signal_information_item_name_return
	signal_information_item_name    (pMySQLParser ctx);
static 
 MySQLParser_signal_statement_return
	signal_statement    (pMySQLParser ctx);
static 
 MySQLParser_resignal_statement_return
	resignal_statement    (pMySQLParser ctx);
static 
 MySQLParser_signal_information_item_return
	signal_information_item    (pMySQLParser ctx);
static 
 MySQLParser_cursor_close_return
	cursor_close    (pMySQLParser ctx);
static 
 MySQLParser_cursor_fetch_return
	cursor_fetch    (pMySQLParser ctx);
static 
 MySQLParser_cursor_open_return
	cursor_open    (pMySQLParser ctx);
static 
 MySQLParser_schedule_return
	schedule    (pMySQLParser ctx);
static 
 MySQLParser_database_option_return
	database_option    (pMySQLParser ctx);
static 
 MySQLParser_column_definition_return
	column_definition    (pMySQLParser ctx);
static 
 MySQLParser_field_spec_return
	field_spec    (pMySQLParser ctx);
static 
 MySQLParser_attribute_return
	attribute    (pMySQLParser ctx);
static 
 MySQLParser_reference_definition_return
	reference_definition    (pMySQLParser ctx);
static 
 MySQLParser_index_columns_return
	index_columns    (pMySQLParser ctx);
static 
 MySQLParser_index_column_return
	index_column    (pMySQLParser ctx);
static 
 MySQLParser_index_type_return
	index_type    (pMySQLParser ctx);
static 
 MySQLParser_index_option_return
	index_option    (pMySQLParser ctx);
static 
 MySQLParser_fulltext_index_option_return
	fulltext_index_option    (pMySQLParser ctx);
static 
 MySQLParser_spatial_index_option_return
	spatial_index_option    (pMySQLParser ctx);
static 
 MySQLParser_reference_option_return
	reference_option    (pMySQLParser ctx);
static 
 MySQLParser_data_type_return
	data_type    (pMySQLParser ctx);
static 
 MySQLParser_data_type_definition_return
	data_type_definition    (pMySQLParser ctx);
static 
 MySQLParser_data_type_elements_return
	data_type_elements    (pMySQLParser ctx);
static 
 MySQLParser_field_length_return
	field_length    (pMySQLParser ctx);
static 
 MySQLParser_field_options_return
	field_options    (pMySQLParser ctx);
static 
 MySQLParser_string_binary_return
	string_binary    (pMySQLParser ctx);
static 
 MySQLParser_ascii_return
	ascii    (pMySQLParser ctx);
static 
 MySQLParser_unicode_return
	unicode    (pMySQLParser ctx);
static 
 MySQLParser_type_datetime_precision_return
	type_datetime_precision    (pMySQLParser ctx);
static 
 MySQLParser_charset_name_return
	charset_name    (pMySQLParser ctx);
static 
 MySQLParser_charset_name_or_default_return
	charset_name_or_default    (pMySQLParser ctx);
static 
 MySQLParser_collation_name_or_default_return
	collation_name_or_default    (pMySQLParser ctx);
static 
 MySQLParser_spatial_type_return
	spatial_type    (pMySQLParser ctx);
static 
 MySQLParser_alter_table_options_return
	alter_table_options    (pMySQLParser ctx);
static 
 MySQLParser_create_table_options_return
	create_table_options    (pMySQLParser ctx);
static 
 MySQLParser_create_table_option_return
	create_table_option    (pMySQLParser ctx);
static 
 MySQLParser_partitioning_return
	partitioning    (pMySQLParser ctx);
static 
 MySQLParser_partition_key_algorithm_return
	partition_key_algorithm    (pMySQLParser ctx);
static 
 MySQLParser_partition_definitions_return
	partition_definitions    (pMySQLParser ctx);
static 
 MySQLParser_partition_definition_return
	partition_definition    (pMySQLParser ctx);
static 
 MySQLParser_partition_option_return
	partition_option    (pMySQLParser ctx);
static 
 MySQLParser_subpartition_definition_return
	subpartition_definition    (pMySQLParser ctx);
static 
 MySQLParser_partition_value_list_return
	partition_value_list    (pMySQLParser ctx);
static 
 MySQLParser_definer_clause_return
	definer_clause    (pMySQLParser ctx);
static 
 MySQLParser_if_exists_return
	if_exists    (pMySQLParser ctx);
static 
 MySQLParser_if_not_exists_return
	if_not_exists    (pMySQLParser ctx);
static 
 MySQLParser_procedure_parameter_return
	procedure_parameter    (pMySQLParser ctx);
static 
 MySQLParser_function_parameter_return
	function_parameter    (pMySQLParser ctx);
static 
 MySQLParser_schema_identifier_pair_return
	schema_identifier_pair    (pMySQLParser ctx);
static 
 MySQLParser_table_identifier_list_return
	table_identifier_list    (pMySQLParser ctx);
static 
 MySQLParser_view_identifier_list_return
	view_identifier_list    (pMySQLParser ctx);
static 
 MySQLParser_field_name_list_return
	field_name_list    (pMySQLParser ctx);
static 
 MySQLParser_column_assignment_list_with_default_return
	column_assignment_list_with_default    (pMySQLParser ctx);
static 
 MySQLParser_column_assignment_with_default_return
	column_assignment_with_default    (pMySQLParser ctx);
static 
 MySQLParser_charset_clause_return
	charset_clause    (pMySQLParser ctx);
static 
 MySQLParser_fields_clause_return
	fields_clause    (pMySQLParser ctx);
static 
 MySQLParser_field_term_return
	field_term    (pMySQLParser ctx);
static 
 MySQLParser_lines_clause_return
	lines_clause    (pMySQLParser ctx);
static 
 MySQLParser_line_term_return
	line_term    (pMySQLParser ctx);
static 
 MySQLParser_user_list_return
	user_list    (pMySQLParser ctx);
static 
 MySQLParser_user_specification_return
	user_specification    (pMySQLParser ctx);
static 
 MySQLParser_user_return
	user    (pMySQLParser ctx);
static 
 MySQLParser_like_clause_return
	like_clause    (pMySQLParser ctx);
static 
 MySQLParser_like_or_where_return
	like_or_where    (pMySQLParser ctx);
static 
 MySQLParser_online_option_return
	online_option    (pMySQLParser ctx);
static 
 MySQLParser_no_write_to_bin_log_return
	no_write_to_bin_log    (pMySQLParser ctx);
static 
 MySQLParser_use_partition_return
	use_partition    (pMySQLParser ctx);
static 
 MySQLParser_column_name_return
	column_name    (pMySQLParser ctx);
static 
 MySQLParser_column_ref_return
	column_ref    (pMySQLParser ctx);
static 
 MySQLParser_column_internal_ref_return
	column_internal_ref    (pMySQLParser ctx);
static 
 MySQLParser_column_ref_with_wildcard_return
	column_ref_with_wildcard    (pMySQLParser ctx);
static 
 MySQLParser_column_ref_with_wildcard2_return
	column_ref_with_wildcard2    (pMySQLParser ctx);
static 
 MySQLParser_table_wild_return
	table_wild    (pMySQLParser ctx);
static 
 MySQLParser_schema_name_return
	schema_name    (pMySQLParser ctx);
static 
 MySQLParser_schema_ref_return
	schema_ref    (pMySQLParser ctx);
static 
 MySQLParser_procedure_name_return
	procedure_name    (pMySQLParser ctx);
static 
 MySQLParser_procedure_ref_return
	procedure_ref    (pMySQLParser ctx);
static 
 MySQLParser_function_name_return
	function_name    (pMySQLParser ctx);
static 
 MySQLParser_function_ref_return
	function_ref    (pMySQLParser ctx);
static 
 MySQLParser_trigger_name_return
	trigger_name    (pMySQLParser ctx);
static 
 MySQLParser_trigger_ref_return
	trigger_ref    (pMySQLParser ctx);
static 
 MySQLParser_view_name_return
	view_name    (pMySQLParser ctx);
static 
 MySQLParser_view_ref_return
	view_ref    (pMySQLParser ctx);
static 
 MySQLParser_tablespace_name_return
	tablespace_name    (pMySQLParser ctx);
static 
 MySQLParser_tablespace_ref_return
	tablespace_ref    (pMySQLParser ctx);
static 
 MySQLParser_logfile_group_name_return
	logfile_group_name    (pMySQLParser ctx);
static 
 MySQLParser_logfile_group_ref_return
	logfile_group_ref    (pMySQLParser ctx);
static 
 MySQLParser_event_name_return
	event_name    (pMySQLParser ctx);
static 
 MySQLParser_event_ref_return
	event_ref    (pMySQLParser ctx);
static 
 MySQLParser_udf_name_return
	udf_name    (pMySQLParser ctx);
static 
 MySQLParser_engine_ref_return
	engine_ref    (pMySQLParser ctx);
static 
 MySQLParser_table_name_return
	table_name    (pMySQLParser ctx);
static 
 MySQLParser_filter_table_ref_return
	filter_table_ref    (pMySQLParser ctx);
static 
 MySQLParser_table_ref_with_wildcard_return
	table_ref_with_wildcard    (pMySQLParser ctx);
static 
 MySQLParser_table_ref_return
	table_ref    (pMySQLParser ctx);
static 
 MySQLParser_table_ref_no_db_return
	table_ref_no_db    (pMySQLParser ctx);
static 
 MySQLParser_table_name_variants_return
	table_name_variants    (pMySQLParser ctx);
static 
 MySQLParser_pure_identifier_return
	pure_identifier    (pMySQLParser ctx);
static 
 MySQLParser_identifier_return
	identifier    (pMySQLParser ctx);
static 
 MySQLParser_identifier_list_return
	identifier_list    (pMySQLParser ctx);
static 
 MySQLParser_identifier_list_with_parentheses_return
	identifier_list_with_parentheses    (pMySQLParser ctx);
static 
 MySQLParser_qualified_identifier_list_return
	qualified_identifier_list    (pMySQLParser ctx);
static 
 MySQLParser_qualified_identifier_return
	qualified_identifier    (pMySQLParser ctx);
static 
 MySQLParser_integer_list_return
	integer_list    (pMySQLParser ctx);
static 
 MySQLParser_string_list_return
	string_list    (pMySQLParser ctx);
static 
 MySQLParser_text_string_return
	text_string    (pMySQLParser ctx);
static 
 MySQLParser_literal_return
	literal    (pMySQLParser ctx);
static 
 MySQLParser_signed_literal_return
	signed_literal    (pMySQLParser ctx);
static 
 MySQLParser_string_literal_return
	string_literal    (pMySQLParser ctx);
static 
 MySQLParser_string_literal_no_linebreak_return
	string_literal_no_linebreak    (pMySQLParser ctx);
static 
 MySQLParser_string_return
	string    (pMySQLParser ctx);
static 
 MySQLParser_number_literal_return
	number_literal    (pMySQLParser ctx);
static 
 MySQLParser_hex_literal_return
	hex_literal    (pMySQLParser ctx);
static 
 MySQLParser_bool_literal_return
	bool_literal    (pMySQLParser ctx);
static 
 MySQLParser_bit_literal_return
	bit_literal    (pMySQLParser ctx);
static 
 MySQLParser_null_literal_return
	null_literal    (pMySQLParser ctx);
static 
 MySQLParser_temporal_literal_return
	temporal_literal    (pMySQLParser ctx);
static 
 MySQLParser_integer_type_return
	integer_type    (pMySQLParser ctx);
static 
 MySQLParser_real_literal_return
	real_literal    (pMySQLParser ctx);
static 
 MySQLParser_float_options_return
	float_options    (pMySQLParser ctx);
static 
 MySQLParser_precision_return
	precision    (pMySQLParser ctx);
static 
 MySQLParser_nchar_literal_return
	nchar_literal    (pMySQLParser ctx);
static 
 MySQLParser_varchar_literal_return
	varchar_literal    (pMySQLParser ctx);
static 
 MySQLParser_nvarchar_literal_return
	nvarchar_literal    (pMySQLParser ctx);
static 
 MySQLParser_int_or_param_marker_return
	int_or_param_marker    (pMySQLParser ctx);
static 
 MySQLParser_text_or_param_marker_return
	text_or_param_marker    (pMySQLParser ctx);
static 
 MySQLParser_text_or_identifier_return
	text_or_identifier    (pMySQLParser ctx);
static 
 MySQLParser_float_or_param_return
	float_or_param    (pMySQLParser ctx);
static 
 MySQLParser_number_return
	number    (pMySQLParser ctx);
static 
 MySQLParser_size_number_return
	size_number    (pMySQLParser ctx);
static 
 MySQLParser_parentheses_return
	parentheses    (pMySQLParser ctx);
static 
 MySQLParser_equal_return
	equal    (pMySQLParser ctx);
static 
 MySQLParser_option_type_return
	option_type    (pMySQLParser ctx);
static 
 MySQLParser_keyword_return
	keyword    (pMySQLParser ctx);
static 
 MySQLParser_keyword_sp_return
	keyword_sp    (pMySQLParser ctx);
static 
 ANTLR3_BOOLEAN
	synpred1_MySQL    (pMySQLParser ctx);
static 
 ANTLR3_BOOLEAN
	synpred2_MySQL    (pMySQLParser ctx);
static void	MySQLParserFree(pMySQLParser ctx);
static void     MySQLParserReset (pMySQLParser ctx);

/* For use in tree output where we are accumulating rule labels via label += ruleRef
 * we need a function that knows how to free a return scope when the list is destroyed.
 * We cannot just use ANTLR3_FREE because in debug tracking mode, this is a macro.
 */
static	void ANTLR3_CDECL freeScope(void * scope)
{
    ANTLR3_FREE(scope);
}

/** \brief Name of the grammar file that generated this code
 */
static const char fileName[] = "MySQL.g";

/** \brief Return the name of the grammar file that generated this code.
 */
static const char * getGrammarFileName()
{
	return fileName;
}
/** \brief Create a new MySQLParser parser and return a context for it.
 *
 * \param[in] instream Pointer to an input stream interface.
 *
 * \return Pointer to new parser context upon success.
 */
ANTLR3_API pMySQLParser
MySQLParserNew   (pANTLR3_COMMON_TOKEN_STREAM instream)
{
	// See if we can create a new parser with the standard constructor
	//
	return MySQLParserNewSSD(instream, NULL);
}

/** \brief Create a new MySQLParser parser and return a context for it.
 *
 * \param[in] instream Pointer to an input stream interface.
 *
 * \return Pointer to new parser context upon success.
 */
ANTLR3_API pMySQLParser
MySQLParserNewSSD   (pANTLR3_COMMON_TOKEN_STREAM instream, pANTLR3_RECOGNIZER_SHARED_STATE state)
{
    pMySQLParser ctx;	    /* Context structure we will build and return   */

    ctx	= (pMySQLParser) ANTLR3_CALLOC(1, sizeof(MySQLParser));

    if	(ctx == NULL)
    {
		// Failed to allocate memory for parser context
		//
        return  NULL;
    }

    /* -------------------------------------------------------------------
     * Memory for basic structure is allocated, now to fill in
     * the base ANTLR3 structures. We initialize the function pointers
     * for the standard ANTLR3 parser function set, but upon return
     * from here, the programmer may set the pointers to provide custom
     * implementations of each function.
     *
     * We don't use the macros defined in MySQLParser.h here, in order that you can get a sense
     * of what goes where.
     */

    /* Create a base parser/recognizer, using the supplied token stream
     */
    ctx->pParser	    = antlr3ParserNewStream(ANTLR3_SIZE_HINT, instream->tstream, state);
    /* Install the implementation of our MySQLParser interface
     */
    ctx->query	= query;
    ctx->statement	= statement;
    ctx->alter_statement	= alter_statement;
    ctx->alter_database	= alter_database;
    ctx->alter_event	= alter_event;
    ctx->alter_log_file_group	= alter_log_file_group;
    ctx->alter_server	= alter_server;
    ctx->alter_table	= alter_table;
    ctx->alter_table_commands	= alter_table_commands;
    ctx->alter_table_list_item	= alter_table_list_item;
    ctx->alter_table_list_entry	= alter_table_list_entry;
    ctx->alter_order_by	= alter_order_by;
    ctx->alter_algorithm_option	= alter_algorithm_option;
    ctx->alter_lock_option	= alter_lock_option;
    ctx->index_lock_algorithm	= index_lock_algorithm;
    ctx->alter_partition	= alter_partition;
    ctx->validation	= validation;
    ctx->remove_partitioning	= remove_partitioning;
    ctx->all_or_partition_name_list	= all_or_partition_name_list;
    ctx->alter_tablespace	= alter_tablespace;
    ctx->alter_tablespace_option	= alter_tablespace_option;
    ctx->change_tablespace_option	= change_tablespace_option;
    ctx->alter_view	= alter_view;
    ctx->create_statement	= create_statement;
    ctx->create_database	= create_database;
    ctx->create_database_tail	= create_database_tail;
    ctx->create_with_definer	= create_with_definer;
    ctx->create_event	= create_event;
    ctx->create_event_tail	= create_event_tail;
    ctx->create_routine	= create_routine;
    ctx->create_procedure	= create_procedure;
    ctx->create_function	= create_function;
    ctx->create_routine_or_udf	= create_routine_or_udf;
    ctx->procedure_body	= procedure_body;
    ctx->function_body	= function_body;
    ctx->udf_tail	= udf_tail;
    ctx->routine_create_options	= routine_create_options;
    ctx->routine_create_option	= routine_create_option;
    ctx->routine_alter_options	= routine_alter_options;
    ctx->routine_option	= routine_option;
    ctx->create_index	= create_index;
    ctx->create_index_tail	= create_index_tail;
    ctx->create_index_target	= create_index_target;
    ctx->create_logfile_group	= create_logfile_group;
    ctx->create_logfile_group_tail	= create_logfile_group_tail;
    ctx->logfile_group_options	= logfile_group_options;
    ctx->logfile_group_option	= logfile_group_option;
    ctx->create_server	= create_server;
    ctx->create_server_tail	= create_server_tail;
    ctx->server_options	= server_options;
    ctx->server_option	= server_option;
    ctx->create_table	= create_table;
    ctx->create_table_tail	= create_table_tail;
    ctx->create_field_list	= create_field_list;
    ctx->create_item	= create_item;
    ctx->create_field_list_item	= create_field_list_item;
    ctx->table_creation_source	= table_creation_source;
    ctx->create_select	= create_select;
    ctx->create_tablespace	= create_tablespace;
    ctx->create_tablespace_tail	= create_tablespace_tail;
    ctx->create_tablespace_option	= create_tablespace_option;
    ctx->create_trigger	= create_trigger;
    ctx->create_trigger_tail	= create_trigger_tail;
    ctx->trigger_follows_precedes_clause	= trigger_follows_precedes_clause;
    ctx->create_view	= create_view;
    ctx->create_view_tail	= create_view_tail;
    ctx->view_replace_or_algorithm	= view_replace_or_algorithm;
    ctx->view_algorithm	= view_algorithm;
    ctx->drop_statement	= drop_statement;
    ctx->drop_logfile_group_option	= drop_logfile_group_option;
    ctx->rename_table_statement	= rename_table_statement;
    ctx->truncate_table_statement	= truncate_table_statement;
    ctx->call_statement	= call_statement;
    ctx->delete_statement	= delete_statement;
    ctx->partition_delete	= partition_delete;
    ctx->delete_option	= delete_option;
    ctx->table_ref_list	= table_ref_list;
    ctx->do_statement	= do_statement;
    ctx->handler_statement	= handler_statement;
    ctx->handler_read_or_scan	= handler_read_or_scan;
    ctx->insert_statement	= insert_statement;
    ctx->insert_lock_option	= insert_lock_option;
    ctx->insert_field_spec	= insert_field_spec;
    ctx->fields	= fields;
    ctx->insert_identifier	= insert_identifier;
    ctx->insert_values	= insert_values;
    ctx->insert_value_list	= insert_value_list;
    ctx->values	= values;
    ctx->duplicate_key_update	= duplicate_key_update;
    ctx->load_statement	= load_statement;
    ctx->data_or_xml	= data_or_xml;
    ctx->xml_rows_identified_by	= xml_rows_identified_by;
    ctx->load_data_file_tail	= load_data_file_tail;
    ctx->load_data_file_target_list	= load_data_file_target_list;
    ctx->field_or_variable_list	= field_or_variable_list;
    ctx->replace_statement	= replace_statement;
    ctx->select_statement	= select_statement;
    ctx->select_paren	= select_paren;
    ctx->select_from	= select_from;
    ctx->select_part2	= select_part2;
    ctx->table_expression	= table_expression;
    ctx->subquery	= subquery;
    ctx->query_expression_body	= query_expression_body;
    ctx->select_part2_derived	= select_part2_derived;
    ctx->select_option	= select_option;
    ctx->query_spec_option	= query_spec_option;
    ctx->select_item_list	= select_item_list;
    ctx->select_item	= select_item;
    ctx->select_alias	= select_alias;
    ctx->limit_clause	= limit_clause;
    ctx->limit_options	= limit_options;
    ctx->limit_option	= limit_option;
    ctx->into_clause	= into_clause;
    ctx->procedure_analyse_clause	= procedure_analyse_clause;
    ctx->having_clause	= having_clause;
    ctx->group_by_clause	= group_by_clause;
    ctx->olap_option	= olap_option;
    ctx->order_by_clause	= order_by_clause;
    ctx->order_by_or_limit	= order_by_or_limit;
    ctx->direction	= direction;
    ctx->from_clause	= from_clause;
    ctx->where_clause	= where_clause;
    ctx->table_reference_list	= table_reference_list;
    ctx->join_table_list	= join_table_list;
    ctx->escaped_table_reference	= escaped_table_reference;
    ctx->table_reference	= table_reference;
    ctx->join	= join;
    ctx->table_factor	= table_factor;
    ctx->select_table_factor_union	= select_table_factor_union;
    ctx->query_specification	= query_specification;
    ctx->join_table	= join_table;
    ctx->join_condition	= join_condition;
    ctx->union_clause	= union_clause;
    ctx->union_option	= union_option;
    ctx->union_or_order_by_or_limit	= union_or_order_by_or_limit;
    ctx->select_lock_type	= select_lock_type;
    ctx->table_alias	= table_alias;
    ctx->index_hint_list	= index_hint_list;
    ctx->index_hint	= index_hint;
    ctx->index_hint_type	= index_hint_type;
    ctx->key_or_index	= key_or_index;
    ctx->index_hint_clause	= index_hint_clause;
    ctx->index_list	= index_list;
    ctx->index_list_element	= index_list_element;
    ctx->update_statement	= update_statement;
    ctx->transaction_or_locking_statement	= transaction_or_locking_statement;
    ctx->transaction_statement	= transaction_statement;
    ctx->transaction_characteristic	= transaction_characteristic;
    ctx->set_transaction_characteristic	= set_transaction_characteristic;
    ctx->isolation_level	= isolation_level;
    ctx->savepoint_statement	= savepoint_statement;
    ctx->lock_statement	= lock_statement;
    ctx->lock_item	= lock_item;
    ctx->lock_option	= lock_option;
    ctx->xa_statement	= xa_statement;
    ctx->xa_convert	= xa_convert;
    ctx->xid	= xid;
    ctx->replication_statement	= replication_statement;
    ctx->replication_load	= replication_load;
    ctx->change_master	= change_master;
    ctx->change_master_options	= change_master_options;
    ctx->master_option	= master_option;
    ctx->server_id_list	= server_id_list;
    ctx->change_replication	= change_replication;
    ctx->filter_definition	= filter_definition;
    ctx->filter_db_list	= filter_db_list;
    ctx->filter_table_list	= filter_table_list;
    ctx->filter_string_list	= filter_string_list;
    ctx->filter_wild_db_table_string	= filter_wild_db_table_string;
    ctx->filter_db_pair_list	= filter_db_pair_list;
    ctx->start_slave	= start_slave;
    ctx->slave_until_options	= slave_until_options;
    ctx->master_file_def	= master_file_def;
    ctx->slave_connection_options	= slave_connection_options;
    ctx->stop_slave	= stop_slave;
    ctx->slave_thread_options	= slave_thread_options;
    ctx->slave_thread_option	= slave_thread_option;
    ctx->gtid_set	= gtid_set;
    ctx->prepared_statement	= prepared_statement;
    ctx->execute_statement	= execute_statement;
    ctx->execute_var_list	= execute_var_list;
    ctx->account_management_statement	= account_management_statement;
    ctx->alter_user_list	= alter_user_list;
    ctx->alter_user	= alter_user;
    ctx->alter_user_expire_interval	= alter_user_expire_interval;
    ctx->create_user	= create_user;
    ctx->drop_user	= drop_user;
    ctx->parse_grant	= parse_grant;
    ctx->grant	= grant;
    ctx->grant_proxy	= grant_proxy;
    ctx->rename_user	= rename_user;
    ctx->revoke_statement	= revoke_statement;
    ctx->privilege_target	= privilege_target;
    ctx->set_password	= set_password;
    ctx->grant_object_type	= grant_object_type;
    ctx->grant_privileges	= grant_privileges;
    ctx->privilege_type	= privilege_type;
    ctx->privilege_level	= privilege_level;
    ctx->require_list	= require_list;
    ctx->grant_option	= grant_option;
    ctx->table_administration_statement	= table_administration_statement;
    ctx->check_option	= check_option;
    ctx->repair_option	= repair_option;
    ctx->install_uninstall_statment	= install_uninstall_statment;
    ctx->set_statement	= set_statement;
    ctx->option_value_no_option_type	= option_value_no_option_type;
    ctx->option_value_following_option_type	= option_value_following_option_type;
    ctx->set_expression_or_default	= set_expression_or_default;
    ctx->option_value_list	= option_value_list;
    ctx->option_value	= option_value;
    ctx->show_statement	= show_statement;
    ctx->non_blocking	= non_blocking;
    ctx->from_or_in	= from_or_in;
    ctx->in_db	= in_db;
    ctx->profile_type	= profile_type;
    ctx->miscellaneous_statement	= miscellaneous_statement;
    ctx->key_cache_list_or_parts	= key_cache_list_or_parts;
    ctx->key_cache_list	= key_cache_list;
    ctx->assign_to_keycache	= assign_to_keycache;
    ctx->assign_to_keycache_partition	= assign_to_keycache_partition;
    ctx->cache_keys_spec	= cache_keys_spec;
    ctx->key_usage_element	= key_usage_element;
    ctx->flush_option	= flush_option;
    ctx->log_type	= log_type;
    ctx->flush_tables	= flush_tables;
    ctx->flush_tables_options	= flush_tables_options;
    ctx->load_table_index_list	= load_table_index_list;
    ctx->load_table_index_partion	= load_table_index_partion;
    ctx->reset_option	= reset_option;
    ctx->utility_statement	= utility_statement;
    ctx->describe_command	= describe_command;
    ctx->explainable_statement	= explainable_statement;
    ctx->expression	= expression;
    ctx->logical_or_expression	= logical_or_expression;
    ctx->logical_xor_expression	= logical_xor_expression;
    ctx->logical_and_expression	= logical_and_expression;
    ctx->logical_not_expression	= logical_not_expression;
    ctx->boolean_primary_expression	= boolean_primary_expression;
    ctx->predicate	= predicate;
    ctx->predicate_in	= predicate_in;
    ctx->bitwise_or_expression	= bitwise_or_expression;
    ctx->bitwise_and_expression	= bitwise_and_expression;
    ctx->shift_expression	= shift_expression;
    ctx->additive_expression	= additive_expression;
    ctx->multiplicative_expression	= multiplicative_expression;
    ctx->bitwise_xor_expression	= bitwise_xor_expression;
    ctx->concat_expression	= concat_expression;
    ctx->unary_expression	= unary_expression;
    ctx->not_expression	= not_expression;
    ctx->interval_expression	= interval_expression;
    ctx->interval_function	= interval_function;
    ctx->interval_time_span	= interval_time_span;
    ctx->primary	= primary;
    ctx->expression_with_nested_parentheses	= expression_with_nested_parentheses;
    ctx->comparison_operator	= comparison_operator;
    ctx->multiplication_operator	= multiplication_operator;
    ctx->runtime_function_call	= runtime_function_call;
    ctx->runtime_function_call_expression	= runtime_function_call_expression;
    ctx->time_function_parameters	= time_function_parameters;
    ctx->fractional_precision	= fractional_precision;
    ctx->weight_string_levels	= weight_string_levels;
    ctx->weight_string_level_list_item	= weight_string_level_list_item;
    ctx->date_time_type	= date_time_type;
    ctx->trim_function	= trim_function;
    ctx->substring_function	= substring_function;
    ctx->geometry_function	= geometry_function;
    ctx->aggregate_function	= aggregate_function;
    ctx->in_aggregate_expression	= in_aggregate_expression;
    ctx->count_function	= count_function;
    ctx->udf_call	= udf_call;
    ctx->udf_call_expression	= udf_call_expression;
    ctx->stored_function_call	= stored_function_call;
    ctx->stored_function_call_expression	= stored_function_call_expression;
    ctx->aliased_expression_list	= aliased_expression_list;
    ctx->aliased_expression	= aliased_expression;
    ctx->variable	= variable;
    ctx->user_variable	= user_variable;
    ctx->system_variable	= system_variable;
    ctx->variable_name	= variable_name;
    ctx->match_expression	= match_expression;
    ctx->case_expression	= case_expression;
    ctx->when_expression	= when_expression;
    ctx->then_expression	= then_expression;
    ctx->else_expression	= else_expression;
    ctx->cast_expression	= cast_expression;
    ctx->cast_type	= cast_type;
    ctx->encoding	= encoding;
    ctx->charset	= charset;
    ctx->not_rule	= not_rule;
    ctx->not2_rule	= not2_rule;
    ctx->or_rule	= or_rule;
    ctx->xor_rule	= xor_rule;
    ctx->and_rule	= and_rule;
    ctx->interval	= interval;
    ctx->interval_unit	= interval_unit;
    ctx->interval_timestamp_unit	= interval_timestamp_unit;
    ctx->expression_list_with_parentheses	= expression_list_with_parentheses;
    ctx->expression_list	= expression_list;
    ctx->expression_list_with_direction	= expression_list_with_direction;
    ctx->channel	= channel;
    ctx->compound_statement	= compound_statement;
    ctx->compound_statement_list	= compound_statement_list;
    ctx->label	= label;
    ctx->label_identifier	= label_identifier;
    ctx->begin_end_block	= begin_end_block;
    ctx->loop_block	= loop_block;
    ctx->repeat_until_block	= repeat_until_block;
    ctx->while_do_block	= while_do_block;
    ctx->declarations	= declarations;
    ctx->variable_declaration	= variable_declaration;
    ctx->condition_declaration	= condition_declaration;
    ctx->cursor_declaration	= cursor_declaration;
    ctx->handler_declaration	= handler_declaration;
    ctx->handler_condition	= handler_condition;
    ctx->case_statement	= case_statement;
    ctx->then_statement	= then_statement;
    ctx->else_statement	= else_statement;
    ctx->if_statement	= if_statement;
    ctx->if_body	= if_body;
    ctx->iterate_statement	= iterate_statement;
    ctx->leave_statement	= leave_statement;
    ctx->return_statement	= return_statement;
    ctx->get_diagnostics	= get_diagnostics;
    ctx->statement_information_item	= statement_information_item;
    ctx->condition_information_item	= condition_information_item;
    ctx->signal_information_item_name	= signal_information_item_name;
    ctx->signal_statement	= signal_statement;
    ctx->resignal_statement	= resignal_statement;
    ctx->signal_information_item	= signal_information_item;
    ctx->cursor_close	= cursor_close;
    ctx->cursor_fetch	= cursor_fetch;
    ctx->cursor_open	= cursor_open;
    ctx->schedule	= schedule;
    ctx->database_option	= database_option;
    ctx->column_definition	= column_definition;
    ctx->field_spec	= field_spec;
    ctx->attribute	= attribute;
    ctx->reference_definition	= reference_definition;
    ctx->index_columns	= index_columns;
    ctx->index_column	= index_column;
    ctx->index_type	= index_type;
    ctx->index_option	= index_option;
    ctx->fulltext_index_option	= fulltext_index_option;
    ctx->spatial_index_option	= spatial_index_option;
    ctx->reference_option	= reference_option;
    ctx->data_type	= data_type;
    ctx->data_type_definition	= data_type_definition;
    ctx->data_type_elements	= data_type_elements;
    ctx->field_length	= field_length;
    ctx->field_options	= field_options;
    ctx->string_binary	= string_binary;
    ctx->ascii	= ascii;
    ctx->unicode	= unicode;
    ctx->type_datetime_precision	= type_datetime_precision;
    ctx->charset_name	= charset_name;
    ctx->charset_name_or_default	= charset_name_or_default;
    ctx->collation_name_or_default	= collation_name_or_default;
    ctx->spatial_type	= spatial_type;
    ctx->alter_table_options	= alter_table_options;
    ctx->create_table_options	= create_table_options;
    ctx->create_table_option	= create_table_option;
    ctx->partitioning	= partitioning;
    ctx->partition_key_algorithm	= partition_key_algorithm;
    ctx->partition_definitions	= partition_definitions;
    ctx->partition_definition	= partition_definition;
    ctx->partition_option	= partition_option;
    ctx->subpartition_definition	= subpartition_definition;
    ctx->partition_value_list	= partition_value_list;
    ctx->definer_clause	= definer_clause;
    ctx->if_exists	= if_exists;
    ctx->if_not_exists	= if_not_exists;
    ctx->procedure_parameter	= procedure_parameter;
    ctx->function_parameter	= function_parameter;
    ctx->schema_identifier_pair	= schema_identifier_pair;
    ctx->table_identifier_list	= table_identifier_list;
    ctx->view_identifier_list	= view_identifier_list;
    ctx->field_name_list	= field_name_list;
    ctx->column_assignment_list_with_default	= column_assignment_list_with_default;
    ctx->column_assignment_with_default	= column_assignment_with_default;
    ctx->charset_clause	= charset_clause;
    ctx->fields_clause	= fields_clause;
    ctx->field_term	= field_term;
    ctx->lines_clause	= lines_clause;
    ctx->line_term	= line_term;
    ctx->user_list	= user_list;
    ctx->user_specification	= user_specification;
    ctx->user	= user;
    ctx->like_clause	= like_clause;
    ctx->like_or_where	= like_or_where;
    ctx->online_option	= online_option;
    ctx->no_write_to_bin_log	= no_write_to_bin_log;
    ctx->use_partition	= use_partition;
    ctx->column_name	= column_name;
    ctx->column_ref	= column_ref;
    ctx->column_internal_ref	= column_internal_ref;
    ctx->column_ref_with_wildcard	= column_ref_with_wildcard;
    ctx->column_ref_with_wildcard2	= column_ref_with_wildcard2;
    ctx->table_wild	= table_wild;
    ctx->schema_name	= schema_name;
    ctx->schema_ref	= schema_ref;
    ctx->procedure_name	= procedure_name;
    ctx->procedure_ref	= procedure_ref;
    ctx->function_name	= function_name;
    ctx->function_ref	= function_ref;
    ctx->trigger_name	= trigger_name;
    ctx->trigger_ref	= trigger_ref;
    ctx->view_name	= view_name;
    ctx->view_ref	= view_ref;
    ctx->tablespace_name	= tablespace_name;
    ctx->tablespace_ref	= tablespace_ref;
    ctx->logfile_group_name	= logfile_group_name;
    ctx->logfile_group_ref	= logfile_group_ref;
    ctx->event_name	= event_name;
    ctx->event_ref	= event_ref;
    ctx->udf_name	= udf_name;
    ctx->engine_ref	= engine_ref;
    ctx->table_name	= table_name;
    ctx->filter_table_ref	= filter_table_ref;
    ctx->table_ref_with_wildcard	= table_ref_with_wildcard;
    ctx->table_ref	= table_ref;
    ctx->table_ref_no_db	= table_ref_no_db;
    ctx->table_name_variants	= table_name_variants;
    ctx->pure_identifier	= pure_identifier;
    ctx->identifier	= identifier;
    ctx->identifier_list	= identifier_list;
    ctx->identifier_list_with_parentheses	= identifier_list_with_parentheses;
    ctx->qualified_identifier_list	= qualified_identifier_list;
    ctx->qualified_identifier	= qualified_identifier;
    ctx->integer_list	= integer_list;
    ctx->string_list	= string_list;
    ctx->text_string	= text_string;
    ctx->literal	= literal;
    ctx->signed_literal	= signed_literal;
    ctx->string_literal	= string_literal;
    ctx->string_literal_no_linebreak	= string_literal_no_linebreak;
    ctx->string	= string;
    ctx->number_literal	= number_literal;
    ctx->hex_literal	= hex_literal;
    ctx->bool_literal	= bool_literal;
    ctx->bit_literal	= bit_literal;
    ctx->null_literal	= null_literal;
    ctx->temporal_literal	= temporal_literal;
    ctx->integer_type	= integer_type;
    ctx->real_literal	= real_literal;
    ctx->float_options	= float_options;
    ctx->precision	= precision;
    ctx->nchar_literal	= nchar_literal;
    ctx->varchar_literal	= varchar_literal;
    ctx->nvarchar_literal	= nvarchar_literal;
    ctx->int_or_param_marker	= int_or_param_marker;
    ctx->text_or_param_marker	= text_or_param_marker;
    ctx->text_or_identifier	= text_or_identifier;
    ctx->float_or_param	= float_or_param;
    ctx->number	= number;
    ctx->size_number	= size_number;
    ctx->parentheses	= parentheses;
    ctx->equal	= equal;
    ctx->option_type	= option_type;
    ctx->keyword	= keyword;
    ctx->keyword_sp	= keyword_sp;
    ctx->synpred1_MySQL	= synpred1_MySQL;
    ctx->synpred2_MySQL	= synpred2_MySQL;
    ctx->free			= MySQLParserFree;
    ctx->reset			= MySQLParserReset;
    ctx->getGrammarFileName	= getGrammarFileName;

    /* Install the scope pushing methods.
     */
ADAPTOR	= ANTLR3_TREE_ADAPTORNew(instream->tstream->tokenSource->strFactory);

ctx->vectors	= antlr3VectorFactoryNew(0);
    	// Install custom error collector for the front end.
    	RECOGNIZER->displayRecognitionError = on_parse_error;

    /* Install the token table
     */
    PSRSTATE->tokenNames   = MySQLParserTokenNames;


    /* Return the newly built parser to the caller
     */
    return  ctx;
}

static void
MySQLParserReset (pMySQLParser ctx)
{
    RECOGNIZER->reset(RECOGNIZER);
}

/** Free the parser resources
 */
 static void
 MySQLParserFree(pMySQLParser ctx)
 {
    /* Free any scope memory
     */

ctx->vectors->close(ctx->vectors);
/* We created the adaptor so we must free it
 */
ADAPTOR->free(ADAPTOR);
	// Free this parser
	//
    ctx->pParser->free(ctx->pParser);


    ANTLR3_FREE(ctx);

    /* Everything is released, so we can return
     */
    return;
 }

/** Return token names used by this 
parser

 *
 * The returned pointer is used as an index into the token names table (using the token
 * number as the index).
 *
 * \return Pointer to first char * in the table.
 */
static pANTLR3_UINT8    *getTokenNames()
{
        return MySQLParserTokenNames;
}




/* Declare the bitsets
 */
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_in_query414  */
static	ANTLR3_BITWORD FOLLOW_statement_in_query414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_in_query414	= { FOLLOW_statement_in_query414_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_query416  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_query416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_query416	= { FOLLOW_SEMICOLON_SYMBOL_in_query416_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_query421  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_query421_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_query421	= { FOLLOW_EOF_in_query421_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_statement_in_statement432  */
static	ANTLR3_BITWORD FOLLOW_alter_statement_in_statement432_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_statement_in_statement432	= { FOLLOW_alter_statement_in_statement432_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_statement_in_statement437  */
static	ANTLR3_BITWORD FOLLOW_create_statement_in_statement437_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_statement_in_statement437	= { FOLLOW_create_statement_in_statement437_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_statement_in_statement442  */
static	ANTLR3_BITWORD FOLLOW_drop_statement_in_statement442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_statement_in_statement442	= { FOLLOW_drop_statement_in_statement442_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_rename_table_statement_in_statement447  */
static	ANTLR3_BITWORD FOLLOW_rename_table_statement_in_statement447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_rename_table_statement_in_statement447	= { FOLLOW_rename_table_statement_in_statement447_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_truncate_table_statement_in_statement452  */
static	ANTLR3_BITWORD FOLLOW_truncate_table_statement_in_statement452_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_truncate_table_statement_in_statement452	= { FOLLOW_truncate_table_statement_in_statement452_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_call_statement_in_statement461  */
static	ANTLR3_BITWORD FOLLOW_call_statement_in_statement461_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_call_statement_in_statement461	= { FOLLOW_call_statement_in_statement461_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_statement_in_statement466  */
static	ANTLR3_BITWORD FOLLOW_delete_statement_in_statement466_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_statement_in_statement466	= { FOLLOW_delete_statement_in_statement466_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_do_statement_in_statement471  */
static	ANTLR3_BITWORD FOLLOW_do_statement_in_statement471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_do_statement_in_statement471	= { FOLLOW_do_statement_in_statement471_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_statement_in_statement476  */
static	ANTLR3_BITWORD FOLLOW_handler_statement_in_statement476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_statement_in_statement476	= { FOLLOW_handler_statement_in_statement476_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_statement_in_statement481  */
static	ANTLR3_BITWORD FOLLOW_insert_statement_in_statement481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_statement_in_statement481	= { FOLLOW_insert_statement_in_statement481_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_statement_in_statement486  */
static	ANTLR3_BITWORD FOLLOW_load_statement_in_statement486_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_statement_in_statement486	= { FOLLOW_load_statement_in_statement486_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replace_statement_in_statement491  */
static	ANTLR3_BITWORD FOLLOW_replace_statement_in_statement491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replace_statement_in_statement491	= { FOLLOW_replace_statement_in_statement491_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_statement496  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_statement496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_statement496	= { FOLLOW_select_statement_in_statement496_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_update_statement_in_statement501  */
static	ANTLR3_BITWORD FOLLOW_update_statement_in_statement501_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_update_statement_in_statement501	= { FOLLOW_update_statement_in_statement501_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_statement507  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_statement507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_statement507	= { FOLLOW_partitioning_in_statement507_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_or_locking_statement_in_statement516  */
static	ANTLR3_BITWORD FOLLOW_transaction_or_locking_statement_in_statement516_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_or_locking_statement_in_statement516	= { FOLLOW_transaction_or_locking_statement_in_statement516_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replication_statement_in_statement523  */
static	ANTLR3_BITWORD FOLLOW_replication_statement_in_statement523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replication_statement_in_statement523	= { FOLLOW_replication_statement_in_statement523_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_prepared_statement_in_statement530  */
static	ANTLR3_BITWORD FOLLOW_prepared_statement_in_statement530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_prepared_statement_in_statement530	= { FOLLOW_prepared_statement_in_statement530_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_account_management_statement_in_statement539  */
static	ANTLR3_BITWORD FOLLOW_account_management_statement_in_statement539_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_account_management_statement_in_statement539	= { FOLLOW_account_management_statement_in_statement539_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_administration_statement_in_statement544  */
static	ANTLR3_BITWORD FOLLOW_table_administration_statement_in_statement544_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_administration_statement_in_statement544	= { FOLLOW_table_administration_statement_in_statement544_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_install_uninstall_statment_in_statement549  */
static	ANTLR3_BITWORD FOLLOW_install_uninstall_statment_in_statement549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_install_uninstall_statment_in_statement549	= { FOLLOW_install_uninstall_statment_in_statement549_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_statement_in_statement556  */
static	ANTLR3_BITWORD FOLLOW_set_statement_in_statement556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_statement_in_statement556	= { FOLLOW_set_statement_in_statement556_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_show_statement_in_statement562  */
static	ANTLR3_BITWORD FOLLOW_show_statement_in_statement562_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_show_statement_in_statement562	= { FOLLOW_show_statement_in_statement562_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_miscellaneous_statement_in_statement567  */
static	ANTLR3_BITWORD FOLLOW_miscellaneous_statement_in_statement567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_miscellaneous_statement_in_statement567	= { FOLLOW_miscellaneous_statement_in_statement567_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_utility_statement_in_statement576  */
static	ANTLR3_BITWORD FOLLOW_utility_statement_in_statement576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_utility_statement_in_statement576	= { FOLLOW_utility_statement_in_statement576_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_statement588  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_statement588_bits[]	= { ANTLR3_UINT64_LIT(0x2000080000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000800000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008010004000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000C00000000000), ANTLR3_UINT64_LIT(0x4000000000000100), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_statement588	= { FOLLOW_ALTER_SYMBOL_in_alter_statement588_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_database_in_alter_statement596  */
static	ANTLR3_BITWORD FOLLOW_alter_database_in_alter_statement596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_database_in_alter_statement596	= { FOLLOW_alter_database_in_alter_statement596_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_log_file_group_in_alter_statement601  */
static	ANTLR3_BITWORD FOLLOW_alter_log_file_group_in_alter_statement601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_log_file_group_in_alter_statement601	= { FOLLOW_alter_log_file_group_in_alter_statement601_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_alter_statement606  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_alter_statement606_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_alter_statement606	= { FOLLOW_FUNCTION_SYMBOL_in_alter_statement606_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_ref_in_alter_statement608  */
static	ANTLR3_BITWORD FOLLOW_function_ref_in_alter_statement608_bits[]	= { ANTLR3_UINT64_LIT(0x000000000C005002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008002000000), ANTLR3_UINT64_LIT(0x4000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_function_ref_in_alter_statement608	= { FOLLOW_function_ref_in_alter_statement608_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_alter_options_in_alter_statement610  */
static	ANTLR3_BITWORD FOLLOW_routine_alter_options_in_alter_statement610_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_alter_options_in_alter_statement610	= { FOLLOW_routine_alter_options_in_alter_statement610_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_alter_statement616  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_alter_statement616_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_alter_statement616	= { FOLLOW_PROCEDURE_SYMBOL_in_alter_statement616_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_ref_in_alter_statement618  */
static	ANTLR3_BITWORD FOLLOW_procedure_ref_in_alter_statement618_bits[]	= { ANTLR3_UINT64_LIT(0x000000000C005002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008002000000), ANTLR3_UINT64_LIT(0x4000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_ref_in_alter_statement618	= { FOLLOW_procedure_ref_in_alter_statement618_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_alter_options_in_alter_statement620  */
static	ANTLR3_BITWORD FOLLOW_routine_alter_options_in_alter_statement620_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_alter_options_in_alter_statement620	= { FOLLOW_routine_alter_options_in_alter_statement620_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_server_in_alter_statement626  */
static	ANTLR3_BITWORD FOLLOW_alter_server_in_alter_statement626_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_server_in_alter_statement626	= { FOLLOW_alter_server_in_alter_statement626_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_in_alter_statement631  */
static	ANTLR3_BITWORD FOLLOW_alter_table_in_alter_statement631_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_in_alter_statement631	= { FOLLOW_alter_table_in_alter_statement631_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_tablespace_in_alter_statement636  */
static	ANTLR3_BITWORD FOLLOW_alter_tablespace_in_alter_statement636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_tablespace_in_alter_statement636	= { FOLLOW_alter_tablespace_in_alter_statement636_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_event_in_alter_statement645  */
static	ANTLR3_BITWORD FOLLOW_alter_event_in_alter_statement645_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_event_in_alter_statement645	= { FOLLOW_alter_event_in_alter_statement645_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_view_in_alter_statement650  */
static	ANTLR3_BITWORD FOLLOW_alter_view_in_alter_statement650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_view_in_alter_statement650	= { FOLLOW_alter_view_in_alter_statement650_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_alter_database663  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_alter_database663_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000110000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_alter_database663	= { FOLLOW_DATABASE_SYMBOL_in_alter_database663_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_alter_database670  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_alter_database670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_alter_database670	= { FOLLOW_schema_ref_in_alter_database670_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_database_option_in_alter_database673  */
static	ANTLR3_BITWORD FOLLOW_database_option_in_alter_database673_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_database_option_in_alter_database673	= { FOLLOW_database_option_in_alter_database673_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_alter_database680  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_alter_database680_bits[]	= { ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_alter_database680	= { FOLLOW_schema_ref_in_alter_database680_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPGRADE_SYMBOL_in_alter_database682  */
static	ANTLR3_BITWORD FOLLOW_UPGRADE_SYMBOL_in_alter_database682_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPGRADE_SYMBOL_in_alter_database682	= { FOLLOW_UPGRADE_SYMBOL_in_alter_database682_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_alter_database684  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_alter_database684_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_alter_database684	= { FOLLOW_DATA_SYMBOL_in_alter_database684_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_alter_database686  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_alter_database686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_alter_database686	= { FOLLOW_DIRECTORY_SYMBOL_in_alter_database686_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NAME_SYMBOL_in_alter_database688  */
static	ANTLR3_BITWORD FOLLOW_NAME_SYMBOL_in_alter_database688_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NAME_SYMBOL_in_alter_database688	= { FOLLOW_NAME_SYMBOL_in_alter_database688_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_alter_event700  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_alter_event700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_alter_event700	= { FOLLOW_definer_clause_in_alter_event700_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_alter_event705  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_alter_event705_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_alter_event705	= { FOLLOW_EVENT_SYMBOL_in_alter_event705_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_event_ref_in_alter_event707  */
static	ANTLR3_BITWORD FOLLOW_event_ref_in_alter_event707_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_event_ref_in_alter_event707	= { FOLLOW_event_ref_in_alter_event707_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event712  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event712_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event712	= { FOLLOW_ON_SYMBOL_in_alter_event712_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SCHEDULE_SYMBOL_in_alter_event714  */
static	ANTLR3_BITWORD FOLLOW_SCHEDULE_SYMBOL_in_alter_event714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SCHEDULE_SYMBOL_in_alter_event714	= { FOLLOW_SCHEDULE_SYMBOL_in_alter_event714_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schedule_in_alter_event716  */
static	ANTLR3_BITWORD FOLLOW_schedule_in_alter_event716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_schedule_in_alter_event716	= { FOLLOW_schedule_in_alter_event716_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event723  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event723	= { FOLLOW_ON_SYMBOL_in_alter_event723_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMPLETION_SYMBOL_in_alter_event725  */
static	ANTLR3_BITWORD FOLLOW_COMPLETION_SYMBOL_in_alter_event725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMPLETION_SYMBOL_in_alter_event725	= { FOLLOW_COMPLETION_SYMBOL_in_alter_event725_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_alter_event727  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_alter_event727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_alter_event727	= { FOLLOW_NOT_SYMBOL_in_alter_event727_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRESERVE_SYMBOL_in_alter_event730  */
static	ANTLR3_BITWORD FOLLOW_PRESERVE_SYMBOL_in_alter_event730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRESERVE_SYMBOL_in_alter_event730	= { FOLLOW_PRESERVE_SYMBOL_in_alter_event730_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_event737  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_event737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_alter_event737	= { FOLLOW_RENAME_SYMBOL_in_alter_event737_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_event739  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_event739_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_alter_event739	= { FOLLOW_TO_SYMBOL_in_alter_event739_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_event741  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_event741_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_event741	= { FOLLOW_identifier_in_alter_event741_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_alter_event748  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_alter_event748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_alter_event748	= { FOLLOW_ENABLE_SYMBOL_in_alter_event748_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_alter_event752  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_alter_event752_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISABLE_SYMBOL_in_alter_event752	= { FOLLOW_DISABLE_SYMBOL_in_alter_event752_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event755  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event755_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event755	= { FOLLOW_ON_SYMBOL_in_alter_event755_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_alter_event757  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_alter_event757_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011002) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_alter_event757	= { FOLLOW_SLAVE_SYMBOL_in_alter_event757_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_alter_event766  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_alter_event766_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_alter_event766	= { FOLLOW_COMMENT_SYMBOL_in_alter_event766_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_event768  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_event768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000010002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_alter_event768	= { FOLLOW_string_literal_in_alter_event768_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_alter_event775  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_alter_event775_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_alter_event775	= { FOLLOW_DO_SYMBOL_in_alter_event775_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_alter_event777  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_alter_event777_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_alter_event777	= { FOLLOW_compound_statement_in_alter_event777_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group788  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group788	= { FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group788_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_alter_log_file_group790  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_alter_log_file_group790_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_alter_log_file_group790	= { FOLLOW_GROUP_SYMBOL_in_alter_log_file_group790_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_ref_in_alter_log_file_group792  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_ref_in_alter_log_file_group792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_ref_in_alter_log_file_group792	= { FOLLOW_logfile_group_ref_in_alter_log_file_group792_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_log_file_group794  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_log_file_group794_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_log_file_group794	= { FOLLOW_ADD_SYMBOL_in_alter_log_file_group794_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group796  */
static	ANTLR3_BITWORD FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group796	= { FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group796_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_log_file_group798  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_log_file_group798_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_alter_log_file_group798	= { FOLLOW_string_literal_in_alter_log_file_group798_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group803  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group803	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group803_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group805  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group805	= { FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group805_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_log_file_group808  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_log_file_group808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_alter_log_file_group808	= { FOLLOW_size_number_in_alter_log_file_group808_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WAIT_SYMBOL_in_alter_log_file_group812  */
static	ANTLR3_BITWORD FOLLOW_WAIT_SYMBOL_in_alter_log_file_group812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WAIT_SYMBOL_in_alter_log_file_group812	= { FOLLOW_WAIT_SYMBOL_in_alter_log_file_group812_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group815  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group815	= { FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group815_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group817  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group817	= { FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group817_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_alter_log_file_group820  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_alter_log_file_group820_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_alter_log_file_group820	= { FOLLOW_IDENTIFIER_in_alter_log_file_group820_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_alter_server829  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_alter_server829_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_alter_server829	= { FOLLOW_SERVER_SYMBOL_in_alter_server829_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_alter_server831  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_alter_server831_bits[]	= { ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_alter_server831	= { FOLLOW_text_or_identifier_in_alter_server831_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_options_in_alter_server833  */
static	ANTLR3_BITWORD FOLLOW_server_options_in_alter_server833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_options_in_alter_server833	= { FOLLOW_server_options_in_alter_server833_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_alter_table842  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_alter_table842_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_alter_table842	= { FOLLOW_online_option_in_alter_table842_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_alter_table845  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_alter_table845_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_alter_table845	= { FOLLOW_IGNORE_SYMBOL_in_alter_table845_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_alter_table848  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_alter_table848_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_alter_table848	= { FOLLOW_TABLE_SYMBOL_in_alter_table848_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_alter_table850  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_alter_table850_bits[]	= { ANTLR3_UINT64_LIT(0x6004003100001602), ANTLR3_UINT64_LIT(0x1031020040080014), ANTLR3_UINT64_LIT(0x0002006020000800), ANTLR3_UINT64_LIT(0x0008400000300000), ANTLR3_UINT64_LIT(0x7000000800020040), ANTLR3_UINT64_LIT(0x0028000004006001), ANTLR3_UINT64_LIT(0x0000200132000000), ANTLR3_UINT64_LIT(0x0008002002000100), ANTLR3_UINT64_LIT(0x1000000000004000), ANTLR3_UINT64_LIT(0x0120000000000000), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_alter_table850	= { FOLLOW_table_ref_in_alter_table850_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_commands_in_alter_table852  */
static	ANTLR3_BITWORD FOLLOW_alter_table_commands_in_alter_table852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_commands_in_alter_table852	= { FOLLOW_alter_table_commands_in_alter_table852_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISCARD_SYMBOL_in_alter_table_commands862  */
static	ANTLR3_BITWORD FOLLOW_DISCARD_SYMBOL_in_alter_table_commands862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISCARD_SYMBOL_in_alter_table_commands862	= { FOLLOW_DISCARD_SYMBOL_in_alter_table_commands862_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands864  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands864	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IMPORT_SYMBOL_in_alter_table_commands869  */
static	ANTLR3_BITWORD FOLLOW_IMPORT_SYMBOL_in_alter_table_commands869_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_IMPORT_SYMBOL_in_alter_table_commands869	= { FOLLOW_IMPORT_SYMBOL_in_alter_table_commands869_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands871  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands871_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands871	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands871_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_item_in_alter_table_commands876  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_item_in_alter_table_commands876_bits[]	= { ANTLR3_UINT64_LIT(0x0000001100000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_item_in_alter_table_commands876	= { FOLLOW_alter_table_list_item_in_alter_table_commands876_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_table_commands879  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_table_commands879_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001600), ANTLR3_UINT64_LIT(0x1011020040000014), ANTLR3_UINT64_LIT(0x0002006000000800), ANTLR3_UINT64_LIT(0x0008400000300000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x0028000004006001), ANTLR3_UINT64_LIT(0x0000200112000000), ANTLR3_UINT64_LIT(0x0008000002000100), ANTLR3_UINT64_LIT(0x1000000000004000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_table_commands879	= { FOLLOW_COMMA_SYMBOL_in_alter_table_commands879_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_item_in_alter_table_commands881  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_item_in_alter_table_commands881_bits[]	= { ANTLR3_UINT64_LIT(0x0000001100000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_item_in_alter_table_commands881	= { FOLLOW_alter_table_list_item_in_alter_table_commands881_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_alter_table_commands886  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_alter_table_commands886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_alter_table_commands886	= { FOLLOW_partitioning_in_alter_table_commands886_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_remove_partitioning_in_alter_table_commands891  */
static	ANTLR3_BITWORD FOLLOW_remove_partitioning_in_alter_table_commands891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_remove_partitioning_in_alter_table_commands891	= { FOLLOW_remove_partitioning_in_alter_table_commands891_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_remove_partitioning_in_alter_table_commands897  */
static	ANTLR3_BITWORD FOLLOW_remove_partitioning_in_alter_table_commands897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_remove_partitioning_in_alter_table_commands897	= { FOLLOW_remove_partitioning_in_alter_table_commands897_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_alter_table_commands902  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_alter_table_commands902_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_alter_table_commands902	= { FOLLOW_partitioning_in_alter_table_commands902_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_partition_in_alter_table_commands911  */
static	ANTLR3_BITWORD FOLLOW_alter_partition_in_alter_table_commands911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_partition_in_alter_table_commands911	= { FOLLOW_alter_partition_in_alter_table_commands911_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_entry_in_alter_table_list_item920  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_entry_in_alter_table_list_item920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_entry_in_alter_table_list_item920	= { FOLLOW_alter_table_list_entry_in_alter_table_list_item920_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_options_in_alter_table_list_entry937  */
static	ANTLR3_BITWORD FOLLOW_alter_table_options_in_alter_table_list_entry937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_options_in_alter_table_list_entry937	= { FOLLOW_alter_table_options_in_alter_table_list_entry937_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry942  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry942_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000004000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry942	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry942_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry944  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry944_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry944	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry944_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry954  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry954_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry954	= { FOLLOW_column_definition_in_alter_table_list_entry954_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry957  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry957	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry957_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry961  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry961_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry961	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry961_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry963  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry963	= { FOLLOW_identifier_in_alter_table_list_entry963_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry972  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry972_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry972	= { FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry972_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry974  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry974_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry974	= { FOLLOW_column_definition_in_alter_table_list_entry974_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry977  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry977_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry977	= { FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry977_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry979  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry979_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry979	= { FOLLOW_column_definition_in_alter_table_list_entry979_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry983  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry983	= { FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry983_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry992  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry992	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry992_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry994  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_table_list_entry994_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry994	= { FOLLOW_set_in_alter_table_list_entry994_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1002  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1002_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1002	= { FOLLOW_identifier_in_alter_table_list_entry1002_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry1005  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry1005_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_alter_table_list_entry1005	= { FOLLOW_index_type_in_alter_table_list_entry1005_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry1008  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry1008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry1008	= { FOLLOW_index_columns_in_alter_table_list_entry1008_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry1010  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry1010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry1010	= { FOLLOW_index_option_in_alter_table_list_entry1010_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1016  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1016	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1016_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry1019  */
static	ANTLR3_BITWORD FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry1019_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0010000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry1019	= { FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry1019_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1021  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1021	= { FOLLOW_identifier_in_alter_table_list_entry1021_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1033  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1033	= { FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1033_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1035  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1035	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1035_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry1037  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry1037_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_alter_table_list_entry1037	= { FOLLOW_index_type_in_alter_table_list_entry1037_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry1040  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry1040_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry1040	= { FOLLOW_index_columns_in_alter_table_list_entry1040_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry1042  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry1042_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry1042	= { FOLLOW_index_option_in_alter_table_list_entry1042_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry1050  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry1050_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry1050	= { FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry1050_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1061  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1061_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1061	= { FOLLOW_identifier_in_alter_table_list_entry1061_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry1064  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry1064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_alter_table_list_entry1064	= { FOLLOW_index_type_in_alter_table_list_entry1064_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry1067  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry1067_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry1067	= { FOLLOW_index_columns_in_alter_table_list_entry1067_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry1069  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry1069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry1069	= { FOLLOW_index_option_in_alter_table_list_entry1069_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1077  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1077_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1077	= { FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1077_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1079  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1079_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1079	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1079_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1081  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1081	= { FOLLOW_identifier_in_alter_table_list_entry1081_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry1084  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry1084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry1084	= { FOLLOW_index_columns_in_alter_table_list_entry1084_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_alter_table_list_entry1086  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_alter_table_list_entry1086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_alter_table_list_entry1086	= { FOLLOW_reference_definition_in_alter_table_list_entry1086_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1095  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1095_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1095	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1095_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry1097  */
static	ANTLR3_BITWORD FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry1097_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry1097	= { FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry1097_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1108  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1108	= { FOLLOW_identifier_in_alter_table_list_entry1108_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry1111  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry1111_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry1111	= { FOLLOW_index_columns_in_alter_table_list_entry1111_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry1113  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry1113_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry1113	= { FOLLOW_index_option_in_alter_table_list_entry1113_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1119  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1119	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1119_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry1121  */
static	ANTLR3_BITWORD FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry1121_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry1121	= { FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry1121_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1132  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1132_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1132	= { FOLLOW_identifier_in_alter_table_list_entry1132_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry1135  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry1135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry1135	= { FOLLOW_index_columns_in_alter_table_list_entry1135_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry1137  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry1137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry1137	= { FOLLOW_index_option_in_alter_table_list_entry1137_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry1143  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry1143_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000004000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry1143	= { FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry1143_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1145  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1145_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1145	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1145_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_internal_ref_in_alter_table_list_entry1148  */
static	ANTLR3_BITWORD FOLLOW_column_internal_ref_in_alter_table_list_entry1148_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_internal_ref_in_alter_table_list_entry1148	= { FOLLOW_column_internal_ref_in_alter_table_list_entry1148_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151	= { FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1153  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001200000), ANTLR3_UINT64_LIT(0x0000000000000180), ANTLR3_UINT64_LIT(0x0000900000800000), ANTLR3_UINT64_LIT(0x0000000002000030), ANTLR3_UINT64_LIT(0x0000140100080000), ANTLR3_UINT64_LIT(0x0008000000000001), ANTLR3_UINT64_LIT(0x0000410000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1153	= { FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1153_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signed_literal_in_alter_table_list_entry1155  */
static	ANTLR3_BITWORD FOLLOW_signed_literal_in_alter_table_list_entry1155_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_signed_literal_in_alter_table_list_entry1155	= { FOLLOW_signed_literal_in_alter_table_list_entry1155_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1159  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1159	= { FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1159_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1161  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1161	= { FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1161_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1167  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1167_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000004000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1167	= { FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1167_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1169  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1169_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1169	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1169_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_internal_ref_in_alter_table_list_entry1172  */
static	ANTLR3_BITWORD FOLLOW_column_internal_ref_in_alter_table_list_entry1172_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_column_internal_ref_in_alter_table_list_entry1172	= { FOLLOW_column_internal_ref_in_alter_table_list_entry1172_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_alter_table_list_entry1174  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_alter_table_list_entry1174_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_alter_table_list_entry1174	= { FOLLOW_field_spec_in_alter_table_list_entry1174_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1177  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1177	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1177_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1181  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1181_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1181	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1181_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1183  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1183_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1183	= { FOLLOW_identifier_in_alter_table_list_entry1183_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1190  */
static	ANTLR3_BITWORD FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1190_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000004000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1190	= { FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1190_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1192  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1192_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1192	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1192_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_internal_ref_in_alter_table_list_entry1195  */
static	ANTLR3_BITWORD FOLLOW_column_internal_ref_in_alter_table_list_entry1195_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_column_internal_ref_in_alter_table_list_entry1195	= { FOLLOW_column_internal_ref_in_alter_table_list_entry1195_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_alter_table_list_entry1197  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_alter_table_list_entry1197_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_alter_table_list_entry1197	= { FOLLOW_field_spec_in_alter_table_list_entry1197_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1200  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1200	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1200_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1204  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1204_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1204	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1204_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1206  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1206_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1206	= { FOLLOW_identifier_in_alter_table_list_entry1206_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1213  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1213_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000004000000002), ANTLR3_UINT64_LIT(0x0010000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1213	= { FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1213_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry1222  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_table_list_entry1222_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry1222	= { FOLLOW_set_in_alter_table_list_entry1222_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1230  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1230	= { FOLLOW_identifier_in_alter_table_list_entry1230_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1237  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1237_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1237	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1237_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_internal_ref_in_alter_table_list_entry1240  */
static	ANTLR3_BITWORD FOLLOW_column_internal_ref_in_alter_table_list_entry1240_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_internal_ref_in_alter_table_list_entry1240	= { FOLLOW_column_internal_ref_in_alter_table_list_entry1240_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1247  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1247	= { FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1247_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1249  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1249	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1249_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1256  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1256	= { FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1256_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1258  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1258_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1258	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1258_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_alter_table_list_entry1281  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_alter_table_list_entry1281_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_alter_table_list_entry1281	= { FOLLOW_column_ref_in_alter_table_list_entry1281_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_alter_table_list_entry1294  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_alter_table_list_entry1294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_alter_table_list_entry1294	= { FOLLOW_column_ref_in_alter_table_list_entry1294_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1310  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1310	= { FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1310_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1312  */
static	ANTLR3_BITWORD FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1312	= { FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1312_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1317  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1317_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1317	= { FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1317_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1319  */
static	ANTLR3_BITWORD FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1319	= { FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1319_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1324  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1324_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1324	= { FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1324_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_alter_table_list_entry1335  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_alter_table_list_entry1335_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_alter_table_list_entry1335	= { FOLLOW_table_ref_in_alter_table_list_entry1335_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1344  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1344_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1344	= { FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1344_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry1346  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_table_list_entry1346_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry1346	= { FOLLOW_set_in_alter_table_list_entry1346_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1354  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1354	= { FOLLOW_identifier_in_alter_table_list_entry1354_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_table_list_entry1356  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_table_list_entry1356_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_alter_table_list_entry1356	= { FOLLOW_TO_SYMBOL_in_alter_table_list_entry1356_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1358  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1358	= { FOLLOW_identifier_in_alter_table_list_entry1358_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_order_by_in_alter_table_list_entry1363  */
static	ANTLR3_BITWORD FOLLOW_alter_order_by_in_alter_table_list_entry1363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_order_by_in_alter_table_list_entry1363	= { FOLLOW_alter_order_by_in_alter_table_list_entry1363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1368  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1368	= { FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1368_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_table_list_entry1370  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_table_list_entry1370_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_alter_table_list_entry1370	= { FOLLOW_TO_SYMBOL_in_alter_table_list_entry1370_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1372  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1372	= { FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1372_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_alter_table_list_entry1374  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_alter_table_list_entry1374_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_alter_table_list_entry1374	= { FOLLOW_SET_SYMBOL_in_alter_table_list_entry1374_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_alter_table_list_entry1376  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_alter_table_list_entry1376_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_alter_table_list_entry1376	= { FOLLOW_charset_name_or_default_in_alter_table_list_entry1376_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1379  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1379_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1379	= { FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1379_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_alter_table_list_entry1381  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_alter_table_list_entry1381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_alter_table_list_entry1381	= { FOLLOW_collation_name_or_default_in_alter_table_list_entry1381_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1388  */
static	ANTLR3_BITWORD FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1388_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1388	= { FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1388_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_alter_table_list_entry1397  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_alter_table_list_entry1397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_alter_table_list_entry1397	= { FOLLOW_alter_algorithm_option_in_alter_table_list_entry1397_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_alter_table_list_entry1406  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_alter_table_list_entry1406_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_alter_table_list_entry1406	= { FOLLOW_alter_lock_option_in_alter_table_list_entry1406_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_alter_order_by1415  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_alter_order_by1415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_ORDER_SYMBOL_in_alter_order_by1415	= { FOLLOW_ORDER_SYMBOL_in_alter_order_by1415_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_alter_order_by1417  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_alter_order_by1417_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_alter_order_by1417	= { FOLLOW_BY_SYMBOL_in_alter_order_by1417_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_order_by1419  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_order_by1419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_order_by1419	= { FOLLOW_identifier_in_alter_order_by1419_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_alter_order_by1421  */
static	ANTLR3_BITWORD FOLLOW_direction_in_alter_order_by1421_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_alter_order_by1421	= { FOLLOW_direction_in_alter_order_by1421_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_order_by1436  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_order_by1436_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_order_by1436	= { FOLLOW_COMMA_SYMBOL_in_alter_order_by1436_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_order_by1438  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_order_by1438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_order_by1438	= { FOLLOW_identifier_in_alter_order_by1438_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_alter_order_by1440  */
static	ANTLR3_BITWORD FOLLOW_direction_in_alter_order_by1440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_alter_order_by1440	= { FOLLOW_direction_in_alter_order_by1440_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1451  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1451_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1451	= { FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1451_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1453  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1453_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1453	= { FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1453_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1458  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1458_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1458	= { FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1458_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_algorithm_option1462  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_algorithm_option1462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_algorithm_option1462	= { FOLLOW_identifier_in_alter_algorithm_option1462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_alter_lock_option1473  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_alter_lock_option1473_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_alter_lock_option1473	= { FOLLOW_LOCK_SYMBOL_in_alter_lock_option1473_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1475  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1475_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1475	= { FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1475_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1479  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1479	= { FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1479_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_lock_option1483  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_lock_option1483_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_lock_option1483	= { FOLLOW_identifier_in_alter_lock_option1483_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_index_lock_algorithm1505  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_index_lock_algorithm1505_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_index_lock_algorithm1505	= { FOLLOW_alter_algorithm_option_in_index_lock_algorithm1505_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_index_lock_algorithm1507  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_index_lock_algorithm1507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_index_lock_algorithm1507	= { FOLLOW_alter_lock_option_in_index_lock_algorithm1507_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_index_lock_algorithm1515  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_index_lock_algorithm1515_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_index_lock_algorithm1515	= { FOLLOW_alter_lock_option_in_index_lock_algorithm1515_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_index_lock_algorithm1517  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_index_lock_algorithm1517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_index_lock_algorithm1517	= { FOLLOW_alter_algorithm_option_in_index_lock_algorithm1517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_partition1535  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_partition1535_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_partition1535	= { FOLLOW_ADD_SYMBOL_in_alter_partition1535_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1537  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1537	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1537_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1539  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1539_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1539	= { FOLLOW_no_write_to_bin_log_in_alter_partition1539_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1549  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1549	= { FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1549_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_alter_partition1551  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_alter_partition1551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definition_in_alter_partition1551	= { FOLLOW_partition_definition_in_alter_partition1551_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1553  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1553_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1553	= { FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1553_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1560  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1560	= { FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1560_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_alter_partition1562  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_alter_partition1562_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_alter_partition1562	= { FOLLOW_INTEGER_in_alter_partition1562_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_partition1571  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_partition1571_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_alter_partition1571	= { FOLLOW_DROP_SYMBOL_in_alter_partition1571_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1573  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1573_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1573	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1573_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_alter_partition1575  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_alter_partition1575_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_alter_partition1575	= { FOLLOW_identifier_list_in_alter_partition1575_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REBUILD_SYMBOL_in_alter_partition1580  */
static	ANTLR3_BITWORD FOLLOW_REBUILD_SYMBOL_in_alter_partition1580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REBUILD_SYMBOL_in_alter_partition1580	= { FOLLOW_REBUILD_SYMBOL_in_alter_partition1580_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1582  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1582_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1582	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1582_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1584  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1584_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1584	= { FOLLOW_no_write_to_bin_log_in_alter_partition1584_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1587  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1587_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1587	= { FOLLOW_all_or_partition_name_list_in_alter_partition1587_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1592  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1592_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1592	= { FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1592_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1594  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1594_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1594	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1594_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1596  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1596_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1596	= { FOLLOW_no_write_to_bin_log_in_alter_partition1596_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1599  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1599	= { FOLLOW_all_or_partition_name_list_in_alter_partition1599_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1601  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1601	= { FOLLOW_no_write_to_bin_log_in_alter_partition1601_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYZE_SYMBOL_in_alter_partition1608  */
static	ANTLR3_BITWORD FOLLOW_ANALYZE_SYMBOL_in_alter_partition1608_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYZE_SYMBOL_in_alter_partition1608	= { FOLLOW_ANALYZE_SYMBOL_in_alter_partition1608_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1610  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1610_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1610	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1610_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1612  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1612_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1612	= { FOLLOW_no_write_to_bin_log_in_alter_partition1612_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1615  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1615	= { FOLLOW_all_or_partition_name_list_in_alter_partition1615_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_alter_partition1620  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_alter_partition1620_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_alter_partition1620	= { FOLLOW_CHECK_SYMBOL_in_alter_partition1620_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1622  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1622_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1622	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1622_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1624  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1624_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000240), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1624	= { FOLLOW_all_or_partition_name_list_in_alter_partition1624_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_check_option_in_alter_partition1626  */
static	ANTLR3_BITWORD FOLLOW_check_option_in_alter_partition1626_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000240), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_check_option_in_alter_partition1626	= { FOLLOW_check_option_in_alter_partition1626_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPAIR_SYMBOL_in_alter_partition1632  */
static	ANTLR3_BITWORD FOLLOW_REPAIR_SYMBOL_in_alter_partition1632_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPAIR_SYMBOL_in_alter_partition1632	= { FOLLOW_REPAIR_SYMBOL_in_alter_partition1632_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1634  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1634_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1634	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1634_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1636  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1636_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1636	= { FOLLOW_no_write_to_bin_log_in_alter_partition1636_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1639  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1639	= { FOLLOW_all_or_partition_name_list_in_alter_partition1639_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repair_option_in_alter_partition1641  */
static	ANTLR3_BITWORD FOLLOW_repair_option_in_alter_partition1641_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_repair_option_in_alter_partition1641	= { FOLLOW_repair_option_in_alter_partition1641_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COALESCE_SYMBOL_in_alter_partition1647  */
static	ANTLR3_BITWORD FOLLOW_COALESCE_SYMBOL_in_alter_partition1647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COALESCE_SYMBOL_in_alter_partition1647	= { FOLLOW_COALESCE_SYMBOL_in_alter_partition1647_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1649  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1649	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1649_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1651  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1651_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1651	= { FOLLOW_no_write_to_bin_log_in_alter_partition1651_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_alter_partition1654  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_alter_partition1654_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_alter_partition1654	= { FOLLOW_INTEGER_in_alter_partition1654_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1663  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1663	= { FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1663_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1665  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1665_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1665	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1665_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1667  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1667	= { FOLLOW_all_or_partition_name_list_in_alter_partition1667_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1672  */
static	ANTLR3_BITWORD FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1672_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1672	= { FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1672_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1674  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1674_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1674	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1674_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_partition1676  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_partition1676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_partition1676	= { FOLLOW_identifier_in_alter_partition1676_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_alter_partition1678  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_alter_partition1678_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_alter_partition1678	= { FOLLOW_WITH_SYMBOL_in_alter_partition1678_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_alter_partition1680  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_alter_partition1680_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_alter_partition1680	= { FOLLOW_TABLE_SYMBOL_in_alter_partition1680_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_alter_partition1682  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_alter_partition1682_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000048000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_alter_partition1682	= { FOLLOW_table_ref_in_alter_partition1682_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_validation_in_alter_partition1684  */
static	ANTLR3_BITWORD FOLLOW_validation_in_alter_partition1684_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_validation_in_alter_partition1684	= { FOLLOW_validation_in_alter_partition1684_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1690  */
static	ANTLR3_BITWORD FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1690	= { FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1690_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1692  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1692_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1692	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1692_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1694  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1694_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1694	= { FOLLOW_no_write_to_bin_log_in_alter_partition1694_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_alter_partition1698  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_alter_partition1698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_alter_partition1698	= { FOLLOW_identifier_list_in_alter_partition1698_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_alter_partition1700  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_alter_partition1700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_alter_partition1700	= { FOLLOW_INTO_SYMBOL_in_alter_partition1700_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definitions_in_alter_partition1702  */
static	ANTLR3_BITWORD FOLLOW_partition_definitions_in_alter_partition1702_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definitions_in_alter_partition1702	= { FOLLOW_partition_definitions_in_alter_partition1702_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISCARD_SYMBOL_in_alter_partition1713  */
static	ANTLR3_BITWORD FOLLOW_DISCARD_SYMBOL_in_alter_partition1713_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISCARD_SYMBOL_in_alter_partition1713	= { FOLLOW_DISCARD_SYMBOL_in_alter_partition1713_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1715  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1715_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1715	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1715_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1717  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1717_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1717	= { FOLLOW_all_or_partition_name_list_in_alter_partition1717_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1719  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1719	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1719_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IMPORT_SYMBOL_in_alter_partition1728  */
static	ANTLR3_BITWORD FOLLOW_IMPORT_SYMBOL_in_alter_partition1728_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IMPORT_SYMBOL_in_alter_partition1728	= { FOLLOW_IMPORT_SYMBOL_in_alter_partition1728_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1730  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1730_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1730	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1730_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1732  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1732	= { FOLLOW_all_or_partition_name_list_in_alter_partition1732_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1734  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1734	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_validation1747  */
static	ANTLR3_BITWORD FOLLOW_set_in_validation1747_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_validation1747	= { FOLLOW_set_in_validation1747_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALIDATION_SYMBOL_in_validation1755  */
static	ANTLR3_BITWORD FOLLOW_VALIDATION_SYMBOL_in_validation1755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VALIDATION_SYMBOL_in_validation1755	= { FOLLOW_VALIDATION_SYMBOL_in_validation1755_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1768  */
static	ANTLR3_BITWORD FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1768	= { FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1768_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1770  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1770_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1770	= { FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1770_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1779  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1779_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1779	= { FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1779_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_all_or_partition_name_list1784  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_all_or_partition_name_list1784_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_all_or_partition_name_list1784	= { FOLLOW_identifier_list_in_all_or_partition_name_list1784_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1793  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1793_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1793	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1793_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_ref_in_alter_tablespace1795  */
static	ANTLR3_BITWORD FOLLOW_tablespace_ref_in_alter_tablespace1795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_tablespace_ref_in_alter_tablespace1795	= { FOLLOW_tablespace_ref_in_alter_tablespace1795_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_tablespace1802  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_tablespace1802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_tablespace1802	= { FOLLOW_set_in_alter_tablespace1802_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1810  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1810_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1810	= { FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1810_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_tablespace1812  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_tablespace1812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000002000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_alter_tablespace1812	= { FOLLOW_string_literal_in_alter_tablespace1812_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_tablespace_option_in_alter_tablespace1815  */
static	ANTLR3_BITWORD FOLLOW_alter_tablespace_option_in_alter_tablespace1815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000002000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_tablespace_option_in_alter_tablespace1815	= { FOLLOW_alter_tablespace_option_in_alter_tablespace1815_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_tablespace1818  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_tablespace1818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000002000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_tablespace1818	= { FOLLOW_COMMA_SYMBOL_in_alter_tablespace1818_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_tablespace_option_in_alter_tablespace1821  */
static	ANTLR3_BITWORD FOLLOW_alter_tablespace_option_in_alter_tablespace1821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000002000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_tablespace_option_in_alter_tablespace1821	= { FOLLOW_alter_tablespace_option_in_alter_tablespace1821_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_alter_tablespace1834  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_alter_tablespace1834_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_alter_tablespace1834	= { FOLLOW_CHANGE_SYMBOL_in_alter_tablespace1834_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1836  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1836_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1836	= { FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1836_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_tablespace1838  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_tablespace1838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_alter_tablespace1838	= { FOLLOW_string_literal_in_alter_tablespace1838_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_tablespace_option_in_alter_tablespace1841  */
static	ANTLR3_BITWORD FOLLOW_change_tablespace_option_in_alter_tablespace1841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_change_tablespace_option_in_alter_tablespace1841	= { FOLLOW_change_tablespace_option_in_alter_tablespace1841_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_tablespace1844  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_tablespace1844_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_tablespace1844	= { FOLLOW_COMMA_SYMBOL_in_alter_tablespace1844_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_tablespace_option_in_alter_tablespace1847  */
static	ANTLR3_BITWORD FOLLOW_change_tablespace_option_in_alter_tablespace1847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_change_tablespace_option_in_alter_tablespace1847	= { FOLLOW_change_tablespace_option_in_alter_tablespace1847_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_ONLY_SYMBOL_in_alter_tablespace1857  */
static	ANTLR3_BITWORD FOLLOW_READ_ONLY_SYMBOL_in_alter_tablespace1857_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_ONLY_SYMBOL_in_alter_tablespace1857	= { FOLLOW_READ_ONLY_SYMBOL_in_alter_tablespace1857_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_WRITE_SYMBOL_in_alter_tablespace1863  */
static	ANTLR3_BITWORD FOLLOW_READ_WRITE_SYMBOL_in_alter_tablespace1863_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_WRITE_SYMBOL_in_alter_tablespace1863	= { FOLLOW_READ_WRITE_SYMBOL_in_alter_tablespace1863_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_alter_tablespace1869  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_alter_tablespace1869_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_alter_tablespace1869	= { FOLLOW_NOT_SYMBOL_in_alter_tablespace1869_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ACCESSIBLE_SYMBOL_in_alter_tablespace1871  */
static	ANTLR3_BITWORD FOLLOW_ACCESSIBLE_SYMBOL_in_alter_tablespace1871_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ACCESSIBLE_SYMBOL_in_alter_tablespace1871	= { FOLLOW_ACCESSIBLE_SYMBOL_in_alter_tablespace1871_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace_option1883  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace_option1883_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace_option1883	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace_option1883_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1885  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1885	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1885_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_tablespace_option1888  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_tablespace_option1888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_alter_tablespace_option1888	= { FOLLOW_size_number_in_alter_tablespace_option1888_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_alter_tablespace_option1893  */
static	ANTLR3_BITWORD FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_alter_tablespace_option1893_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_alter_tablespace_option1893	= { FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_alter_tablespace_option1893_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1895  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1895	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1895_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_tablespace_option1898  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_tablespace_option1898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_alter_tablespace_option1898	= { FOLLOW_size_number_in_alter_tablespace_option1898_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SIZE_SYMBOL_in_alter_tablespace_option1903  */
static	ANTLR3_BITWORD FOLLOW_MAX_SIZE_SYMBOL_in_alter_tablespace_option1903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SIZE_SYMBOL_in_alter_tablespace_option1903	= { FOLLOW_MAX_SIZE_SYMBOL_in_alter_tablespace_option1903_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1905  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1905	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1905_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_tablespace_option1908  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_tablespace_option1908_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_alter_tablespace_option1908	= { FOLLOW_size_number_in_alter_tablespace_option1908_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_alter_tablespace_option1913  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_alter_tablespace_option1913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_alter_tablespace_option1913	= { FOLLOW_STORAGE_SYMBOL_in_alter_tablespace_option1913_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_alter_tablespace_option1916  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_alter_tablespace_option1916_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_alter_tablespace_option1916	= { FOLLOW_ENGINE_SYMBOL_in_alter_tablespace_option1916_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1918  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1918_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1918	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1918_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_alter_tablespace_option1921  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_alter_tablespace_option1921_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_alter_tablespace_option1921	= { FOLLOW_engine_ref_in_alter_tablespace_option1921_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_tablespace_option1926  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_tablespace_option1926_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_tablespace_option1926	= { FOLLOW_set_in_alter_tablespace_option1926_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_change_tablespace_option1941  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_change_tablespace_option1941_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_change_tablespace_option1941	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_change_tablespace_option1941_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1943  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1943_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1943	= { FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1943_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_change_tablespace_option1946  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_change_tablespace_option1946_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_change_tablespace_option1946	= { FOLLOW_size_number_in_change_tablespace_option1946_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_change_tablespace_option1951  */
static	ANTLR3_BITWORD FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_change_tablespace_option1951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_change_tablespace_option1951	= { FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_change_tablespace_option1951_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1953  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1953	= { FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1953_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_change_tablespace_option1956  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_change_tablespace_option1956_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_change_tablespace_option1956	= { FOLLOW_size_number_in_change_tablespace_option1956_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SIZE_SYMBOL_in_change_tablespace_option1961  */
static	ANTLR3_BITWORD FOLLOW_MAX_SIZE_SYMBOL_in_change_tablespace_option1961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SIZE_SYMBOL_in_change_tablespace_option1961	= { FOLLOW_MAX_SIZE_SYMBOL_in_change_tablespace_option1961_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1963  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1963	= { FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1963_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_change_tablespace_option1966  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_change_tablespace_option1966_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_change_tablespace_option1966	= { FOLLOW_size_number_in_change_tablespace_option1966_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_alter_view1976  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_alter_view1976_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALGORITHM_SYMBOL_in_alter_view1976	= { FOLLOW_ALGORITHM_SYMBOL_in_alter_view1976_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_view1978  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_view1978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040010000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_view1978	= { FOLLOW_EQUAL_OPERATOR_in_alter_view1978_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_view1980  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_view1980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_view1980	= { FOLLOW_set_in_alter_view1980_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_alter_view1996  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_alter_view1996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_alter_view1996	= { FOLLOW_definer_clause_in_alter_view1996_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_alter_view2002  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_alter_view2002_bits[]	= { ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_alter_view2002	= { FOLLOW_SQL_SYMBOL_in_alter_view2002_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_alter_view2004  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_alter_view2004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_alter_view2004	= { FOLLOW_SECURITY_SYMBOL_in_alter_view2004_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_view2006  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_view2006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_view2006	= { FOLLOW_set_in_alter_view2006_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_alter_view2018  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_alter_view2018_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_alter_view2018	= { FOLLOW_VIEW_SYMBOL_in_alter_view2018_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_ref_in_alter_view2020  */
static	ANTLR3_BITWORD FOLLOW_view_ref_in_alter_view2020_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_ref_in_alter_view2020	= { FOLLOW_view_ref_in_alter_view2020_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_alter_view2022  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_alter_view2022_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_alter_view2022	= { FOLLOW_identifier_list_with_parentheses_in_alter_view2022_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_alter_view2025  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_alter_view2025_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_alter_view2025	= { FOLLOW_AS_SYMBOL_in_alter_view2025_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_alter_view2027  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_alter_view2027_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_alter_view2027	= { FOLLOW_select_statement_in_alter_view2027_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_alter_view2032  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_alter_view2032_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_alter_view2032	= { FOLLOW_WITH_SYMBOL_in_alter_view2032_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_alter_view2043  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_alter_view2043_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_alter_view2043	= { FOLLOW_CHECK_SYMBOL_in_alter_view2043_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_alter_view2045  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_alter_view2045_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_alter_view2045	= { FOLLOW_OPTION_SYMBOL_in_alter_view2045_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_statement2061  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_statement2061_bits[]	= { ANTLR3_UINT64_LIT(0x3000080000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000800000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000801000C000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0200C00000000000), ANTLR3_UINT64_LIT(0x4040000000000100), ANTLR3_UINT64_LIT(0x0002004010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_statement2061	= { FOLLOW_CREATE_SYMBOL_in_create_statement2061_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_tail_in_create_statement2069  */
static	ANTLR3_BITWORD FOLLOW_create_table_tail_in_create_statement2069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_tail_in_create_statement2069	= { FOLLOW_create_table_tail_in_create_statement2069_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_tail_in_create_statement2075  */
static	ANTLR3_BITWORD FOLLOW_create_index_tail_in_create_statement2075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_tail_in_create_statement2075	= { FOLLOW_create_index_tail_in_create_statement2075_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_database_tail_in_create_statement2081  */
static	ANTLR3_BITWORD FOLLOW_create_database_tail_in_create_statement2081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_database_tail_in_create_statement2081	= { FOLLOW_create_database_tail_in_create_statement2081_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_statement2087  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_statement2087_bits[]	= { ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000100), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_statement2087	= { FOLLOW_definer_clause_in_create_statement2087_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_event_tail_in_create_statement2103  */
static	ANTLR3_BITWORD FOLLOW_create_event_tail_in_create_statement2103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_event_tail_in_create_statement2103	= { FOLLOW_create_event_tail_in_create_statement2103_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_tail_in_create_statement2111  */
static	ANTLR3_BITWORD FOLLOW_create_view_tail_in_create_statement2111_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_tail_in_create_statement2111	= { FOLLOW_create_view_tail_in_create_statement2111_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_routine_or_udf_in_create_statement2119  */
static	ANTLR3_BITWORD FOLLOW_create_routine_or_udf_in_create_statement2119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_routine_or_udf_in_create_statement2119	= { FOLLOW_create_routine_or_udf_in_create_statement2119_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_trigger_tail_in_create_statement2127  */
static	ANTLR3_BITWORD FOLLOW_create_trigger_tail_in_create_statement2127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_trigger_tail_in_create_statement2127	= { FOLLOW_create_trigger_tail_in_create_statement2127_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_replace_or_algorithm_in_create_statement2138  */
static	ANTLR3_BITWORD FOLLOW_view_replace_or_algorithm_in_create_statement2138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_replace_or_algorithm_in_create_statement2138	= { FOLLOW_view_replace_or_algorithm_in_create_statement2138_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_statement2140  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_statement2140_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_statement2140	= { FOLLOW_definer_clause_in_create_statement2140_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_tail_in_create_statement2143  */
static	ANTLR3_BITWORD FOLLOW_create_view_tail_in_create_statement2143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_tail_in_create_statement2143	= { FOLLOW_create_view_tail_in_create_statement2143_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_logfile_group_tail_in_create_statement2149  */
static	ANTLR3_BITWORD FOLLOW_create_logfile_group_tail_in_create_statement2149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_logfile_group_tail_in_create_statement2149	= { FOLLOW_create_logfile_group_tail_in_create_statement2149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_server_tail_in_create_statement2155  */
static	ANTLR3_BITWORD FOLLOW_create_server_tail_in_create_statement2155_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_server_tail_in_create_statement2155	= { FOLLOW_create_server_tail_in_create_statement2155_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_tablespace_tail_in_create_statement2161  */
static	ANTLR3_BITWORD FOLLOW_create_tablespace_tail_in_create_statement2161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_tablespace_tail_in_create_statement2161	= { FOLLOW_create_tablespace_tail_in_create_statement2161_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_database2174  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_database2174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_database2174	= { FOLLOW_CREATE_SYMBOL_in_create_database2174_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_database_tail_in_create_database2177  */
static	ANTLR3_BITWORD FOLLOW_create_database_tail_in_create_database2177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_database_tail_in_create_database2177	= { FOLLOW_create_database_tail_in_create_database2177_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_database2179  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_database2179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_database2179	= { FOLLOW_SEMICOLON_SYMBOL_in_create_database2179_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_database2182  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_database2182_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_database2182	= { FOLLOW_EOF_in_create_database2182_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_create_database_tail2191  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_create_database_tail2191_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_create_database_tail2191	= { FOLLOW_DATABASE_SYMBOL_in_create_database_tail2191_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_database_tail2193  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_database_tail2193_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_database_tail2193	= { FOLLOW_if_not_exists_in_create_database_tail2193_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_name_in_create_database_tail2196  */
static	ANTLR3_BITWORD FOLLOW_schema_name_in_create_database_tail2196_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_name_in_create_database_tail2196	= { FOLLOW_schema_name_in_create_database_tail2196_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_database_option_in_create_database_tail2198  */
static	ANTLR3_BITWORD FOLLOW_database_option_in_create_database_tail2198_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_database_option_in_create_database_tail2198	= { FOLLOW_database_option_in_create_database_tail2198_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_with_definer2208  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_with_definer2208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_with_definer2208	= { FOLLOW_CREATE_SYMBOL_in_create_with_definer2208_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_with_definer2211  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_with_definer2211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_with_definer2211	= { FOLLOW_definer_clause_in_create_with_definer2211_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_with_definer_in_create_event2222  */
static	ANTLR3_BITWORD FOLLOW_create_with_definer_in_create_event2222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_with_definer_in_create_event2222	= { FOLLOW_create_with_definer_in_create_event2222_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_event_tail_in_create_event2224  */
static	ANTLR3_BITWORD FOLLOW_create_event_tail_in_create_event2224_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_event_tail_in_create_event2224	= { FOLLOW_create_event_tail_in_create_event2224_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_event2226  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_event2226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_event2226	= { FOLLOW_SEMICOLON_SYMBOL_in_create_event2226_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_event2229  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_event2229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_event2229	= { FOLLOW_EOF_in_create_event2229_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_create_event_tail2238  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_create_event_tail2238_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_create_event_tail2238	= { FOLLOW_EVENT_SYMBOL_in_create_event_tail2238_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_event_tail2240  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_event_tail2240_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_event_tail2240	= { FOLLOW_if_not_exists_in_create_event_tail2240_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_event_name_in_create_event_tail2243  */
static	ANTLR3_BITWORD FOLLOW_event_name_in_create_event_tail2243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_event_name_in_create_event_tail2243	= { FOLLOW_event_name_in_create_event_tail2243_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event_tail2245  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event_tail2245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event_tail2245	= { FOLLOW_ON_SYMBOL_in_create_event_tail2245_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SCHEDULE_SYMBOL_in_create_event_tail2247  */
static	ANTLR3_BITWORD FOLLOW_SCHEDULE_SYMBOL_in_create_event_tail2247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SCHEDULE_SYMBOL_in_create_event_tail2247	= { FOLLOW_SCHEDULE_SYMBOL_in_create_event_tail2247_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schedule_in_create_event_tail2249  */
static	ANTLR3_BITWORD FOLLOW_schedule_in_create_event_tail2249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schedule_in_create_event_tail2249	= { FOLLOW_schedule_in_create_event_tail2249_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event_tail2254  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event_tail2254_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event_tail2254	= { FOLLOW_ON_SYMBOL_in_create_event_tail2254_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMPLETION_SYMBOL_in_create_event_tail2256  */
static	ANTLR3_BITWORD FOLLOW_COMPLETION_SYMBOL_in_create_event_tail2256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMPLETION_SYMBOL_in_create_event_tail2256	= { FOLLOW_COMPLETION_SYMBOL_in_create_event_tail2256_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_create_event_tail2258  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_create_event_tail2258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_create_event_tail2258	= { FOLLOW_NOT_SYMBOL_in_create_event_tail2258_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRESERVE_SYMBOL_in_create_event_tail2261  */
static	ANTLR3_BITWORD FOLLOW_PRESERVE_SYMBOL_in_create_event_tail2261_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_PRESERVE_SYMBOL_in_create_event_tail2261	= { FOLLOW_PRESERVE_SYMBOL_in_create_event_tail2261_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_create_event_tail2268  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_create_event_tail2268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_create_event_tail2268	= { FOLLOW_ENABLE_SYMBOL_in_create_event_tail2268_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_create_event_tail2272  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_create_event_tail2272_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISABLE_SYMBOL_in_create_event_tail2272	= { FOLLOW_DISABLE_SYMBOL_in_create_event_tail2272_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event_tail2275  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event_tail2275_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event_tail2275	= { FOLLOW_ON_SYMBOL_in_create_event_tail2275_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_create_event_tail2277  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_create_event_tail2277_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000011000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_create_event_tail2277	= { FOLLOW_SLAVE_SYMBOL_in_create_event_tail2277_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_event_tail2286  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_event_tail2286_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_event_tail2286	= { FOLLOW_COMMENT_SYMBOL_in_create_event_tail2286_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_event_tail2288  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_event_tail2288_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_create_event_tail2288	= { FOLLOW_string_literal_in_create_event_tail2288_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_create_event_tail2294  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_create_event_tail2294_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_create_event_tail2294	= { FOLLOW_DO_SYMBOL_in_create_event_tail2294_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_event_tail2296  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_event_tail2296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_event_tail2296	= { FOLLOW_compound_statement_in_create_event_tail2296_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_with_definer_in_create_routine2306  */
static	ANTLR3_BITWORD FOLLOW_create_with_definer_in_create_routine2306_bits[]	= { ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_create_with_definer_in_create_routine2306	= { FOLLOW_create_with_definer_in_create_routine2306_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_routine_or_udf_in_create_routine2308  */
static	ANTLR3_BITWORD FOLLOW_create_routine_or_udf_in_create_routine2308_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_routine_or_udf_in_create_routine2308	= { FOLLOW_create_routine_or_udf_in_create_routine2308_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_routine2310  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_routine2310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_routine2310	= { FOLLOW_SEMICOLON_SYMBOL_in_create_routine2310_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_routine2313  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_routine2313_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_routine2313	= { FOLLOW_EOF_in_create_routine2313_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_with_definer_in_create_procedure2323  */
static	ANTLR3_BITWORD FOLLOW_create_with_definer_in_create_procedure2323_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_create_with_definer_in_create_procedure2323	= { FOLLOW_create_with_definer_in_create_procedure2323_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_body_in_create_procedure2325  */
static	ANTLR3_BITWORD FOLLOW_procedure_body_in_create_procedure2325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_body_in_create_procedure2325	= { FOLLOW_procedure_body_in_create_procedure2325_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_procedure2327  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_procedure2327_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_procedure2327	= { FOLLOW_SEMICOLON_SYMBOL_in_create_procedure2327_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_procedure2330  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_procedure2330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_procedure2330	= { FOLLOW_EOF_in_create_procedure2330_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_with_definer_in_create_function2340  */
static	ANTLR3_BITWORD FOLLOW_create_with_definer_in_create_function2340_bits[]	= { ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_with_definer_in_create_function2340	= { FOLLOW_create_with_definer_in_create_function2340_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_body_in_create_function2342  */
static	ANTLR3_BITWORD FOLLOW_function_body_in_create_function2342_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_function_body_in_create_function2342	= { FOLLOW_function_body_in_create_function2342_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_function2344  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_function2344_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_function2344	= { FOLLOW_SEMICOLON_SYMBOL_in_create_function2344_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_function2347  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_function2347_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_function2347	= { FOLLOW_EOF_in_create_function2347_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_body_in_create_routine_or_udf2356  */
static	ANTLR3_BITWORD FOLLOW_procedure_body_in_create_routine_or_udf2356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_body_in_create_routine_or_udf2356	= { FOLLOW_procedure_body_in_create_routine_or_udf2356_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_body_in_create_routine_or_udf2361  */
static	ANTLR3_BITWORD FOLLOW_function_body_in_create_routine_or_udf2361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_body_in_create_routine_or_udf2361	= { FOLLOW_function_body_in_create_routine_or_udf2361_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_procedure_body2370  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_procedure_body2370_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_procedure_body2370	= { FOLLOW_PROCEDURE_SYMBOL_in_procedure_body2370_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_name_in_procedure_body2372  */
static	ANTLR3_BITWORD FOLLOW_procedure_name_in_procedure_body2372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_name_in_procedure_body2372	= { FOLLOW_procedure_name_in_procedure_body2372_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_procedure_body2374  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_procedure_body2374_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000080020400), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_procedure_body2374	= { FOLLOW_OPEN_PAR_SYMBOL_in_procedure_body2374_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_parameter_in_procedure_body2377  */
static	ANTLR3_BITWORD FOLLOW_procedure_parameter_in_procedure_body2377_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_parameter_in_procedure_body2377	= { FOLLOW_procedure_parameter_in_procedure_body2377_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_procedure_body2380  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_procedure_body2380_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000080020400), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_procedure_body2380	= { FOLLOW_COMMA_SYMBOL_in_procedure_body2380_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_parameter_in_procedure_body2382  */
static	ANTLR3_BITWORD FOLLOW_procedure_parameter_in_procedure_body2382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_parameter_in_procedure_body2382	= { FOLLOW_procedure_parameter_in_procedure_body2382_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_body2388  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_body2388_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E91ECDFD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002803C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028008002000080), ANTLR3_UINT64_LIT(0x40018820035E0A00), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_body2388	= { FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_body2388_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_options_in_procedure_body2392  */
static	ANTLR3_BITWORD FOLLOW_routine_create_options_in_procedure_body2392_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_options_in_procedure_body2392	= { FOLLOW_routine_create_options_in_procedure_body2392_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_procedure_body2395  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_procedure_body2395_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_procedure_body2395	= { FOLLOW_compound_statement_in_procedure_body2395_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_function_body2405  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_function_body2405_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_function_body2405	= { FOLLOW_FUNCTION_SYMBOL_in_function_body2405_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_name_in_function_body2412  */
static	ANTLR3_BITWORD FOLLOW_function_name_in_function_body2412_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_function_name_in_function_body2412	= { FOLLOW_function_name_in_function_body2412_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_body2414  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_body2414_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_body2414	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_body2414_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_function_body2417  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_function_body2417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_function_body2417	= { FOLLOW_function_parameter_in_function_body2417_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_body2420  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_body2420_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_body2420	= { FOLLOW_COMMA_SYMBOL_in_function_body2420_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_function_body2422  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_function_body2422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_function_body2422	= { FOLLOW_function_parameter_in_function_body2422_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_body2428  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_body2428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_body2428	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_body2428_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNS_SYMBOL_in_function_body2430  */
static	ANTLR3_BITWORD FOLLOW_RETURNS_SYMBOL_in_function_body2430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800180000000680), ANTLR3_UINT64_LIT(0x00000800000D0000), ANTLR3_UINT64_LIT(0x0300020187000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000001220000), ANTLR3_UINT64_LIT(0x0000000010010030), ANTLR3_UINT64_LIT(0x0004000001000020), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x000020000001C058), ANTLR3_UINT64_LIT(0x0020080000004000), ANTLR3_UINT64_LIT(0xA000000380000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNS_SYMBOL_in_function_body2430	= { FOLLOW_RETURNS_SYMBOL_in_function_body2430_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_function_body2435  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_function_body2435_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E91ECDFD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002803C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028008002000080), ANTLR3_UINT64_LIT(0x40018820035E0A00), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_function_body2435	= { FOLLOW_data_type_in_function_body2435_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_options_in_function_body2437  */
static	ANTLR3_BITWORD FOLLOW_routine_create_options_in_function_body2437_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_options_in_function_body2437	= { FOLLOW_routine_create_options_in_function_body2437_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_function_body2440  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_function_body2440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_function_body2440	= { FOLLOW_compound_statement_in_function_body2440_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_tail_in_function_body2446  */
static	ANTLR3_BITWORD FOLLOW_udf_tail_in_function_body2446_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_tail_in_function_body2446	= { FOLLOW_udf_tail_in_function_body2446_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AGGREGATE_SYMBOL_in_function_body2454  */
static	ANTLR3_BITWORD FOLLOW_AGGREGATE_SYMBOL_in_function_body2454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AGGREGATE_SYMBOL_in_function_body2454	= { FOLLOW_AGGREGATE_SYMBOL_in_function_body2454_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_function_body2456  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_function_body2456_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_function_body2456	= { FOLLOW_FUNCTION_SYMBOL_in_function_body2456_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_tail_in_function_body2458  */
static	ANTLR3_BITWORD FOLLOW_udf_tail_in_function_body2458_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_tail_in_function_body2458	= { FOLLOW_udf_tail_in_function_body2458_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_name_in_udf_tail2468  */
static	ANTLR3_BITWORD FOLLOW_udf_name_in_udf_tail2468_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_name_in_udf_tail2468	= { FOLLOW_udf_name_in_udf_tail2468_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNS_SYMBOL_in_udf_tail2470  */
static	ANTLR3_BITWORD FOLLOW_RETURNS_SYMBOL_in_udf_tail2470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNS_SYMBOL_in_udf_tail2470	= { FOLLOW_RETURNS_SYMBOL_in_udf_tail2470_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_udf_tail2472  */
static	ANTLR3_BITWORD FOLLOW_set_in_udf_tail2472_bits[]	= { ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_udf_tail2472	= { FOLLOW_set_in_udf_tail2472_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SONAME_SYMBOL_in_udf_tail2488  */
static	ANTLR3_BITWORD FOLLOW_SONAME_SYMBOL_in_udf_tail2488_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SONAME_SYMBOL_in_udf_tail2488	= { FOLLOW_SONAME_SYMBOL_in_udf_tail2488_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_udf_tail2490  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_udf_tail2490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_udf_tail2490	= { FOLLOW_string_literal_in_udf_tail2490_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_option_in_routine_create_options2499  */
static	ANTLR3_BITWORD FOLLOW_routine_create_option_in_routine_create_options2499_bits[]	= { ANTLR3_UINT64_LIT(0x000000000C005002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008002000000), ANTLR3_UINT64_LIT(0x4000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_option_in_routine_create_options2499	= { FOLLOW_routine_create_option_in_routine_create_options2499_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_option_in_routine_create_option2519  */
static	ANTLR3_BITWORD FOLLOW_routine_option_in_routine_create_option2519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_option_in_routine_create_option2519	= { FOLLOW_routine_option_in_routine_create_option2519_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_routine_create_option2524  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_routine_create_option2524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_routine_create_option2524	= { FOLLOW_NOT_SYMBOL_in_routine_create_option2524_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option2527  */
static	ANTLR3_BITWORD FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option2527_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option2527	= { FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option2527_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_option_in_routine_alter_options2536  */
static	ANTLR3_BITWORD FOLLOW_routine_create_option_in_routine_alter_options2536_bits[]	= { ANTLR3_UINT64_LIT(0x000000000C005002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008002000000), ANTLR3_UINT64_LIT(0x4000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_option_in_routine_alter_options2536	= { FOLLOW_routine_create_option_in_routine_alter_options2536_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_routine_option2556  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_routine_option2556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_routine_option2556	= { FOLLOW_COMMENT_SYMBOL_in_routine_option2556_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_routine_option2558  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_routine_option2558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_routine_option2558	= { FOLLOW_string_literal_in_routine_option2558_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LANGUAGE_SYMBOL_in_routine_option2563  */
static	ANTLR3_BITWORD FOLLOW_LANGUAGE_SYMBOL_in_routine_option2563_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LANGUAGE_SYMBOL_in_routine_option2563	= { FOLLOW_LANGUAGE_SYMBOL_in_routine_option2563_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2565  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2565_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2565	= { FOLLOW_SQL_SYMBOL_in_routine_option2565_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_routine_option2570  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_routine_option2570_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_routine_option2570	= { FOLLOW_NO_SYMBOL_in_routine_option2570_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2572  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2572_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2572	= { FOLLOW_SQL_SYMBOL_in_routine_option2572_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTAINS_SYMBOL_in_routine_option2577  */
static	ANTLR3_BITWORD FOLLOW_CONTAINS_SYMBOL_in_routine_option2577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTAINS_SYMBOL_in_routine_option2577	= { FOLLOW_CONTAINS_SYMBOL_in_routine_option2577_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2579  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2579_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2579	= { FOLLOW_SQL_SYMBOL_in_routine_option2579_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READS_SYMBOL_in_routine_option2584  */
static	ANTLR3_BITWORD FOLLOW_READS_SYMBOL_in_routine_option2584_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READS_SYMBOL_in_routine_option2584	= { FOLLOW_READS_SYMBOL_in_routine_option2584_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2586  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2586	= { FOLLOW_SQL_SYMBOL_in_routine_option2586_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_routine_option2588  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_routine_option2588_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_routine_option2588	= { FOLLOW_DATA_SYMBOL_in_routine_option2588_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODIFIES_SYMBOL_in_routine_option2593  */
static	ANTLR3_BITWORD FOLLOW_MODIFIES_SYMBOL_in_routine_option2593_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MODIFIES_SYMBOL_in_routine_option2593	= { FOLLOW_MODIFIES_SYMBOL_in_routine_option2593_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2595  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2595_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2595	= { FOLLOW_SQL_SYMBOL_in_routine_option2595_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_routine_option2597  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_routine_option2597_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_routine_option2597	= { FOLLOW_DATA_SYMBOL_in_routine_option2597_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2602  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2602_bits[]	= { ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2602	= { FOLLOW_SQL_SYMBOL_in_routine_option2602_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_routine_option2604  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_routine_option2604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_routine_option2604	= { FOLLOW_SECURITY_SYMBOL_in_routine_option2604_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_routine_option2606  */
static	ANTLR3_BITWORD FOLLOW_set_in_routine_option2606_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_routine_option2606	= { FOLLOW_set_in_routine_option2606_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_index2622  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_index2622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000C00000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_index2622	= { FOLLOW_CREATE_SYMBOL_in_create_index2622_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_tail_in_create_index2625  */
static	ANTLR3_BITWORD FOLLOW_create_index_tail_in_create_index2625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_tail_in_create_index2625	= { FOLLOW_create_index_tail_in_create_index2625_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_index2627  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_index2627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_index2627	= { FOLLOW_SEMICOLON_SYMBOL_in_create_index2627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_index2630  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_index2630_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_index2630	= { FOLLOW_EOF_in_create_index2630_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_create_index_tail2639  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_create_index_tail2639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_create_index_tail2639	= { FOLLOW_online_option_in_create_index_tail2639_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_create_index_tail2647  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_create_index_tail2647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_create_index_tail2647	= { FOLLOW_UNIQUE_SYMBOL_in_create_index_tail2647_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index_tail2650  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index_tail2650_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index_tail2650	= { FOLLOW_INDEX_SYMBOL_in_create_index_tail2650_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index_tail2652  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index_tail2652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index_tail2652	= { FOLLOW_identifier_in_create_index_tail2652_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_index_tail2654  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_index_tail2654_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_index_tail2654	= { FOLLOW_index_type_in_create_index_tail2654_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index_tail2657  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index_tail2657_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index_tail2657	= { FOLLOW_create_index_target_in_create_index_tail2657_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_index_tail2659  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_index_tail2659_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_index_tail2659	= { FOLLOW_index_option_in_create_index_tail2659_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index_tail2662  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index_tail2662_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index_tail2662	= { FOLLOW_index_lock_algorithm_in_create_index_tail2662_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULLTEXT_SYMBOL_in_create_index_tail2669  */
static	ANTLR3_BITWORD FOLLOW_FULLTEXT_SYMBOL_in_create_index_tail2669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULLTEXT_SYMBOL_in_create_index_tail2669	= { FOLLOW_FULLTEXT_SYMBOL_in_create_index_tail2669_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index_tail2671  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index_tail2671_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index_tail2671	= { FOLLOW_INDEX_SYMBOL_in_create_index_tail2671_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index_tail2673  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index_tail2673_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index_tail2673	= { FOLLOW_identifier_in_create_index_tail2673_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index_tail2675  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index_tail2675_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index_tail2675	= { FOLLOW_create_index_target_in_create_index_tail2675_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fulltext_index_option_in_create_index_tail2677  */
static	ANTLR3_BITWORD FOLLOW_fulltext_index_option_in_create_index_tail2677_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_fulltext_index_option_in_create_index_tail2677	= { FOLLOW_fulltext_index_option_in_create_index_tail2677_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index_tail2680  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index_tail2680_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index_tail2680	= { FOLLOW_index_lock_algorithm_in_create_index_tail2680_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SPATIAL_SYMBOL_in_create_index_tail2687  */
static	ANTLR3_BITWORD FOLLOW_SPATIAL_SYMBOL_in_create_index_tail2687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_SPATIAL_SYMBOL_in_create_index_tail2687	= { FOLLOW_SPATIAL_SYMBOL_in_create_index_tail2687_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index_tail2689  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index_tail2689_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index_tail2689	= { FOLLOW_INDEX_SYMBOL_in_create_index_tail2689_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index_tail2691  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index_tail2691_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index_tail2691	= { FOLLOW_identifier_in_create_index_tail2691_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index_tail2693  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index_tail2693_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index_tail2693	= { FOLLOW_create_index_target_in_create_index_tail2693_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_create_index_tail2695  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_create_index_tail2695_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_create_index_tail2695	= { FOLLOW_spatial_index_option_in_create_index_tail2695_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index_tail2698  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index_tail2698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index_tail2698	= { FOLLOW_index_lock_algorithm_in_create_index_tail2698_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_index_target2711  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_index_target2711_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_index_target2711	= { FOLLOW_ON_SYMBOL_in_create_index_target2711_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_create_index_target2714  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_create_index_target2714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_create_index_target2714	= { FOLLOW_table_ref_in_create_index_target2714_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_index_target2716  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_index_target2716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_index_target2716	= { FOLLOW_index_columns_in_create_index_target2716_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_logfile_group2726  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_logfile_group2726_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_logfile_group2726	= { FOLLOW_CREATE_SYMBOL_in_create_logfile_group2726_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_logfile_group_tail_in_create_logfile_group2729  */
static	ANTLR3_BITWORD FOLLOW_create_logfile_group_tail_in_create_logfile_group2729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_logfile_group_tail_in_create_logfile_group2729	= { FOLLOW_create_logfile_group_tail_in_create_logfile_group2729_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_logfile_group2731  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_logfile_group2731_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_logfile_group2731	= { FOLLOW_SEMICOLON_SYMBOL_in_create_logfile_group2731_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_logfile_group2734  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_logfile_group2734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_logfile_group2734	= { FOLLOW_EOF_in_create_logfile_group2734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group_tail2743  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group_tail2743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group_tail2743	= { FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group_tail2743_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_create_logfile_group_tail2745  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_create_logfile_group_tail2745_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_create_logfile_group_tail2745	= { FOLLOW_GROUP_SYMBOL_in_create_logfile_group_tail2745_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_name_in_create_logfile_group_tail2747  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_name_in_create_logfile_group_tail2747_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_name_in_create_logfile_group_tail2747	= { FOLLOW_logfile_group_name_in_create_logfile_group_tail2747_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_create_logfile_group_tail2749  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_create_logfile_group_tail2749_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_create_logfile_group_tail2749	= { FOLLOW_ADD_SYMBOL_in_create_logfile_group_tail2749_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_logfile_group_tail2751  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_logfile_group_tail2751_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_logfile_group_tail2751	= { FOLLOW_set_in_create_logfile_group_tail2751_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_logfile_group_tail2759  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_logfile_group_tail2759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000006000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000040080000001) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_create_logfile_group_tail2759	= { FOLLOW_string_literal_in_create_logfile_group_tail2759_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_options_in_create_logfile_group_tail2763  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_options_in_create_logfile_group_tail2763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_options_in_create_logfile_group_tail2763	= { FOLLOW_logfile_group_options_in_create_logfile_group_tail2763_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_option_in_logfile_group_options2774  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_option_in_logfile_group_options2774_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000006000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000040080000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_option_in_logfile_group_options2774	= { FOLLOW_logfile_group_option_in_logfile_group_options2774_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_logfile_group_options2777  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_logfile_group_options2777_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000006000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000040080000001) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_logfile_group_options2777	= { FOLLOW_COMMA_SYMBOL_in_logfile_group_options2777_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_option_in_logfile_group_options2780  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_option_in_logfile_group_options2780_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000006000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000040080000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_option_in_logfile_group_options2780	= { FOLLOW_logfile_group_option_in_logfile_group_options2780_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2810  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2810_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2810	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2810_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2812  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2812	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2812_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_logfile_group_option2815  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_logfile_group_option2815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_logfile_group_option2815	= { FOLLOW_size_number_in_logfile_group_option2815_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2820  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2820_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2820	= { FOLLOW_set_in_logfile_group_option2820_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2828  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2828_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2828	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2828_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_logfile_group_option2831  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_logfile_group_option2831_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_logfile_group_option2831	= { FOLLOW_size_number_in_logfile_group_option2831_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2836  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2836_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2836	= { FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2836_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2838  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2838	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2838_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2841  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2841	= { FOLLOW_set_in_logfile_group_option2841_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2852  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2852	= { FOLLOW_set_in_logfile_group_option2852_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2863  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2863_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2863	= { FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2863_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2865  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2865_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2865	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2865_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_logfile_group_option2868  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_logfile_group_option2868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_logfile_group_option2868	= { FOLLOW_string_literal_in_logfile_group_option2868_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2873  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2873	= { FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2873_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2876  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2876_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2876	= { FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2876_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2878  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2878_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2878	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2878_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_logfile_group_option2881  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_logfile_group_option2881_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_logfile_group_option2881	= { FOLLOW_engine_ref_in_logfile_group_option2881_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_server2892  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_server2892_bits[]	= { ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_server2892	= { FOLLOW_CREATE_SYMBOL_in_create_server2892_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_server_tail_in_create_server2895  */
static	ANTLR3_BITWORD FOLLOW_create_server_tail_in_create_server2895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_server_tail_in_create_server2895	= { FOLLOW_create_server_tail_in_create_server2895_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_server2897  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_server2897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_server2897	= { FOLLOW_SEMICOLON_SYMBOL_in_create_server2897_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_server2900  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_server2900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_server2900	= { FOLLOW_EOF_in_create_server2900_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_create_server_tail2909  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_create_server_tail2909_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_create_server_tail2909	= { FOLLOW_SERVER_SYMBOL_in_create_server_tail2909_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_server_tail2911  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_server_tail2911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_create_server_tail2911	= { FOLLOW_text_or_identifier_in_create_server_tail2911_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_create_server_tail2915  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_create_server_tail2915_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_create_server_tail2915	= { FOLLOW_FOREIGN_SYMBOL_in_create_server_tail2915_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_create_server_tail2917  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_create_server_tail2917_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_create_server_tail2917	= { FOLLOW_DATA_SYMBOL_in_create_server_tail2917_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WRAPPER_SYMBOL_in_create_server_tail2919  */
static	ANTLR3_BITWORD FOLLOW_WRAPPER_SYMBOL_in_create_server_tail2919_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WRAPPER_SYMBOL_in_create_server_tail2919	= { FOLLOW_WRAPPER_SYMBOL_in_create_server_tail2919_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_server_tail2921  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_server_tail2921_bits[]	= { ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_create_server_tail2921	= { FOLLOW_text_or_identifier_in_create_server_tail2921_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_options_in_create_server_tail2923  */
static	ANTLR3_BITWORD FOLLOW_server_options_in_create_server_tail2923_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_options_in_create_server_tail2923	= { FOLLOW_server_options_in_create_server_tail2923_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIONS_SYMBOL_in_server_options2932  */
static	ANTLR3_BITWORD FOLLOW_OPTIONS_SYMBOL_in_server_options2932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIONS_SYMBOL_in_server_options2932	= { FOLLOW_OPTIONS_SYMBOL_in_server_options2932_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_server_options2935  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_server_options2935_bits[]	= { ANTLR3_UINT64_LIT(0x0000400241000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_server_options2935	= { FOLLOW_OPEN_PAR_SYMBOL_in_server_options2935_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_option_in_server_options2937  */
static	ANTLR3_BITWORD FOLLOW_server_option_in_server_options2937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_server_option_in_server_options2937	= { FOLLOW_server_option_in_server_options2937_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_server_options2940  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_server_options2940_bits[]	= { ANTLR3_UINT64_LIT(0x0000400241000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_server_options2940	= { FOLLOW_COMMA_SYMBOL_in_server_options2940_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_option_in_server_options2942  */
static	ANTLR3_BITWORD FOLLOW_server_option_in_server_options2942_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_server_option_in_server_options2942	= { FOLLOW_server_option_in_server_options2942_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2946  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2946_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2946	= { FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2946_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOST_SYMBOL_in_server_option2956  */
static	ANTLR3_BITWORD FOLLOW_HOST_SYMBOL_in_server_option2956_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HOST_SYMBOL_in_server_option2956	= { FOLLOW_HOST_SYMBOL_in_server_option2956_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2958  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2958	= { FOLLOW_string_literal_in_server_option2958_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_server_option2963  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_server_option2963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_server_option2963	= { FOLLOW_DATABASE_SYMBOL_in_server_option2963_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2965  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2965	= { FOLLOW_string_literal_in_server_option2965_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_server_option2970  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_server_option2970_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_server_option2970	= { FOLLOW_USER_SYMBOL_in_server_option2970_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2972  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2972_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2972	= { FOLLOW_string_literal_in_server_option2972_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_server_option2977  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_server_option2977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_server_option2977	= { FOLLOW_PASSWORD_SYMBOL_in_server_option2977_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2979  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2979_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2979	= { FOLLOW_string_literal_in_server_option2979_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOCKET_SYMBOL_in_server_option2984  */
static	ANTLR3_BITWORD FOLLOW_SOCKET_SYMBOL_in_server_option2984_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SOCKET_SYMBOL_in_server_option2984	= { FOLLOW_SOCKET_SYMBOL_in_server_option2984_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2986  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2986	= { FOLLOW_string_literal_in_server_option2986_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OWNER_SYMBOL_in_server_option2991  */
static	ANTLR3_BITWORD FOLLOW_OWNER_SYMBOL_in_server_option2991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OWNER_SYMBOL_in_server_option2991	= { FOLLOW_OWNER_SYMBOL_in_server_option2991_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2993  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2993_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2993	= { FOLLOW_string_literal_in_server_option2993_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PORT_SYMBOL_in_server_option2998  */
static	ANTLR3_BITWORD FOLLOW_PORT_SYMBOL_in_server_option2998_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PORT_SYMBOL_in_server_option2998	= { FOLLOW_PORT_SYMBOL_in_server_option2998_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_server_option3000  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_server_option3000_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_server_option3000	= { FOLLOW_INTEGER_in_server_option3000_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_table3010  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_table3010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_table3010	= { FOLLOW_CREATE_SYMBOL_in_create_table3010_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_tail_in_create_table3013  */
static	ANTLR3_BITWORD FOLLOW_create_table_tail_in_create_table3013_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_tail_in_create_table3013	= { FOLLOW_create_table_tail_in_create_table3013_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_table3015  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_table3015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_table3015	= { FOLLOW_SEMICOLON_SYMBOL_in_create_table3015_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_table3018  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_table3018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_table3018	= { FOLLOW_EOF_in_create_table3018_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_create_table_tail3027  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_create_table_tail3027_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEMPORARY_SYMBOL_in_create_table_tail3027	= { FOLLOW_TEMPORARY_SYMBOL_in_create_table_tail3027_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_create_table_tail3030  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_create_table_tail3030_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_create_table_tail3030	= { FOLLOW_TABLE_SYMBOL_in_create_table_tail3030_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_table_tail3032  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_table_tail3032_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_table_tail3032	= { FOLLOW_if_not_exists_in_create_table_tail3032_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_in_create_table_tail3035  */
static	ANTLR3_BITWORD FOLLOW_table_name_in_create_table_tail3035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100001600), ANTLR3_UINT64_LIT(0x1001020040000014), ANTLR3_UINT64_LIT(0x0002006000000000), ANTLR3_UINT64_LIT(0x0008400000100000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x1000000004006001), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0008000000005000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_name_in_create_table_tail3035	= { FOLLOW_table_name_in_create_table_tail3035_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3044  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3044_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000080020000002), ANTLR3_UINT64_LIT(0x0110000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3044	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3044_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_in_create_table_tail3057  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_in_create_table_tail3057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_field_list_in_create_table_tail3057	= { FOLLOW_create_field_list_in_create_table_tail3057_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3059  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3059_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100001602), ANTLR3_UINT64_LIT(0x1001020040000014), ANTLR3_UINT64_LIT(0x0002006000000000), ANTLR3_UINT64_LIT(0x0008400000100000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x1000000004006001), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000005000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3059	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3059_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_options_in_create_table_tail3061  */
static	ANTLR3_BITWORD FOLLOW_create_table_options_in_create_table_tail3061_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_options_in_create_table_tail3061	= { FOLLOW_create_table_options_in_create_table_tail3061_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table_tail3064  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table_tail3064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table_tail3064	= { FOLLOW_partitioning_in_create_table_tail3064_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_creation_source_in_create_table_tail3067  */
static	ANTLR3_BITWORD FOLLOW_table_creation_source_in_create_table_tail3067_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_creation_source_in_create_table_tail3067	= { FOLLOW_table_creation_source_in_create_table_tail3067_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table_tail3077  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table_tail3077_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table_tail3077	= { FOLLOW_partitioning_in_create_table_tail3077_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_create_table_tail3079  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_create_table_tail3079_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_create_table_tail3079	= { FOLLOW_create_select_in_create_table_tail3079_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3081  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3081	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3081_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_create_table_tail3083  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_create_table_tail3083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_create_table_tail3083	= { FOLLOW_union_clause_in_create_table_tail3083_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_options_in_create_table_tail3097  */
static	ANTLR3_BITWORD FOLLOW_create_table_options_in_create_table_tail3097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_options_in_create_table_tail3097	= { FOLLOW_create_table_options_in_create_table_tail3097_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table_tail3100  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table_tail3100_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table_tail3100	= { FOLLOW_partitioning_in_create_table_tail3100_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_creation_source_in_create_table_tail3103  */
static	ANTLR3_BITWORD FOLLOW_table_creation_source_in_create_table_tail3103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_creation_source_in_create_table_tail3103	= { FOLLOW_table_creation_source_in_create_table_tail3103_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_create_table_tail3110  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_create_table_tail3110_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_create_table_tail3110	= { FOLLOW_LIKE_SYMBOL_in_create_table_tail3110_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_create_table_tail3112  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_create_table_tail3112_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_create_table_tail3112	= { FOLLOW_table_ref_in_create_table_tail3112_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3119  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3119	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3119_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_create_table_tail3121  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_create_table_tail3121_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_create_table_tail3121	= { FOLLOW_LIKE_SYMBOL_in_create_table_tail3121_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_create_table_tail3123  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_create_table_tail3123_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_create_table_tail3123	= { FOLLOW_table_ref_in_create_table_tail3123_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3125  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3125	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3125_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_item_in_create_field_list3138  */
static	ANTLR3_BITWORD FOLLOW_create_item_in_create_field_list3138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_item_in_create_field_list3138	= { FOLLOW_create_item_in_create_field_list3138_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_field_list3141  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_field_list3141_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000080020000002), ANTLR3_UINT64_LIT(0x0110000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_field_list3141	= { FOLLOW_COMMA_SYMBOL_in_create_field_list3141_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_item_in_create_field_list3143  */
static	ANTLR3_BITWORD FOLLOW_create_item_in_create_field_list3143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_item_in_create_field_list3143	= { FOLLOW_create_item_in_create_field_list3143_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_item_in_create_item3154  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_item_in_create_item3154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_field_list_item_in_create_item3154	= { FOLLOW_create_field_list_item_in_create_item3154_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_create_field_list_item3171  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_create_field_list_item3171_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_create_field_list_item3171	= { FOLLOW_column_definition_in_create_field_list_item3171_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item3177  */
static	ANTLR3_BITWORD FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item3177_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0010000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item3177	= { FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item3177_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item3179  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item3179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item3179	= { FOLLOW_identifier_in_create_field_list_item3179_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item3191  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item3191_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item3191	= { FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item3191_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_create_field_list_item3193  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_create_field_list_item3193_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_create_field_list_item3193	= { FOLLOW_KEY_SYMBOL_in_create_field_list_item3193_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item3195  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item3195_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_field_list_item3195	= { FOLLOW_index_type_in_create_field_list_item3195_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item3198  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item3198_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item3198	= { FOLLOW_index_columns_in_create_field_list_item3198_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item3200  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item3200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item3200	= { FOLLOW_index_option_in_create_field_list_item3200_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item3208  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item3208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item3208	= { FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item3208_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_create_field_list_item3210  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_create_field_list_item3210_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_create_field_list_item3210	= { FOLLOW_KEY_SYMBOL_in_create_field_list_item3210_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_create_field_list_item3212  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_create_field_list_item3212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_create_field_list_item3212	= { FOLLOW_pure_identifier_in_create_field_list_item3212_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item3215  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item3215_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item3215	= { FOLLOW_index_columns_in_create_field_list_item3215_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_create_field_list_item3217  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_create_field_list_item3217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_create_field_list_item3217	= { FOLLOW_reference_definition_in_create_field_list_item3217_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item3224  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item3224_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item3224	= { FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item3224_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item3235  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item3235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item3235	= { FOLLOW_identifier_in_create_field_list_item3235_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item3238  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item3238_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_field_list_item3238	= { FOLLOW_index_type_in_create_field_list_item3238_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item3241  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item3241_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item3241	= { FOLLOW_index_columns_in_create_field_list_item3241_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item3243  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item3243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item3243	= { FOLLOW_index_option_in_create_field_list_item3243_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_field_list_item3253  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_field_list_item3253_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_field_list_item3253	= { FOLLOW_set_in_create_field_list_item3253_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item3261  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item3261_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item3261	= { FOLLOW_identifier_in_create_field_list_item3261_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item3264  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item3264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_field_list_item3264	= { FOLLOW_index_type_in_create_field_list_item3264_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item3267  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item3267_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item3267	= { FOLLOW_index_columns_in_create_field_list_item3267_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item3269  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item3269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item3269	= { FOLLOW_index_option_in_create_field_list_item3269_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_field_list_item3275  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_field_list_item3275_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000040000004400), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_field_list_item3275	= { FOLLOW_set_in_create_field_list_item3275_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item3292  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item3292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item3292	= { FOLLOW_identifier_in_create_field_list_item3292_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item3295  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item3295_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item3295	= { FOLLOW_index_columns_in_create_field_list_item3295_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item3297  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item3297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item3297	= { FOLLOW_index_option_in_create_field_list_item3297_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_create_field_list_item3303  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_create_field_list_item3303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_create_field_list_item3303	= { FOLLOW_CHECK_SYMBOL_in_create_field_list_item3303_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item3305  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item3305_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item3305	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item3305_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_create_field_list_item3307  */
static	ANTLR3_BITWORD FOLLOW_expression_in_create_field_list_item3307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_create_field_list_item3307	= { FOLLOW_expression_in_create_field_list_item3307_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item3309  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item3309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item3309	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item3309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_table_creation_source3328  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_table_creation_source3328_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_table_creation_source3328	= { FOLLOW_AS_SYMBOL_in_table_creation_source3328_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_table_creation_source3336  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_table_creation_source3336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_table_creation_source3336	= { FOLLOW_create_select_in_table_creation_source3336_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_table_creation_source3338  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_table_creation_source3338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_table_creation_source3338	= { FOLLOW_union_clause_in_table_creation_source3338_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source3345  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source3345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source3345	= { FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source3345_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_table_creation_source3347  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_table_creation_source3347_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_table_creation_source3347	= { FOLLOW_create_select_in_table_creation_source3347_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source3349  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source3349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source3349	= { FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source3349_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_table_creation_source3351  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_table_creation_source3351_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_table_creation_source3351	= { FOLLOW_union_or_order_by_or_limit_in_table_creation_source3351_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_create_select3365  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_create_select3365_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_create_select3365	= { FOLLOW_SELECT_SYMBOL_in_create_select3365_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_create_select3381  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_create_select3381_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_create_select3381	= { FOLLOW_select_option_in_create_select3381_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_create_select3385  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_create_select3385_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A0000000000000), ANTLR3_UINT64_LIT(0x1010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_create_select3385	= { FOLLOW_select_item_list_in_create_select3385_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_expression_in_create_select3387  */
static	ANTLR3_BITWORD FOLLOW_table_expression_in_create_select3387_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_expression_in_create_select3387	= { FOLLOW_table_expression_in_create_select3387_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_tablespace3397  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_tablespace3397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_tablespace3397	= { FOLLOW_CREATE_SYMBOL_in_create_tablespace3397_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_tablespace_tail_in_create_tablespace3400  */
static	ANTLR3_BITWORD FOLLOW_create_tablespace_tail_in_create_tablespace3400_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_tablespace_tail_in_create_tablespace3400	= { FOLLOW_create_tablespace_tail_in_create_tablespace3400_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_tablespace3402  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_tablespace3402_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_tablespace3402	= { FOLLOW_SEMICOLON_SYMBOL_in_create_tablespace3402_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_tablespace3405  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_tablespace3405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_tablespace3405	= { FOLLOW_EOF_in_create_tablespace3405_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace_tail3414  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace_tail3414_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace_tail3414	= { FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace_tail3414_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_name_in_create_tablespace_tail3416  */
static	ANTLR3_BITWORD FOLLOW_tablespace_name_in_create_tablespace_tail3416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_tablespace_name_in_create_tablespace_tail3416	= { FOLLOW_tablespace_name_in_create_tablespace_tail3416_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_create_tablespace_tail3418  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_create_tablespace_tail3418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_create_tablespace_tail3418	= { FOLLOW_ADD_SYMBOL_in_create_tablespace_tail3418_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_create_tablespace_tail3420  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_create_tablespace_tail3420_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATAFILE_SYMBOL_in_create_tablespace_tail3420	= { FOLLOW_DATAFILE_SYMBOL_in_create_tablespace_tail3420_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_tablespace_tail3422  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_tablespace_tail3422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000080), ANTLR3_UINT64_LIT(0x0000006000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_create_tablespace_tail3422	= { FOLLOW_string_literal_in_create_tablespace_tail3422_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_create_tablespace_tail3427  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_create_tablespace_tail3427_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_create_tablespace_tail3427	= { FOLLOW_USE_SYMBOL_in_create_tablespace_tail3427_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_create_tablespace_tail3429  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_create_tablespace_tail3429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_create_tablespace_tail3429	= { FOLLOW_LOGFILE_SYMBOL_in_create_tablespace_tail3429_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_create_tablespace_tail3431  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_create_tablespace_tail3431_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_create_tablespace_tail3431	= { FOLLOW_GROUP_SYMBOL_in_create_tablespace_tail3431_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_ref_in_create_tablespace_tail3433  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_ref_in_create_tablespace_tail3433_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000080), ANTLR3_UINT64_LIT(0x0000006000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_ref_in_create_tablespace_tail3433	= { FOLLOW_logfile_group_ref_in_create_tablespace_tail3433_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_tablespace_option_in_create_tablespace_tail3438  */
static	ANTLR3_BITWORD FOLLOW_create_tablespace_option_in_create_tablespace_tail3438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000080), ANTLR3_UINT64_LIT(0x0000006000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_tablespace_option_in_create_tablespace_tail3438	= { FOLLOW_create_tablespace_option_in_create_tablespace_tail3438_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_tablespace_tail3441  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_tablespace_tail3441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000080), ANTLR3_UINT64_LIT(0x0000006000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_tablespace_tail3441	= { FOLLOW_COMMA_SYMBOL_in_create_tablespace_tail3441_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_tablespace_option_in_create_tablespace_tail3444  */
static	ANTLR3_BITWORD FOLLOW_create_tablespace_option_in_create_tablespace_tail3444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000000000000008), ANTLR3_UINT64_LIT(0x0000000080000080), ANTLR3_UINT64_LIT(0x0000006000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_tablespace_option_in_create_tablespace_tail3444	= { FOLLOW_create_tablespace_option_in_create_tablespace_tail3444_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_create_tablespace_option3457  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_create_tablespace_option3457_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_create_tablespace_option3457	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_create_tablespace_option3457_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3459  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3459_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3459	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3459_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_create_tablespace_option3462  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_create_tablespace_option3462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_create_tablespace_option3462	= { FOLLOW_size_number_in_create_tablespace_option3462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_create_tablespace_option3467  */
static	ANTLR3_BITWORD FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_create_tablespace_option3467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_create_tablespace_option3467	= { FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_create_tablespace_option3467_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3469  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3469	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3469_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_create_tablespace_option3472  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_create_tablespace_option3472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_create_tablespace_option3472	= { FOLLOW_size_number_in_create_tablespace_option3472_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SIZE_SYMBOL_in_create_tablespace_option3477  */
static	ANTLR3_BITWORD FOLLOW_MAX_SIZE_SYMBOL_in_create_tablespace_option3477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SIZE_SYMBOL_in_create_tablespace_option3477	= { FOLLOW_MAX_SIZE_SYMBOL_in_create_tablespace_option3477_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3479  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3479	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3479_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_create_tablespace_option3482  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_create_tablespace_option3482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_create_tablespace_option3482	= { FOLLOW_size_number_in_create_tablespace_option3482_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENT_SIZE_SYMBOL_in_create_tablespace_option3487  */
static	ANTLR3_BITWORD FOLLOW_EXTENT_SIZE_SYMBOL_in_create_tablespace_option3487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENT_SIZE_SYMBOL_in_create_tablespace_option3487	= { FOLLOW_EXTENT_SIZE_SYMBOL_in_create_tablespace_option3487_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3489  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000410) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3489	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3489_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_create_tablespace_option3492  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_create_tablespace_option3492_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_create_tablespace_option3492	= { FOLLOW_size_number_in_create_tablespace_option3492_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_create_tablespace_option3497  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_create_tablespace_option3497_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_create_tablespace_option3497	= { FOLLOW_NODEGROUP_SYMBOL_in_create_tablespace_option3497_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3499  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3499_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3499	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3499_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_tablespace_option3502  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_tablespace_option3502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_tablespace_option3502	= { FOLLOW_set_in_create_tablespace_option3502_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_create_tablespace_option3513  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_create_tablespace_option3513_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_create_tablespace_option3513	= { FOLLOW_STORAGE_SYMBOL_in_create_tablespace_option3513_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_create_tablespace_option3516  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_create_tablespace_option3516_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_create_tablespace_option3516	= { FOLLOW_ENGINE_SYMBOL_in_create_tablespace_option3516_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3518  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3518_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3518	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3518_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_create_tablespace_option3521  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_create_tablespace_option3521_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_create_tablespace_option3521	= { FOLLOW_engine_ref_in_create_tablespace_option3521_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_tablespace_option3526  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_tablespace_option3526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_tablespace_option3526	= { FOLLOW_set_in_create_tablespace_option3526_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_tablespace_option3537  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_tablespace_option3537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_tablespace_option3537	= { FOLLOW_COMMENT_SYMBOL_in_create_tablespace_option3537_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3539  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3539_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3539	= { FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3539_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_tablespace_option3542  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_tablespace_option3542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_create_tablespace_option3542	= { FOLLOW_string_literal_in_create_tablespace_option3542_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_with_definer_in_create_trigger3552  */
static	ANTLR3_BITWORD FOLLOW_create_with_definer_in_create_trigger3552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_with_definer_in_create_trigger3552	= { FOLLOW_create_with_definer_in_create_trigger3552_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_trigger_tail_in_create_trigger3554  */
static	ANTLR3_BITWORD FOLLOW_create_trigger_tail_in_create_trigger3554_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_trigger_tail_in_create_trigger3554	= { FOLLOW_create_trigger_tail_in_create_trigger3554_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_trigger3556  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_trigger3556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_trigger3556	= { FOLLOW_SEMICOLON_SYMBOL_in_create_trigger3556_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_trigger3559  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_trigger3559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_trigger3559	= { FOLLOW_EOF_in_create_trigger3559_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_create_trigger_tail3568  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_create_trigger_tail3568_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_create_trigger_tail3568	= { FOLLOW_TRIGGER_SYMBOL_in_create_trigger_tail3568_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trigger_name_in_create_trigger_tail3570  */
static	ANTLR3_BITWORD FOLLOW_trigger_name_in_create_trigger_tail3570_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_trigger_name_in_create_trigger_tail3570	= { FOLLOW_trigger_name_in_create_trigger_tail3570_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_trigger_tail3572  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_trigger_tail3572_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_trigger_tail3572	= { FOLLOW_set_in_create_trigger_tail3572_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_trigger_tail3580  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_trigger_tail3580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_trigger_tail3580	= { FOLLOW_set_in_create_trigger_tail3580_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_trigger_tail3594  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_trigger_tail3594_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_trigger_tail3594	= { FOLLOW_ON_SYMBOL_in_create_trigger_tail3594_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_create_trigger_tail3596  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_create_trigger_tail3596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_create_trigger_tail3596	= { FOLLOW_table_ref_in_create_trigger_tail3596_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_create_trigger_tail3598  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_create_trigger_tail3598_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_create_trigger_tail3598	= { FOLLOW_FOR_SYMBOL_in_create_trigger_tail3598_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EACH_SYMBOL_in_create_trigger_tail3600  */
static	ANTLR3_BITWORD FOLLOW_EACH_SYMBOL_in_create_trigger_tail3600_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EACH_SYMBOL_in_create_trigger_tail3600	= { FOLLOW_EACH_SYMBOL_in_create_trigger_tail3600_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_SYMBOL_in_create_trigger_tail3602  */
static	ANTLR3_BITWORD FOLLOW_ROW_SYMBOL_in_create_trigger_tail3602_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703ED12DDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_SYMBOL_in_create_trigger_tail3602	= { FOLLOW_ROW_SYMBOL_in_create_trigger_tail3602_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trigger_follows_precedes_clause_in_create_trigger_tail3604  */
static	ANTLR3_BITWORD FOLLOW_trigger_follows_precedes_clause_in_create_trigger_tail3604_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_trigger_follows_precedes_clause_in_create_trigger_tail3604	= { FOLLOW_trigger_follows_precedes_clause_in_create_trigger_tail3604_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_trigger_tail3607  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_trigger_tail3607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_trigger_tail3607	= { FOLLOW_compound_statement_in_create_trigger_tail3607_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_trigger_follows_precedes_clause3620  */
static	ANTLR3_BITWORD FOLLOW_set_in_trigger_follows_precedes_clause3620_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_trigger_follows_precedes_clause3620	= { FOLLOW_set_in_trigger_follows_precedes_clause3620_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_trigger_follows_precedes_clause3628  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_trigger_follows_precedes_clause3628_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_trigger_follows_precedes_clause3628	= { FOLLOW_text_or_identifier_in_trigger_follows_precedes_clause3628_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_view3640  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_view3640_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_view3640	= { FOLLOW_CREATE_SYMBOL_in_create_view3640_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OR_SYMBOL_in_create_view3644  */
static	ANTLR3_BITWORD FOLLOW_OR_SYMBOL_in_create_view3644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_OR_SYMBOL_in_create_view3644	= { FOLLOW_OR_SYMBOL_in_create_view3644_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_create_view3646  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_create_view3646_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_create_view3646	= { FOLLOW_REPLACE_SYMBOL_in_create_view3646_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_create_view3650  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_create_view3650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_create_view3650	= { FOLLOW_view_algorithm_in_create_view3650_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_view3654  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_view3654_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_view3654	= { FOLLOW_definer_clause_in_create_view3654_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_tail_in_create_view3657  */
static	ANTLR3_BITWORD FOLLOW_create_view_tail_in_create_view3657_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_tail_in_create_view3657	= { FOLLOW_create_view_tail_in_create_view3657_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_create_view3659  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_create_view3659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_create_view3659	= { FOLLOW_SEMICOLON_SYMBOL_in_create_view3659_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_create_view3662  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_create_view3662_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_create_view3662	= { FOLLOW_EOF_in_create_view3662_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_create_view_tail3672  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_create_view_tail3672_bits[]	= { ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_create_view_tail3672	= { FOLLOW_SQL_SYMBOL_in_create_view_tail3672_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_create_view_tail3674  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_create_view_tail3674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_create_view_tail3674	= { FOLLOW_SECURITY_SYMBOL_in_create_view_tail3674_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_view_tail3676  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_view_tail3676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_view_tail3676	= { FOLLOW_set_in_create_view_tail3676_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_create_view_tail3688  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_create_view_tail3688_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_create_view_tail3688	= { FOLLOW_VIEW_SYMBOL_in_create_view_tail3688_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_name_in_create_view_tail3690  */
static	ANTLR3_BITWORD FOLLOW_view_name_in_create_view_tail3690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_name_in_create_view_tail3690	= { FOLLOW_view_name_in_create_view_tail3690_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_create_view_tail3692  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_create_view_tail3692_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_create_view_tail3692	= { FOLLOW_identifier_list_with_parentheses_in_create_view_tail3692_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_create_view_tail3697  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_create_view_tail3697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_create_view_tail3697	= { FOLLOW_AS_SYMBOL_in_create_view_tail3697_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_create_view_tail3699  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_create_view_tail3699_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_create_view_tail3699	= { FOLLOW_select_statement_in_create_view_tail3699_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_create_view_tail3704  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_create_view_tail3704_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_create_view_tail3704	= { FOLLOW_WITH_SYMBOL_in_create_view_tail3704_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_create_view_tail3715  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_create_view_tail3715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_create_view_tail3715	= { FOLLOW_CHECK_SYMBOL_in_create_view_tail3715_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_create_view_tail3717  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_create_view_tail3717_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_create_view_tail3717	= { FOLLOW_OPTION_SYMBOL_in_create_view_tail3717_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm3728  */
static	ANTLR3_BITWORD FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm3728_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm3728	= { FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm3728_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm3730  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm3730_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm3730	= { FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm3730_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_view_replace_or_algorithm3732  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_view_replace_or_algorithm3732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_view_replace_or_algorithm3732	= { FOLLOW_view_algorithm_in_view_replace_or_algorithm3732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_view_replace_or_algorithm3738  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_view_replace_or_algorithm3738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_view_replace_or_algorithm3738	= { FOLLOW_view_algorithm_in_view_replace_or_algorithm3738_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm3747  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm3747_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm3747	= { FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm3747_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_view_algorithm3749  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_view_algorithm3749_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040010000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_view_algorithm3749	= { FOLLOW_EQUAL_OPERATOR_in_view_algorithm3749_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_view_algorithm3751  */
static	ANTLR3_BITWORD FOLLOW_set_in_view_algorithm3751_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_view_algorithm3751	= { FOLLOW_set_in_view_algorithm3751_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_drop_statement3772  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_drop_statement3772_bits[]	= { ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000801000D000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000C00000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000004010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_drop_statement3772	= { FOLLOW_DROP_SYMBOL_in_drop_statement3772_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_drop_statement3780  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_drop_statement3780_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_drop_statement3780	= { FOLLOW_DATABASE_SYMBOL_in_drop_statement3780_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3782  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3782_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3782	= { FOLLOW_if_exists_in_drop_statement3782_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_drop_statement3785  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_drop_statement3785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_drop_statement3785	= { FOLLOW_schema_ref_in_drop_statement3785_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_drop_statement3795  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_drop_statement3795_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_drop_statement3795	= { FOLLOW_EVENT_SYMBOL_in_drop_statement3795_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3797  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3797_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3797	= { FOLLOW_if_exists_in_drop_statement3797_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_event_ref_in_drop_statement3800  */
static	ANTLR3_BITWORD FOLLOW_event_ref_in_drop_statement3800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_event_ref_in_drop_statement3800	= { FOLLOW_event_ref_in_drop_statement3800_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_drop_statement3815  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_drop_statement3815_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_drop_statement3815	= { FOLLOW_FUNCTION_SYMBOL_in_drop_statement3815_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3817  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3817_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3817	= { FOLLOW_if_exists_in_drop_statement3817_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_ref_in_drop_statement3820  */
static	ANTLR3_BITWORD FOLLOW_function_ref_in_drop_statement3820_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_ref_in_drop_statement3820	= { FOLLOW_function_ref_in_drop_statement3820_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_drop_statement3829  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_drop_statement3829_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_drop_statement3829	= { FOLLOW_PROCEDURE_SYMBOL_in_drop_statement3829_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3831  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3831_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3831	= { FOLLOW_if_exists_in_drop_statement3831_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_ref_in_drop_statement3834  */
static	ANTLR3_BITWORD FOLLOW_procedure_ref_in_drop_statement3834_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_ref_in_drop_statement3834	= { FOLLOW_procedure_ref_in_drop_statement3834_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_drop_statement3845  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_drop_statement3845_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_drop_statement3845	= { FOLLOW_online_option_in_drop_statement3845_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_drop_statement3848  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_drop_statement3848_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_drop_statement3848	= { FOLLOW_INDEX_SYMBOL_in_drop_statement3848_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3850  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3850_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_drop_statement3850	= { FOLLOW_identifier_in_drop_statement3850_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_drop_statement3852  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_drop_statement3852_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_drop_statement3852	= { FOLLOW_ON_SYMBOL_in_drop_statement3852_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_drop_statement3854  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_drop_statement3854_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_drop_statement3854	= { FOLLOW_table_ref_in_drop_statement3854_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_drop_statement3856  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_drop_statement3856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_drop_statement3856	= { FOLLOW_index_lock_algorithm_in_drop_statement3856_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_drop_statement3863  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_drop_statement3863_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_drop_statement3863	= { FOLLOW_LOGFILE_SYMBOL_in_drop_statement3863_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_drop_statement3865  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_drop_statement3865_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_drop_statement3865	= { FOLLOW_GROUP_SYMBOL_in_drop_statement3865_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_ref_in_drop_statement3867  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_ref_in_drop_statement3867_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_ref_in_drop_statement3867	= { FOLLOW_logfile_group_ref_in_drop_statement3867_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3870  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3870_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3870	= { FOLLOW_drop_logfile_group_option_in_drop_statement3870_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_drop_statement3873  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_drop_statement3873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_drop_statement3873	= { FOLLOW_COMMA_SYMBOL_in_drop_statement3873_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3876  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3876_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3876	= { FOLLOW_drop_logfile_group_option_in_drop_statement3876_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_drop_statement3886  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_drop_statement3886_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_drop_statement3886	= { FOLLOW_SERVER_SYMBOL_in_drop_statement3886_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3888  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3888_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3888	= { FOLLOW_if_exists_in_drop_statement3888_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_drop_statement3891  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_drop_statement3891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_drop_statement3891	= { FOLLOW_text_or_identifier_in_drop_statement3891_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3897  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3897	= { FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3897_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_statement3900  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_statement3900_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_statement3900	= { FOLLOW_set_in_drop_statement3900_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3908  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3908_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3908	= { FOLLOW_if_exists_in_drop_statement3908_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_drop_statement3911  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_drop_statement3911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_drop_statement3911	= { FOLLOW_table_identifier_list_in_drop_statement3911_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3926  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3926_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3926	= { FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3926_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_ref_in_drop_statement3928  */
static	ANTLR3_BITWORD FOLLOW_tablespace_ref_in_drop_statement3928_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_tablespace_ref_in_drop_statement3928	= { FOLLOW_tablespace_ref_in_drop_statement3928_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3931  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3931	= { FOLLOW_drop_logfile_group_option_in_drop_statement3931_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_drop_statement3934  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_drop_statement3934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_drop_statement3934	= { FOLLOW_COMMA_SYMBOL_in_drop_statement3934_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3937  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000001), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3937	= { FOLLOW_drop_logfile_group_option_in_drop_statement3937_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_drop_statement3947  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_drop_statement3947_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_drop_statement3947	= { FOLLOW_TRIGGER_SYMBOL_in_drop_statement3947_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3949  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3949_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3949	= { FOLLOW_if_exists_in_drop_statement3949_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trigger_ref_in_drop_statement3952  */
static	ANTLR3_BITWORD FOLLOW_trigger_ref_in_drop_statement3952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_trigger_ref_in_drop_statement3952	= { FOLLOW_trigger_ref_in_drop_statement3952_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_drop_statement3958  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_drop_statement3958_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_drop_statement3958	= { FOLLOW_VIEW_SYMBOL_in_drop_statement3958_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3960  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3960_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3960	= { FOLLOW_if_exists_in_drop_statement3960_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_identifier_list_in_drop_statement3963  */
static	ANTLR3_BITWORD FOLLOW_view_identifier_list_in_drop_statement3963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_identifier_list_in_drop_statement3963	= { FOLLOW_view_identifier_list_in_drop_statement3963_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_logfile_group_option3984  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_logfile_group_option3984_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_logfile_group_option3984	= { FOLLOW_set_in_drop_logfile_group_option3984_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3995  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3995_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3995	= { FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3995_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3998  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3998_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3998	= { FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3998_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option4000  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option4000_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option4000	= { FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option4000_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_drop_logfile_group_option4003  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_drop_logfile_group_option4003_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_drop_logfile_group_option4003	= { FOLLOW_engine_ref_in_drop_logfile_group_option4003_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_rename_table_statement4013  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_rename_table_statement4013_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_rename_table_statement4013	= { FOLLOW_RENAME_SYMBOL_in_rename_table_statement4013_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_rename_table_statement4016  */
static	ANTLR3_BITWORD FOLLOW_set_in_rename_table_statement4016_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_rename_table_statement4016	= { FOLLOW_set_in_rename_table_statement4016_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_rename_table_statement4026  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_rename_table_statement4026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_rename_table_statement4026	= { FOLLOW_table_ref_in_rename_table_statement4026_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_table_statement4028  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_table_statement4028_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_table_statement4028	= { FOLLOW_TO_SYMBOL_in_rename_table_statement4028_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_rename_table_statement4030  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_rename_table_statement4030_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_rename_table_statement4030	= { FOLLOW_table_ref_in_rename_table_statement4030_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_rename_table_statement4033  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_rename_table_statement4033_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_rename_table_statement4033	= { FOLLOW_COMMA_SYMBOL_in_rename_table_statement4033_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_rename_table_statement4035  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_rename_table_statement4035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_rename_table_statement4035	= { FOLLOW_table_ref_in_rename_table_statement4035_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_table_statement4037  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_table_statement4037_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_table_statement4037	= { FOLLOW_TO_SYMBOL_in_rename_table_statement4037_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_rename_table_statement4039  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_rename_table_statement4039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_rename_table_statement4039	= { FOLLOW_table_ref_in_rename_table_statement4039_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement4053  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement4053_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement4053	= { FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement4053_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_truncate_table_statement4056  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_truncate_table_statement4056_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_truncate_table_statement4056	= { FOLLOW_TABLE_SYMBOL_in_truncate_table_statement4056_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_truncate_table_statement4059  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_truncate_table_statement4059_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_truncate_table_statement4059	= { FOLLOW_table_ref_in_truncate_table_statement4059_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CALL_SYMBOL_in_call_statement4070  */
static	ANTLR3_BITWORD FOLLOW_CALL_SYMBOL_in_call_statement4070_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CALL_SYMBOL_in_call_statement4070	= { FOLLOW_CALL_SYMBOL_in_call_statement4070_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_ref_in_call_statement4073  */
static	ANTLR3_BITWORD FOLLOW_procedure_ref_in_call_statement4073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_ref_in_call_statement4073	= { FOLLOW_procedure_ref_in_call_statement4073_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_call_statement4076  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_call_statement4076_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600090C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_call_statement4076	= { FOLLOW_OPEN_PAR_SYMBOL_in_call_statement4076_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_call_statement4078  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_call_statement4078_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_call_statement4078	= { FOLLOW_expression_list_in_call_statement4078_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement4081  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement4081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement4081	= { FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement4081_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_delete_statement4092  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_delete_statement4092_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0080000000800000), ANTLR3_UINT64_LIT(0x0000000000001400), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_delete_statement4092	= { FOLLOW_DELETE_SYMBOL_in_delete_statement4092_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_option_in_delete_statement4109  */
static	ANTLR3_BITWORD FOLLOW_delete_option_in_delete_statement4109_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0080000000800000), ANTLR3_UINT64_LIT(0x0000000000001400), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_option_in_delete_statement4109	= { FOLLOW_delete_option_in_delete_statement4109_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_delete_statement4120  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_delete_statement4120_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_delete_statement4120	= { FOLLOW_FROM_SYMBOL_in_delete_statement4120_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_list_in_delete_statement4156  */
static	ANTLR3_BITWORD FOLLOW_table_ref_list_in_delete_statement4156_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_list_in_delete_statement4156	= { FOLLOW_table_ref_list_in_delete_statement4156_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_delete_statement4158  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_delete_statement4158_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_delete_statement4158	= { FOLLOW_USING_SYMBOL_in_delete_statement4158_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_list_in_delete_statement4160  */
static	ANTLR3_BITWORD FOLLOW_table_reference_list_in_delete_statement4160_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_list_in_delete_statement4160	= { FOLLOW_table_reference_list_in_delete_statement4160_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement4162  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement4162_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement4162	= { FOLLOW_where_clause_in_delete_statement4162_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_delete_statement4173  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_delete_statement4173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_delete_statement4173	= { FOLLOW_table_ref_in_delete_statement4173_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_delete_in_delete_statement4175  */
static	ANTLR3_BITWORD FOLLOW_partition_delete_in_delete_statement4175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_delete_in_delete_statement4175	= { FOLLOW_partition_delete_in_delete_statement4175_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement4178  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement4178_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement4178	= { FOLLOW_where_clause_in_delete_statement4178_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_delete_statement4181  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_delete_statement4181_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_delete_statement4181	= { FOLLOW_order_by_clause_in_delete_statement4181_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIMIT_SYMBOL_in_delete_statement4185  */
static	ANTLR3_BITWORD FOLLOW_LIMIT_SYMBOL_in_delete_statement4185_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000002000400), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIMIT_SYMBOL_in_delete_statement4185	= { FOLLOW_LIMIT_SYMBOL_in_delete_statement4185_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_delete_statement4187  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_delete_statement4187_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_delete_statement4187	= { FOLLOW_limit_option_in_delete_statement4187_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_list_in_delete_statement4204  */
static	ANTLR3_BITWORD FOLLOW_table_ref_list_in_delete_statement4204_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_list_in_delete_statement4204	= { FOLLOW_table_ref_list_in_delete_statement4204_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_delete_statement4206  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_delete_statement4206_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_delete_statement4206	= { FOLLOW_FROM_SYMBOL_in_delete_statement4206_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_list_in_delete_statement4208  */
static	ANTLR3_BITWORD FOLLOW_table_reference_list_in_delete_statement4208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_list_in_delete_statement4208	= { FOLLOW_table_reference_list_in_delete_statement4208_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement4210  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement4210_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement4210	= { FOLLOW_where_clause_in_delete_statement4210_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partition_delete4229  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partition_delete4229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partition_delete4229	= { FOLLOW_PARTITION_SYMBOL_in_partition_delete4229_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete4231  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete4231_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete4231	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete4231_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_partition_delete4233  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_partition_delete4233_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_partition_delete4233	= { FOLLOW_identifier_list_in_partition_delete4233_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete4235  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete4235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete4235	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete4235_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_with_wildcard_in_table_ref_list4261  */
static	ANTLR3_BITWORD FOLLOW_table_ref_with_wildcard_in_table_ref_list4261_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_with_wildcard_in_table_ref_list4261	= { FOLLOW_table_ref_with_wildcard_in_table_ref_list4261_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_ref_list4264  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_ref_list4264_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_ref_list4264	= { FOLLOW_COMMA_SYMBOL_in_table_ref_list4264_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_with_wildcard_in_table_ref_list4266  */
static	ANTLR3_BITWORD FOLLOW_table_ref_with_wildcard_in_table_ref_list4266_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_with_wildcard_in_table_ref_list4266	= { FOLLOW_table_ref_with_wildcard_in_table_ref_list4266_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_do_statement4277  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_do_statement4277_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_do_statement4277	= { FOLLOW_DO_SYMBOL_in_do_statement4277_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_do_statement4280  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_do_statement4280_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_do_statement4280	= { FOLLOW_expression_list_in_do_statement4280_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HANDLER_SYMBOL_in_handler_statement4289  */
static	ANTLR3_BITWORD FOLLOW_HANDLER_SYMBOL_in_handler_statement4289_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_HANDLER_SYMBOL_in_handler_statement4289	= { FOLLOW_HANDLER_SYMBOL_in_handler_statement4289_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_handler_statement4310  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_handler_statement4310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_handler_statement4310	= { FOLLOW_table_ref_in_handler_statement4310_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_handler_statement4312  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_handler_statement4312_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_handler_statement4312	= { FOLLOW_OPEN_SYMBOL_in_handler_statement4312_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_handler_statement4315  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_handler_statement4315_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_handler_statement4315	= { FOLLOW_AS_SYMBOL_in_handler_statement4315_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement4318  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement4318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_statement4318	= { FOLLOW_identifier_in_handler_statement4318_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_no_db_in_handler_statement4326  */
static	ANTLR3_BITWORD FOLLOW_table_ref_no_db_in_handler_statement4326_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000802), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_no_db_in_handler_statement4326	= { FOLLOW_table_ref_no_db_in_handler_statement4326_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_SYMBOL_in_handler_statement4339  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_SYMBOL_in_handler_statement4339_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_SYMBOL_in_handler_statement4339	= { FOLLOW_CLOSE_SYMBOL_in_handler_statement4339_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_handler_statement4347  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_handler_statement4347_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_handler_statement4347	= { FOLLOW_READ_SYMBOL_in_handler_statement4347_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_read_or_scan_in_handler_statement4349  */
static	ANTLR3_BITWORD FOLLOW_handler_read_or_scan_in_handler_statement4349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_read_or_scan_in_handler_statement4349	= { FOLLOW_handler_read_or_scan_in_handler_statement4349_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_handler_statement4351  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_handler_statement4351_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_handler_statement4351	= { FOLLOW_where_clause_in_handler_statement4351_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_handler_statement4354  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_handler_statement4354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_handler_statement4354	= { FOLLOW_limit_clause_in_handler_statement4354_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_read_or_scan4372  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_read_or_scan4372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_read_or_scan4372	= { FOLLOW_set_in_handler_read_or_scan4372_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_read_or_scan4384  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_read_or_scan4384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000008000), ANTLR3_UINT64_LIT(0x0800000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_read_or_scan4384	= { FOLLOW_identifier_in_handler_read_or_scan4384_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_handler_read_or_scan4393  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_handler_read_or_scan4393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_handler_read_or_scan4393	= { FOLLOW_FIRST_SYMBOL_in_handler_read_or_scan4393_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NEXT_SYMBOL_in_handler_read_or_scan4400  */
static	ANTLR3_BITWORD FOLLOW_NEXT_SYMBOL_in_handler_read_or_scan4400_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NEXT_SYMBOL_in_handler_read_or_scan4400	= { FOLLOW_NEXT_SYMBOL_in_handler_read_or_scan4400_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREV_SYMBOL_in_handler_read_or_scan4407  */
static	ANTLR3_BITWORD FOLLOW_PREV_SYMBOL_in_handler_read_or_scan4407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PREV_SYMBOL_in_handler_read_or_scan4407	= { FOLLOW_PREV_SYMBOL_in_handler_read_or_scan4407_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LAST_SYMBOL_in_handler_read_or_scan4414  */
static	ANTLR3_BITWORD FOLLOW_LAST_SYMBOL_in_handler_read_or_scan4414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LAST_SYMBOL_in_handler_read_or_scan4414	= { FOLLOW_LAST_SYMBOL_in_handler_read_or_scan4414_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_read_or_scan4421  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_read_or_scan4421_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_read_or_scan4421	= { FOLLOW_set_in_handler_read_or_scan4421_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_handler_read_or_scan4445  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_handler_read_or_scan4445_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_handler_read_or_scan4445	= { FOLLOW_OPEN_PAR_SYMBOL_in_handler_read_or_scan4445_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_handler_read_or_scan4447  */
static	ANTLR3_BITWORD FOLLOW_values_in_handler_read_or_scan4447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_handler_read_or_scan4447	= { FOLLOW_values_in_handler_read_or_scan4447_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_handler_read_or_scan4449  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_handler_read_or_scan4449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_handler_read_or_scan4449	= { FOLLOW_CLOSE_PAR_SYMBOL_in_handler_read_or_scan4449_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_insert_statement4464  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_insert_statement4464_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900200), ANTLR3_UINT64_LIT(0x0000000010001440), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_insert_statement4464	= { FOLLOW_INSERT_SYMBOL_in_insert_statement4464_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_lock_option_in_insert_statement4467  */
static	ANTLR3_BITWORD FOLLOW_insert_lock_option_in_insert_statement4467_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000010001400) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_lock_option_in_insert_statement4467	= { FOLLOW_insert_lock_option_in_insert_statement4467_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_insert_statement4470  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_insert_statement4470_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000010000400) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_insert_statement4470	= { FOLLOW_IGNORE_SYMBOL_in_insert_statement4470_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_insert_statement4473  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_insert_statement4473_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_insert_statement4473	= { FOLLOW_INTO_SYMBOL_in_insert_statement4473_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_insert_statement4476  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_insert_statement4476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000082000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_insert_statement4476	= { FOLLOW_table_ref_in_insert_statement4476_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_insert_statement4478  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_insert_statement4478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000082000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_insert_statement4478	= { FOLLOW_use_partition_in_insert_statement4478_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_field_spec_in_insert_statement4481  */
static	ANTLR3_BITWORD FOLLOW_insert_field_spec_in_insert_statement4481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_field_spec_in_insert_statement4481	= { FOLLOW_insert_field_spec_in_insert_statement4481_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_duplicate_key_update_in_insert_statement4483  */
static	ANTLR3_BITWORD FOLLOW_duplicate_key_update_in_insert_statement4483_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_duplicate_key_update_in_insert_statement4483	= { FOLLOW_duplicate_key_update_in_insert_statement4483_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec4515  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec4515_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec4515	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec4515_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_in_insert_field_spec4517  */
static	ANTLR3_BITWORD FOLLOW_fields_in_insert_field_spec4517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_in_insert_field_spec4517	= { FOLLOW_fields_in_insert_field_spec4517_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec4520  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec4520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec4520	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec4520_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_values_in_insert_field_spec4524  */
static	ANTLR3_BITWORD FOLLOW_insert_values_in_insert_field_spec4524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_values_in_insert_field_spec4524	= { FOLLOW_insert_values_in_insert_field_spec4524_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_insert_field_spec4529  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_insert_field_spec4529_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_insert_field_spec4529	= { FOLLOW_SET_SYMBOL_in_insert_field_spec4529_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_insert_field_spec4531  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_insert_field_spec4531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_insert_field_spec4531	= { FOLLOW_column_assignment_list_with_default_in_insert_field_spec4531_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_in_fields4540  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_in_fields4540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_identifier_in_fields4540	= { FOLLOW_insert_identifier_in_fields4540_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_fields4543  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_fields4543_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_fields4543	= { FOLLOW_COMMA_SYMBOL_in_fields4543_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_in_fields4545  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_in_fields4545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_identifier_in_fields4545	= { FOLLOW_insert_identifier_in_fields4545_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_with_wildcard_in_insert_identifier4556  */
static	ANTLR3_BITWORD FOLLOW_column_ref_with_wildcard_in_insert_identifier4556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_with_wildcard_in_insert_identifier4556	= { FOLLOW_column_ref_with_wildcard_in_insert_identifier4556_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_insert_values4573  */
static	ANTLR3_BITWORD FOLLOW_set_in_insert_values4573_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_insert_values4573	= { FOLLOW_set_in_insert_values4573_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_value_list_in_insert_values4581  */
static	ANTLR3_BITWORD FOLLOW_insert_value_list_in_insert_values4581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_value_list_in_insert_values4581	= { FOLLOW_insert_value_list_in_insert_values4581_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_insert_values4586  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_insert_values4586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_insert_values4586	= { FOLLOW_create_select_in_insert_values4586_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_insert_values4588  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_insert_values4588_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_insert_values4588	= { FOLLOW_union_clause_in_insert_values4588_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_values4594  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_values4594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_insert_values4594	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_values4594_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_insert_values4596  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_insert_values4596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_insert_values4596	= { FOLLOW_create_select_in_insert_values4596_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values4598  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values4598_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values4598	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values4598_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_insert_values4600  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_insert_values4600_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_insert_values4600	= { FOLLOW_union_or_order_by_or_limit_in_insert_values4600_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4610  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4610_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600090C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4610	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4610_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_insert_value_list4612  */
static	ANTLR3_BITWORD FOLLOW_values_in_insert_value_list4612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_insert_value_list4612	= { FOLLOW_values_in_insert_value_list4612_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4615  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4615	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4615_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_insert_value_list4618  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_insert_value_list4618_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_insert_value_list4618	= { FOLLOW_COMMA_SYMBOL_in_insert_value_list4618_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4620  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4620_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600090C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4620	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4620_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_insert_value_list4622  */
static	ANTLR3_BITWORD FOLLOW_values_in_insert_value_list4622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_insert_value_list4622	= { FOLLOW_values_in_insert_value_list4622_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4625  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4625	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4625_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_values4637  */
static	ANTLR3_BITWORD FOLLOW_expression_in_values4637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_values4637	= { FOLLOW_expression_in_values4637_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_values4641  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_values4641_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_values4641	= { FOLLOW_DEFAULT_SYMBOL_in_values4641_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_values4645  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_values4645_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_values4645	= { FOLLOW_COMMA_SYMBOL_in_values4645_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_values4648  */
static	ANTLR3_BITWORD FOLLOW_expression_in_values4648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_values4648	= { FOLLOW_expression_in_values4648_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_values4652  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_values4652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_values4652	= { FOLLOW_DEFAULT_SYMBOL_in_values4652_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_duplicate_key_update4664  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_duplicate_key_update4664_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_duplicate_key_update4664	= { FOLLOW_ON_SYMBOL_in_duplicate_key_update4664_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update4666  */
static	ANTLR3_BITWORD FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update4666_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update4666	= { FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update4666_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_duplicate_key_update4668  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_duplicate_key_update4668_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_duplicate_key_update4668	= { FOLLOW_KEY_SYMBOL_in_duplicate_key_update4668_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update4670  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update4670_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update4670	= { FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update4670_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_duplicate_key_update4672  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_duplicate_key_update4672_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_duplicate_key_update4672	= { FOLLOW_column_assignment_list_with_default_in_duplicate_key_update4672_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_load_statement4683  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_load_statement4683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOAD_SYMBOL_in_load_statement4683	= { FOLLOW_LOAD_SYMBOL_in_load_statement4683_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_or_xml_in_load_statement4686  */
static	ANTLR3_BITWORD FOLLOW_data_or_xml_in_load_statement4686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_data_or_xml_in_load_statement4686	= { FOLLOW_data_or_xml_in_load_statement4686_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_load_statement4697  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_load_statement4697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_load_statement4697	= { FOLLOW_LOCAL_SYMBOL_in_load_statement4697_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INFILE_SYMBOL_in_load_statement4700  */
static	ANTLR3_BITWORD FOLLOW_INFILE_SYMBOL_in_load_statement4700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INFILE_SYMBOL_in_load_statement4700	= { FOLLOW_INFILE_SYMBOL_in_load_statement4700_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_load_statement4702  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_load_statement4702_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_load_statement4702	= { FOLLOW_string_literal_in_load_statement4702_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_load_statement4715  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_load_statement4715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_load_statement4715	= { FOLLOW_INTO_SYMBOL_in_load_statement4715_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_load_statement4717  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_load_statement4717_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_load_statement4717	= { FOLLOW_TABLE_SYMBOL_in_load_statement4717_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_load_statement4719  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_load_statement4719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000200), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_load_statement4719	= { FOLLOW_table_ref_in_load_statement4719_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_load_statement4723  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_load_statement4723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_load_statement4723	= { FOLLOW_use_partition_in_load_statement4723_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_load_statement4726  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_load_statement4726_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_load_statement4726	= { FOLLOW_charset_clause_in_load_statement4726_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xml_rows_identified_by_in_load_statement4731  */
static	ANTLR3_BITWORD FOLLOW_xml_rows_identified_by_in_load_statement4731_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_xml_rows_identified_by_in_load_statement4731	= { FOLLOW_xml_rows_identified_by_in_load_statement4731_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_clause_in_load_statement4736  */
static	ANTLR3_BITWORD FOLLOW_fields_clause_in_load_statement4736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_clause_in_load_statement4736	= { FOLLOW_fields_clause_in_load_statement4736_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lines_clause_in_load_statement4739  */
static	ANTLR3_BITWORD FOLLOW_lines_clause_in_load_statement4739_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_lines_clause_in_load_statement4739	= { FOLLOW_lines_clause_in_load_statement4739_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_data_file_tail_in_load_statement4744  */
static	ANTLR3_BITWORD FOLLOW_load_data_file_tail_in_load_statement4744_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_data_file_tail_in_load_statement4744	= { FOLLOW_load_data_file_tail_in_load_statement4744_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_data_or_xml4753  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_data_or_xml4753_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_data_or_xml4753	= { FOLLOW_DATA_SYMBOL_in_data_or_xml4753_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XML_SYMBOL_in_data_or_xml4762  */
static	ANTLR3_BITWORD FOLLOW_XML_SYMBOL_in_data_or_xml4762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_XML_SYMBOL_in_data_or_xml4762	= { FOLLOW_XML_SYMBOL_in_data_or_xml4762_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4775  */
static	ANTLR3_BITWORD FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4775_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4775	= { FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4775_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4777  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4777_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4777	= { FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4777_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4779  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4779_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4779	= { FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4779_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_xml_rows_identified_by4781  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_xml_rows_identified_by4781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_xml_rows_identified_by4781	= { FOLLOW_text_string_in_xml_rows_identified_by4781_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4791  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4791_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4791	= { FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4791_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_load_data_file_tail4793  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_load_data_file_tail4793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_load_data_file_tail4793	= { FOLLOW_INTEGER_in_load_data_file_tail4793_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_load_data_file_tail4795  */
static	ANTLR3_BITWORD FOLLOW_set_in_load_data_file_tail4795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_load_data_file_tail4795	= { FOLLOW_set_in_load_data_file_tail4795_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_data_file_target_list_in_load_data_file_tail4805  */
static	ANTLR3_BITWORD FOLLOW_load_data_file_target_list_in_load_data_file_tail4805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_load_data_file_target_list_in_load_data_file_tail4805	= { FOLLOW_load_data_file_target_list_in_load_data_file_tail4805_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_load_data_file_tail4809  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_load_data_file_tail4809_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_load_data_file_tail4809	= { FOLLOW_SET_SYMBOL_in_load_data_file_tail4809_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4811  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4811	= { FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4811_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4822  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4822_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xC003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4822	= { FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4822_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_or_variable_list_in_load_data_file_target_list4824  */
static	ANTLR3_BITWORD FOLLOW_field_or_variable_list_in_load_data_file_target_list4824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_or_variable_list_in_load_data_file_target_list4824	= { FOLLOW_field_or_variable_list_in_load_data_file_target_list4824_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4827  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4827	= { FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_field_or_variable_list4837  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_field_or_variable_list4837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_field_or_variable_list4837	= { FOLLOW_column_ref_in_field_or_variable_list4837_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_field_or_variable_list4841  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_field_or_variable_list4841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_field_or_variable_list4841	= { FOLLOW_user_variable_in_field_or_variable_list4841_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4845  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4845_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xC003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4845	= { FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4845_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_field_or_variable_list4848  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_field_or_variable_list4848_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_field_or_variable_list4848	= { FOLLOW_column_ref_in_field_or_variable_list4848_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_field_or_variable_list4852  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_field_or_variable_list4852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_field_or_variable_list4852	= { FOLLOW_user_variable_in_field_or_variable_list4852_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_replace_statement4866  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_replace_statement4866_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900200), ANTLR3_UINT64_LIT(0x0000000010000400), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_replace_statement4866	= { FOLLOW_REPLACE_SYMBOL_in_replace_statement4866_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_replace_statement4878  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_replace_statement4878_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_replace_statement4878	= { FOLLOW_INTO_SYMBOL_in_replace_statement4878_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_replace_statement4881  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_replace_statement4881_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000082000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_replace_statement4881	= { FOLLOW_table_ref_in_replace_statement4881_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_replace_statement4885  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_replace_statement4885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000082000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_replace_statement4885	= { FOLLOW_use_partition_in_replace_statement4885_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_field_spec_in_replace_statement4888  */
static	ANTLR3_BITWORD FOLLOW_insert_field_spec_in_replace_statement4888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_field_spec_in_replace_statement4888	= { FOLLOW_insert_field_spec_in_replace_statement4888_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_select_statement4899  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_select_statement4899_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_select_statement4899	= { FOLLOW_SELECT_SYMBOL_in_select_statement4899_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_in_select_statement4902  */
static	ANTLR3_BITWORD FOLLOW_select_part2_in_select_statement4902_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_in_select_statement4902	= { FOLLOW_select_part2_in_select_statement4902_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_select_statement4904  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_select_statement4904_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_select_statement4904	= { FOLLOW_union_clause_in_select_statement4904_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4910  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4910_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4910	= { FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4910_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_paren_in_select_statement4912  */
static	ANTLR3_BITWORD FOLLOW_select_paren_in_select_statement4912_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_paren_in_select_statement4912	= { FOLLOW_select_paren_in_select_statement4912_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4914  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4914	= { FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4914_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_select_statement4916  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_select_statement4916_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_select_statement4916	= { FOLLOW_union_or_order_by_or_limit_in_select_statement4916_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_select_paren4926  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_select_paren4926_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_select_paren4926	= { FOLLOW_SELECT_SYMBOL_in_select_paren4926_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_in_select_paren4929  */
static	ANTLR3_BITWORD FOLLOW_select_part2_in_select_paren4929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_in_select_paren4929	= { FOLLOW_select_part2_in_select_paren4929_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4934  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4934	= { FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4934_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_paren_in_select_paren4936  */
static	ANTLR3_BITWORD FOLLOW_select_paren_in_select_paren4936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_paren_in_select_paren4936	= { FOLLOW_select_paren_in_select_paren4936_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4938  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4938	= { FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4938_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_clause_in_select_from4947  */
static	ANTLR3_BITWORD FOLLOW_from_clause_in_select_from4947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_from_clause_in_select_from4947	= { FOLLOW_from_clause_in_select_from4947_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_select_from4949  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_select_from4949_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_select_from4949	= { FOLLOW_where_clause_in_select_from4949_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_by_clause_in_select_from4952  */
static	ANTLR3_BITWORD FOLLOW_group_by_clause_in_select_from4952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000004), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_group_by_clause_in_select_from4952	= { FOLLOW_group_by_clause_in_select_from4952_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_having_clause_in_select_from4955  */
static	ANTLR3_BITWORD FOLLOW_having_clause_in_select_from4955_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_having_clause_in_select_from4955	= { FOLLOW_having_clause_in_select_from4955_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_select_from4958  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_select_from4958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_select_from4958	= { FOLLOW_order_by_clause_in_select_from4958_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_from4961  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_from4961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_from4961	= { FOLLOW_limit_clause_in_select_from4961_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_analyse_clause_in_select_from4964  */
static	ANTLR3_BITWORD FOLLOW_procedure_analyse_clause_in_select_from4964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_analyse_clause_in_select_from4964	= { FOLLOW_procedure_analyse_clause_in_select_from4964_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_select_part24988  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_select_part24988_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_select_part24988	= { FOLLOW_select_option_in_select_part24988_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_select_part24992  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_select_part24992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A0000000000000), ANTLR3_UINT64_LIT(0x1010000010000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_select_part24992	= { FOLLOW_select_item_list_in_select_part24992_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_select_part25001  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_select_part25001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_select_part25001	= { FOLLOW_order_by_clause_in_select_part25001_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_part25004  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_part25004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_part25004	= { FOLLOW_limit_clause_in_select_part25004_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_into_clause_in_select_part25012  */
static	ANTLR3_BITWORD FOLLOW_into_clause_in_select_part25012_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A0000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_into_clause_in_select_part25012	= { FOLLOW_into_clause_in_select_part25012_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_select_part25014  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_select_part25014_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_select_part25014	= { FOLLOW_select_from_in_select_part25014_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_select_part25022  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_select_part25022_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_select_part25022	= { FOLLOW_select_from_in_select_part25022_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_into_clause_in_select_part25024  */
static	ANTLR3_BITWORD FOLLOW_into_clause_in_select_part25024_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_into_clause_in_select_part25024	= { FOLLOW_into_clause_in_select_part25024_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_select_part25033  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_select_part25033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_select_part25033	= { FOLLOW_select_lock_type_in_select_part25033_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_clause_in_table_expression5043  */
static	ANTLR3_BITWORD FOLLOW_from_clause_in_table_expression5043_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_from_clause_in_table_expression5043	= { FOLLOW_from_clause_in_table_expression5043_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_table_expression5061  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_table_expression5061_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_table_expression5061	= { FOLLOW_where_clause_in_table_expression5061_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_by_clause_in_table_expression5080  */
static	ANTLR3_BITWORD FOLLOW_group_by_clause_in_table_expression5080_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1010000000000004), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_group_by_clause_in_table_expression5080	= { FOLLOW_group_by_clause_in_table_expression5080_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_having_clause_in_table_expression5099  */
static	ANTLR3_BITWORD FOLLOW_having_clause_in_table_expression5099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_having_clause_in_table_expression5099	= { FOLLOW_having_clause_in_table_expression5099_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_table_expression5118  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_table_expression5118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_table_expression5118	= { FOLLOW_order_by_clause_in_table_expression5118_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_table_expression5137  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_table_expression5137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_table_expression5137	= { FOLLOW_limit_clause_in_table_expression5137_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_analyse_clause_in_table_expression5156  */
static	ANTLR3_BITWORD FOLLOW_procedure_analyse_clause_in_table_expression5156_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_analyse_clause_in_table_expression5156	= { FOLLOW_procedure_analyse_clause_in_table_expression5156_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_table_expression5175  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_table_expression5175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_table_expression5175	= { FOLLOW_select_lock_type_in_table_expression5175_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_subquery5187  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_subquery5187_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_subquery5187	= { FOLLOW_OPEN_PAR_SYMBOL_in_subquery5187_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_body_in_subquery5189  */
static	ANTLR3_BITWORD FOLLOW_query_expression_body_in_subquery5189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_body_in_subquery5189	= { FOLLOW_query_expression_body_in_subquery5189_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_subquery5191  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_subquery5191_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_subquery5191	= { FOLLOW_CLOSE_PAR_SYMBOL_in_subquery5191_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_specification_in_query_expression_body5214  */
static	ANTLR3_BITWORD FOLLOW_query_specification_in_query_expression_body5214_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_query_specification_in_query_expression_body5214	= { FOLLOW_query_specification_in_query_expression_body5214_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_query_expression_body5217  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_query_expression_body5217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_query_expression_body5217	= { FOLLOW_UNION_SYMBOL_in_query_expression_body5217_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_query_expression_body5219  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_query_expression_body5219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_query_expression_body5219	= { FOLLOW_union_option_in_query_expression_body5219_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_specification_in_query_expression_body5221  */
static	ANTLR3_BITWORD FOLLOW_query_specification_in_query_expression_body5221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_query_specification_in_query_expression_body5221	= { FOLLOW_query_specification_in_query_expression_body5221_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_spec_option_in_select_part2_derived5249  */
static	ANTLR3_BITWORD FOLLOW_query_spec_option_in_select_part2_derived5249_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_query_spec_option_in_select_part2_derived5249	= { FOLLOW_query_spec_option_in_select_part2_derived5249_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_select_part2_derived5259  */
static	ANTLR3_BITWORD FOLLOW_set_in_select_part2_derived5259_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_select_part2_derived5259	= { FOLLOW_set_in_select_part2_derived5259_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_select_part2_derived5271  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_select_part2_derived5271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_select_part2_derived5271	= { FOLLOW_select_item_list_in_select_part2_derived5271_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_spec_option_in_select_option5280  */
static	ANTLR3_BITWORD FOLLOW_query_spec_option_in_select_option5280_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_query_spec_option_in_select_option5280	= { FOLLOW_query_spec_option_in_select_option5280_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option5285  */
static	ANTLR3_BITWORD FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option5285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option5285	= { FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option5285_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_CACHE_SYMBOL_in_select_option5290  */
static	ANTLR3_BITWORD FOLLOW_SQL_CACHE_SYMBOL_in_select_option5290_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_CACHE_SYMBOL_in_select_option5290	= { FOLLOW_SQL_CACHE_SYMBOL_in_select_option5290_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_STATEMENT_TIME_SYMBOL_in_select_option5299  */
static	ANTLR3_BITWORD FOLLOW_MAX_STATEMENT_TIME_SYMBOL_in_select_option5299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_STATEMENT_TIME_SYMBOL_in_select_option5299	= { FOLLOW_MAX_STATEMENT_TIME_SYMBOL_in_select_option5299_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_select_option5301  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_select_option5301_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_select_option5301	= { FOLLOW_EQUAL_OPERATOR_in_select_option5301_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_select_option5303  */
static	ANTLR3_BITWORD FOLLOW_number_in_select_option5303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_in_select_option5303	= { FOLLOW_number_in_select_option5303_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_in_select_item_list5358  */
static	ANTLR3_BITWORD FOLLOW_select_item_in_select_item_list5358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_in_select_item_list5358	= { FOLLOW_select_item_in_select_item_list5358_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_select_item_list5362  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_select_item_list5362_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_select_item_list5362	= { FOLLOW_MULT_OPERATOR_in_select_item_list5362_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_select_item_list5379  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_select_item_list5379_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_select_item_list5379	= { FOLLOW_COMMA_SYMBOL_in_select_item_list5379_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_in_select_item_list5381  */
static	ANTLR3_BITWORD FOLLOW_select_item_in_select_item_list5381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_in_select_item_list5381	= { FOLLOW_select_item_in_select_item_list5381_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_wild_in_select_item5403  */
static	ANTLR3_BITWORD FOLLOW_table_wild_in_select_item5403_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_wild_in_select_item5403	= { FOLLOW_table_wild_in_select_item5403_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_select_item5416  */
static	ANTLR3_BITWORD FOLLOW_expression_in_select_item5416_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_select_item5416	= { FOLLOW_expression_in_select_item5416_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_alias_in_select_item5418  */
static	ANTLR3_BITWORD FOLLOW_select_alias_in_select_item5418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_alias_in_select_item5418	= { FOLLOW_select_alias_in_select_item5418_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_select_alias5439  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_select_alias5439_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_select_alias5439	= { FOLLOW_AS_SYMBOL_in_select_alias5439_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_select_alias5442  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_select_alias5442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_select_alias5442	= { FOLLOW_text_or_identifier_in_select_alias5442_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIMIT_SYMBOL_in_limit_clause5460  */
static	ANTLR3_BITWORD FOLLOW_LIMIT_SYMBOL_in_limit_clause5460_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000002000400), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIMIT_SYMBOL_in_limit_clause5460	= { FOLLOW_LIMIT_SYMBOL_in_limit_clause5460_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_options_in_limit_clause5462  */
static	ANTLR3_BITWORD FOLLOW_limit_options_in_limit_clause5462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_options_in_limit_clause5462	= { FOLLOW_limit_options_in_limit_clause5462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_limit_options5471  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_limit_options5471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_limit_options5471	= { FOLLOW_limit_option_in_limit_options5471_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_limit_options5487  */
static	ANTLR3_BITWORD FOLLOW_set_in_limit_options5487_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000002000400), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_limit_options5487	= { FOLLOW_set_in_limit_options5487_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_limit_options5495  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_limit_options5495_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_limit_options5495	= { FOLLOW_limit_option_in_limit_options5495_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_limit_option5506  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_limit_option5506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_limit_option5506	= { FOLLOW_PARAM_MARKER_in_limit_option5506_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_limit_option5511  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_limit_option5511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_limit_option5511	= { FOLLOW_INTEGER_in_limit_option5511_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_limit_option5516  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_limit_option5516_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_limit_option5516	= { FOLLOW_identifier_in_limit_option5516_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_into_clause5526  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_into_clause5526_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xC003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_into_clause5526	= { FOLLOW_INTO_SYMBOL_in_into_clause5526_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTFILE_SYMBOL_in_into_clause5533  */
static	ANTLR3_BITWORD FOLLOW_OUTFILE_SYMBOL_in_into_clause5533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OUTFILE_SYMBOL_in_into_clause5533	= { FOLLOW_OUTFILE_SYMBOL_in_into_clause5533_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_into_clause5535  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_into_clause5535_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_into_clause5535	= { FOLLOW_string_literal_in_into_clause5535_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_into_clause5537  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_into_clause5537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_into_clause5537	= { FOLLOW_charset_clause_in_into_clause5537_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_clause_in_into_clause5540  */
static	ANTLR3_BITWORD FOLLOW_fields_clause_in_into_clause5540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_clause_in_into_clause5540	= { FOLLOW_fields_clause_in_into_clause5540_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lines_clause_in_into_clause5543  */
static	ANTLR3_BITWORD FOLLOW_lines_clause_in_into_clause5543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lines_clause_in_into_clause5543	= { FOLLOW_lines_clause_in_into_clause5543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUMPFILE_SYMBOL_in_into_clause5550  */
static	ANTLR3_BITWORD FOLLOW_DUMPFILE_SYMBOL_in_into_clause5550_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DUMPFILE_SYMBOL_in_into_clause5550	= { FOLLOW_DUMPFILE_SYMBOL_in_into_clause5550_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_into_clause5552  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_into_clause5552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_into_clause5552	= { FOLLOW_string_literal_in_into_clause5552_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_into_clause5558  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_into_clause5558_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_into_clause5558	= { FOLLOW_AT_SIGN_SYMBOL_in_into_clause5558_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_into_clause5561  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_into_clause5561_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_into_clause5561	= { FOLLOW_text_or_identifier_in_into_clause5561_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_into_clause5564  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_into_clause5564_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x4003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_into_clause5564	= { FOLLOW_COMMA_SYMBOL_in_into_clause5564_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_into_clause5566  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_into_clause5566_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_into_clause5566	= { FOLLOW_AT_SIGN_SYMBOL_in_into_clause5566_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_into_clause5569  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_into_clause5569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_into_clause5569	= { FOLLOW_text_or_identifier_in_into_clause5569_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_TEXT_SUFFIX_in_into_clause5577  */
static	ANTLR3_BITWORD FOLLOW_AT_TEXT_SUFFIX_in_into_clause5577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_TEXT_SUFFIX_in_into_clause5577	= { FOLLOW_AT_TEXT_SUFFIX_in_into_clause5577_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_into_clause5580  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_into_clause5580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_into_clause5580	= { FOLLOW_COMMA_SYMBOL_in_into_clause5580_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_TEXT_SUFFIX_in_into_clause5582  */
static	ANTLR3_BITWORD FOLLOW_AT_TEXT_SUFFIX_in_into_clause5582_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_TEXT_SUFFIX_in_into_clause5582	= { FOLLOW_AT_TEXT_SUFFIX_in_into_clause5582_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause5596  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause5596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause5596	= { FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause5596_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause5599  */
static	ANTLR3_BITWORD FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause5599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause5599	= { FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause5599_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause5601  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause5601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause5601	= { FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause5601_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_procedure_analyse_clause5604  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_procedure_analyse_clause5604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_procedure_analyse_clause5604	= { FOLLOW_INTEGER_in_procedure_analyse_clause5604_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause5607  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause5607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause5607	= { FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause5607_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_procedure_analyse_clause5609  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_procedure_analyse_clause5609_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_procedure_analyse_clause5609	= { FOLLOW_INTEGER_in_procedure_analyse_clause5609_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause5615  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause5615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause5615	= { FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause5615_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HAVING_SYMBOL_in_having_clause5624  */
static	ANTLR3_BITWORD FOLLOW_HAVING_SYMBOL_in_having_clause5624_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_HAVING_SYMBOL_in_having_clause5624	= { FOLLOW_HAVING_SYMBOL_in_having_clause5624_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_having_clause5627  */
static	ANTLR3_BITWORD FOLLOW_expression_in_having_clause5627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_having_clause5627	= { FOLLOW_expression_in_having_clause5627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_group_by_clause5636  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_group_by_clause5636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_group_by_clause5636	= { FOLLOW_GROUP_SYMBOL_in_group_by_clause5636_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_group_by_clause5639  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_group_by_clause5639_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_group_by_clause5639	= { FOLLOW_BY_SYMBOL_in_group_by_clause5639_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_direction_in_group_by_clause5641  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_direction_in_group_by_clause5641_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_direction_in_group_by_clause5641	= { FOLLOW_expression_list_with_direction_in_group_by_clause5641_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_olap_option_in_group_by_clause5643  */
static	ANTLR3_BITWORD FOLLOW_olap_option_in_group_by_clause5643_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_olap_option_in_group_by_clause5643	= { FOLLOW_olap_option_in_group_by_clause5643_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_olap_option5653  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_olap_option5653_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_olap_option5653	= { FOLLOW_WITH_SYMBOL_in_olap_option5653_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CUBE_SYMBOL_in_olap_option5655  */
static	ANTLR3_BITWORD FOLLOW_CUBE_SYMBOL_in_olap_option5655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CUBE_SYMBOL_in_olap_option5655	= { FOLLOW_CUBE_SYMBOL_in_olap_option5655_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_olap_option5660  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_olap_option5660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_olap_option5660	= { FOLLOW_WITH_SYMBOL_in_olap_option5660_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLUP_SYMBOL_in_olap_option5662  */
static	ANTLR3_BITWORD FOLLOW_ROLLUP_SYMBOL_in_olap_option5662_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLUP_SYMBOL_in_olap_option5662	= { FOLLOW_ROLLUP_SYMBOL_in_olap_option5662_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_order_by_clause5671  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_order_by_clause5671_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_ORDER_SYMBOL_in_order_by_clause5671	= { FOLLOW_ORDER_SYMBOL_in_order_by_clause5671_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_order_by_clause5674  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_order_by_clause5674_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_order_by_clause5674	= { FOLLOW_BY_SYMBOL_in_order_by_clause5674_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_direction_in_order_by_clause5676  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_direction_in_order_by_clause5676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_direction_in_order_by_clause5676	= { FOLLOW_expression_list_with_direction_in_order_by_clause5676_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_order_by_or_limit5685  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_order_by_or_limit5685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_order_by_or_limit5685	= { FOLLOW_order_by_clause_in_order_by_or_limit5685_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_order_by_or_limit5687  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_order_by_or_limit5687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_order_by_or_limit5687	= { FOLLOW_limit_clause_in_order_by_or_limit5687_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_order_by_or_limit5693  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_order_by_or_limit5693_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_order_by_or_limit5693	= { FOLLOW_limit_clause_in_order_by_or_limit5693_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_from_clause5716  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_from_clause5716_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_from_clause5716	= { FOLLOW_FROM_SYMBOL_in_from_clause5716_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_list_in_from_clause5718  */
static	ANTLR3_BITWORD FOLLOW_table_reference_list_in_from_clause5718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_list_in_from_clause5718	= { FOLLOW_table_reference_list_in_from_clause5718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHERE_SYMBOL_in_where_clause5727  */
static	ANTLR3_BITWORD FOLLOW_WHERE_SYMBOL_in_where_clause5727_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_WHERE_SYMBOL_in_where_clause5727	= { FOLLOW_WHERE_SYMBOL_in_where_clause5727_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_where_clause5730  */
static	ANTLR3_BITWORD FOLLOW_expression_in_where_clause5730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_where_clause5730	= { FOLLOW_expression_in_where_clause5730_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_table_list_in_table_reference_list5739  */
static	ANTLR3_BITWORD FOLLOW_join_table_list_in_table_reference_list5739_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_table_list_in_table_reference_list5739	= { FOLLOW_join_table_list_in_table_reference_list5739_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUAL_SYMBOL_in_table_reference_list5744  */
static	ANTLR3_BITWORD FOLLOW_DUAL_SYMBOL_in_table_reference_list5744_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DUAL_SYMBOL_in_table_reference_list5744	= { FOLLOW_DUAL_SYMBOL_in_table_reference_list5744_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_escaped_table_reference_in_join_table_list5755  */
static	ANTLR3_BITWORD FOLLOW_escaped_table_reference_in_join_table_list5755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_escaped_table_reference_in_join_table_list5755	= { FOLLOW_escaped_table_reference_in_join_table_list5755_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_join_table_list5771  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_join_table_list5771_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_join_table_list5771	= { FOLLOW_COMMA_SYMBOL_in_join_table_list5771_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_escaped_table_reference_in_join_table_list5773  */
static	ANTLR3_BITWORD FOLLOW_escaped_table_reference_in_join_table_list5773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_escaped_table_reference_in_join_table_list5773	= { FOLLOW_escaped_table_reference_in_join_table_list5773_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_escaped_table_reference5790  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_escaped_table_reference5790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_escaped_table_reference5790	= { FOLLOW_table_reference_in_escaped_table_reference5790_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference5795  */
static	ANTLR3_BITWORD FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference5795_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference5795	= { FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference5795_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_escaped_table_reference5797  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_escaped_table_reference5797_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_escaped_table_reference5797	= { FOLLOW_identifier_in_escaped_table_reference5797_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_escaped_table_reference5799  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_escaped_table_reference5799_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_escaped_table_reference5799	= { FOLLOW_table_reference_in_escaped_table_reference5799_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference5801  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference5801_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference5801	= { FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference5801_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_table_reference5811  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_table_reference5811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000804000010000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_table_reference5811	= { FOLLOW_table_factor_in_table_reference5811_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_in_table_reference5827  */
static	ANTLR3_BITWORD FOLLOW_join_in_table_reference5827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000804000010000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_join_in_table_reference5827	= { FOLLOW_join_in_table_reference5827_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_table_in_join5838  */
static	ANTLR3_BITWORD FOLLOW_join_table_in_join5838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_table_in_join5838	= { FOLLOW_join_table_in_join5838_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_table_factor5855  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_table_factor5855_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_table_factor5855	= { FOLLOW_SELECT_SYMBOL_in_table_factor5855_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_table_factor5871  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_table_factor5871_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_table_factor5871	= { FOLLOW_select_option_in_table_factor5871_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_table_factor5875  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_table_factor5875_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A0000000000000), ANTLR3_UINT64_LIT(0x1010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_table_factor5875	= { FOLLOW_select_item_list_in_table_factor5875_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_expression_in_table_factor5877  */
static	ANTLR3_BITWORD FOLLOW_table_expression_in_table_factor5877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_expression_in_table_factor5877	= { FOLLOW_table_expression_in_table_factor5877_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5882  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5882_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5882	= { FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5882_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_table_factor_union_in_table_factor5884  */
static	ANTLR3_BITWORD FOLLOW_select_table_factor_union_in_table_factor5884_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_table_factor_union_in_table_factor5884	= { FOLLOW_select_table_factor_union_in_table_factor5884_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5886  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5886_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5886	= { FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5886_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_table_factor5888  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_table_factor5888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_table_factor5888	= { FOLLOW_table_alias_in_table_factor5888_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_table_factor5894  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_table_factor5894_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0008000100800000), ANTLR3_UINT64_LIT(0x0000000000001400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_table_factor5894	= { FOLLOW_table_ref_in_table_factor5894_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_table_factor5896  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_table_factor5896_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0008000100800000), ANTLR3_UINT64_LIT(0x0000000000001400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_table_factor5896	= { FOLLOW_use_partition_in_table_factor5896_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_table_factor5899  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_table_factor5899_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_table_factor5899	= { FOLLOW_table_alias_in_table_factor5899_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_list_in_table_factor5902  */
static	ANTLR3_BITWORD FOLLOW_index_hint_list_in_table_factor5902_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_list_in_table_factor5902	= { FOLLOW_index_hint_list_in_table_factor5902_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_list_in_select_table_factor_union5913  */
static	ANTLR3_BITWORD FOLLOW_table_reference_list_in_select_table_factor_union5913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_list_in_select_table_factor_union5913	= { FOLLOW_table_reference_list_in_select_table_factor_union5913_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_select_table_factor_union5915  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_select_table_factor_union5915_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_or_limit_in_select_table_factor_union5915	= { FOLLOW_order_by_or_limit_in_select_table_factor_union5915_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_select_table_factor_union5920  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_select_table_factor_union5920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_select_table_factor_union5920	= { FOLLOW_UNION_SYMBOL_in_select_table_factor_union5920_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_select_table_factor_union5922  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_select_table_factor_union5922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_select_table_factor_union5922	= { FOLLOW_union_option_in_select_table_factor_union5922_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_specification_in_select_table_factor_union5925  */
static	ANTLR3_BITWORD FOLLOW_query_specification_in_select_table_factor_union5925_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_query_specification_in_select_table_factor_union5925	= { FOLLOW_query_specification_in_select_table_factor_union5925_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_query_specification5936  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_query_specification5936_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C71), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x3808000004180003), ANTLR3_UINT64_LIT(0x1700418000346800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_query_specification5936	= { FOLLOW_SELECT_SYMBOL_in_query_specification5936_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_derived_in_query_specification5938  */
static	ANTLR3_BITWORD FOLLOW_select_part2_derived_in_query_specification5938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A0000000000000), ANTLR3_UINT64_LIT(0x1010000000000006), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_derived_in_query_specification5938	= { FOLLOW_select_part2_derived_in_query_specification5938_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_expression_in_query_specification5940  */
static	ANTLR3_BITWORD FOLLOW_table_expression_in_query_specification5940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_expression_in_query_specification5940	= { FOLLOW_table_expression_in_query_specification5940_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_query_specification5945  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_query_specification5945_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_query_specification5945	= { FOLLOW_OPEN_PAR_SYMBOL_in_query_specification5945_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_specification_in_query_specification5947  */
static	ANTLR3_BITWORD FOLLOW_query_specification_in_query_specification5947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_query_specification_in_query_specification5947	= { FOLLOW_query_specification_in_query_specification5947_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_query_specification5949  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_query_specification5949_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_query_specification5949	= { FOLLOW_CLOSE_PAR_SYMBOL_in_query_specification5949_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_query_specification5951  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_query_specification5951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_or_limit_in_query_specification5951	= { FOLLOW_order_by_or_limit_in_query_specification5951_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5971  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5971_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5971	= { FOLLOW_JOIN_SYMBOL_in_join_table5971_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_join_table5973  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_join_table5973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_join_table5973	= { FOLLOW_table_reference_in_join_table5973_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_condition_in_join_table5987  */
static	ANTLR3_BITWORD FOLLOW_join_condition_in_join_table5987_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_condition_in_join_table5987	= { FOLLOW_join_condition_in_join_table5987_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5994  */
static	ANTLR3_BITWORD FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5994_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5994	= { FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5994_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_join_table5996  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_join_table5996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_join_table5996	= { FOLLOW_table_factor_in_join_table5996_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_join_table6010  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_join_table6010_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_join_table6010	= { FOLLOW_ON_SYMBOL_in_join_table6010_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_join_table6012  */
static	ANTLR3_BITWORD FOLLOW_expression_in_join_table6012_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_join_table6012	= { FOLLOW_expression_in_join_table6012_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_join_table6019  */
static	ANTLR3_BITWORD FOLLOW_set_in_join_table6019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_join_table6019	= { FOLLOW_set_in_join_table6019_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTER_SYMBOL_in_join_table6027  */
static	ANTLR3_BITWORD FOLLOW_OUTER_SYMBOL_in_join_table6027_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OUTER_SYMBOL_in_join_table6027	= { FOLLOW_OUTER_SYMBOL_in_join_table6027_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table6030  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table6030_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table6030	= { FOLLOW_JOIN_SYMBOL_in_join_table6030_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_join_table6032  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_join_table6032_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_join_table6032	= { FOLLOW_table_reference_in_join_table6032_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_condition_in_join_table6034  */
static	ANTLR3_BITWORD FOLLOW_join_condition_in_join_table6034_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_condition_in_join_table6034	= { FOLLOW_join_condition_in_join_table6034_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATURAL_SYMBOL_in_join_table6039  */
static	ANTLR3_BITWORD FOLLOW_NATURAL_SYMBOL_in_join_table6039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000804000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATURAL_SYMBOL_in_join_table6039	= { FOLLOW_NATURAL_SYMBOL_in_join_table6039_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_join_table6042  */
static	ANTLR3_BITWORD FOLLOW_set_in_join_table6042_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_join_table6042	= { FOLLOW_set_in_join_table6042_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTER_SYMBOL_in_join_table6050  */
static	ANTLR3_BITWORD FOLLOW_OUTER_SYMBOL_in_join_table6050_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OUTER_SYMBOL_in_join_table6050	= { FOLLOW_OUTER_SYMBOL_in_join_table6050_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table6055  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table6055_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table6055	= { FOLLOW_JOIN_SYMBOL_in_join_table6055_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_join_table6057  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_join_table6057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_join_table6057	= { FOLLOW_table_factor_in_join_table6057_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_join_condition6066  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_join_condition6066_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_join_condition6066	= { FOLLOW_ON_SYMBOL_in_join_condition6066_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_join_condition6068  */
static	ANTLR3_BITWORD FOLLOW_expression_in_join_condition6068_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_join_condition6068	= { FOLLOW_expression_in_join_condition6068_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_join_condition6073  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_join_condition6073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_join_condition6073	= { FOLLOW_USING_SYMBOL_in_join_condition6073_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_join_condition6075  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_join_condition6075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_join_condition6075	= { FOLLOW_identifier_list_with_parentheses_in_join_condition6075_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_union_clause6085  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_union_clause6085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_union_clause6085	= { FOLLOW_UNION_SYMBOL_in_union_clause6085_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_union_clause6088  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_union_clause6088_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_union_clause6088	= { FOLLOW_union_option_in_union_clause6088_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_union_clause6091  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_union_clause6091_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_union_clause6091	= { FOLLOW_select_statement_in_union_clause6091_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_union_or_order_by_or_limit6116  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_union_or_order_by_or_limit6116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_union_or_order_by_or_limit6116	= { FOLLOW_union_clause_in_union_or_order_by_or_limit6116_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_union_or_order_by_or_limit6121  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_union_or_order_by_or_limit6121_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_or_limit_in_union_or_order_by_or_limit6121	= { FOLLOW_order_by_or_limit_in_union_or_order_by_or_limit6121_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_select_lock_type6130  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_select_lock_type6130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_select_lock_type6130	= { FOLLOW_FOR_SYMBOL_in_select_lock_type6130_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_select_lock_type6132  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_select_lock_type6132_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_select_lock_type6132	= { FOLLOW_UPDATE_SYMBOL_in_select_lock_type6132_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_select_lock_type6137  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_select_lock_type6137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_select_lock_type6137	= { FOLLOW_LOCK_SYMBOL_in_select_lock_type6137_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_select_lock_type6139  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_select_lock_type6139_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_select_lock_type6139	= { FOLLOW_IN_SYMBOL_in_select_lock_type6139_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHARE_SYMBOL_in_select_lock_type6141  */
static	ANTLR3_BITWORD FOLLOW_SHARE_SYMBOL_in_select_lock_type6141_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHARE_SYMBOL_in_select_lock_type6141	= { FOLLOW_SHARE_SYMBOL_in_select_lock_type6141_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_select_lock_type6143  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_select_lock_type6143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_select_lock_type6143	= { FOLLOW_MODE_SYMBOL_in_select_lock_type6143_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_alias6161  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_alias6161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_alias6161	= { FOLLOW_identifier_in_table_alias6161_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_in_index_hint_list6170  */
static	ANTLR3_BITWORD FOLLOW_index_hint_in_index_hint_list6170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_in_index_hint_list6170	= { FOLLOW_index_hint_in_index_hint_list6170_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_hint_list6173  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_hint_list6173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_hint_list6173	= { FOLLOW_COMMA_SYMBOL_in_index_hint_list6173_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_in_index_hint_list6175  */
static	ANTLR3_BITWORD FOLLOW_index_hint_in_index_hint_list6175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_in_index_hint_list6175	= { FOLLOW_index_hint_in_index_hint_list6175_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_type_in_index_hint6201  */
static	ANTLR3_BITWORD FOLLOW_index_hint_type_in_index_hint6201_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_type_in_index_hint6201	= { FOLLOW_index_hint_type_in_index_hint6201_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_or_index_in_index_hint6203  */
static	ANTLR3_BITWORD FOLLOW_key_or_index_in_index_hint6203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_or_index_in_index_hint6203	= { FOLLOW_key_or_index_in_index_hint6203_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_clause_in_index_hint6205  */
static	ANTLR3_BITWORD FOLLOW_index_hint_clause_in_index_hint6205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_clause_in_index_hint6205	= { FOLLOW_index_hint_clause_in_index_hint6205_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6208  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6208_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6208	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6208_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_in_index_hint6210  */
static	ANTLR3_BITWORD FOLLOW_index_list_in_index_hint6210_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_in_index_hint6210	= { FOLLOW_index_list_in_index_hint6210_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6212  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6212	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6212_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_index_hint6217  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_index_hint6217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_index_hint6217	= { FOLLOW_USE_SYMBOL_in_index_hint6217_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_or_index_in_index_hint6219  */
static	ANTLR3_BITWORD FOLLOW_key_or_index_in_index_hint6219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_or_index_in_index_hint6219	= { FOLLOW_key_or_index_in_index_hint6219_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_clause_in_index_hint6221  */
static	ANTLR3_BITWORD FOLLOW_index_hint_clause_in_index_hint6221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_clause_in_index_hint6221	= { FOLLOW_index_hint_clause_in_index_hint6221_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6224  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6224_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6224	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6224_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_in_index_hint6226  */
static	ANTLR3_BITWORD FOLLOW_index_list_in_index_hint6226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_in_index_hint6226	= { FOLLOW_index_list_in_index_hint6226_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6229  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6229	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6229_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_index_hint_clause6266  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_index_hint_clause6266_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000002), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_index_hint_clause6266	= { FOLLOW_FOR_SYMBOL_in_index_hint_clause6266_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_index_hint_clause6269  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_index_hint_clause6269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_index_hint_clause6269	= { FOLLOW_JOIN_SYMBOL_in_index_hint_clause6269_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_index_hint_clause6273  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_index_hint_clause6273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_ORDER_SYMBOL_in_index_hint_clause6273	= { FOLLOW_ORDER_SYMBOL_in_index_hint_clause6273_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_index_hint_clause6275  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_index_hint_clause6275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_index_hint_clause6275	= { FOLLOW_BY_SYMBOL_in_index_hint_clause6275_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_index_hint_clause6279  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_index_hint_clause6279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_index_hint_clause6279	= { FOLLOW_GROUP_SYMBOL_in_index_hint_clause6279_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_index_hint_clause6281  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_index_hint_clause6281_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_index_hint_clause6281	= { FOLLOW_BY_SYMBOL_in_index_hint_clause6281_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_element_in_index_list6291  */
static	ANTLR3_BITWORD FOLLOW_index_list_element_in_index_list6291_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_element_in_index_list6291	= { FOLLOW_index_list_element_in_index_list6291_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_list6294  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_list6294_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_list6294	= { FOLLOW_COMMA_SYMBOL_in_index_list6294_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_element_in_index_list6296  */
static	ANTLR3_BITWORD FOLLOW_index_list_element_in_index_list6296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_element_in_index_list6296	= { FOLLOW_index_list_element_in_index_list6296_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_index_list_element6307  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_index_list_element6307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_index_list_element6307	= { FOLLOW_identifier_in_index_list_element6307_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_index_list_element6312  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_index_list_element6312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_index_list_element6312	= { FOLLOW_PRIMARY_SYMBOL_in_index_list_element6312_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_update_statement6323  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_update_statement6323_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000001400), ANTLR3_UINT64_LIT(0x000C000000000100), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_update_statement6323	= { FOLLOW_UPDATE_SYMBOL_in_update_statement6323_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement6326  */
static	ANTLR3_BITWORD FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement6326_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000001400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement6326	= { FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement6326_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_update_statement6329  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_update_statement6329_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000004900000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x000C000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_update_statement6329	= { FOLLOW_IGNORE_SYMBOL_in_update_statement6329_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_list_in_update_statement6332  */
static	ANTLR3_BITWORD FOLLOW_table_reference_list_in_update_statement6332_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_list_in_update_statement6332	= { FOLLOW_table_reference_list_in_update_statement6332_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_update_statement6336  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_update_statement6336_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_update_statement6336	= { FOLLOW_SET_SYMBOL_in_update_statement6336_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_update_statement6338  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_update_statement6338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_update_statement6338	= { FOLLOW_column_assignment_list_with_default_in_update_statement6338_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_update_statement6340  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_update_statement6340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_update_statement6340	= { FOLLOW_where_clause_in_update_statement6340_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_update_statement6343  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_update_statement6343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_update_statement6343	= { FOLLOW_order_by_clause_in_update_statement6343_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_update_statement6346  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_update_statement6346_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_update_statement6346	= { FOLLOW_limit_clause_in_update_statement6346_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_statement_in_transaction_or_locking_statement6358  */
static	ANTLR3_BITWORD FOLLOW_transaction_statement_in_transaction_or_locking_statement6358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_statement_in_transaction_or_locking_statement6358	= { FOLLOW_transaction_statement_in_transaction_or_locking_statement6358_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_savepoint_statement_in_transaction_or_locking_statement6363  */
static	ANTLR3_BITWORD FOLLOW_savepoint_statement_in_transaction_or_locking_statement6363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_savepoint_statement_in_transaction_or_locking_statement6363	= { FOLLOW_savepoint_statement_in_transaction_or_locking_statement6363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_statement_in_transaction_or_locking_statement6368  */
static	ANTLR3_BITWORD FOLLOW_lock_statement_in_transaction_or_locking_statement6368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_statement_in_transaction_or_locking_statement6368	= { FOLLOW_lock_statement_in_transaction_or_locking_statement6368_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xa_statement_in_transaction_or_locking_statement6373  */
static	ANTLR3_BITWORD FOLLOW_xa_statement_in_transaction_or_locking_statement6373_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xa_statement_in_transaction_or_locking_statement6373	= { FOLLOW_xa_statement_in_transaction_or_locking_statement6373_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_SYMBOL_in_transaction_statement6382  */
static	ANTLR3_BITWORD FOLLOW_START_SYMBOL_in_transaction_statement6382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_START_SYMBOL_in_transaction_statement6382	= { FOLLOW_START_SYMBOL_in_transaction_statement6382_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement6385  */
static	ANTLR3_BITWORD FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement6385_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement6385	= { FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement6385_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_characteristic_in_transaction_statement6387  */
static	ANTLR3_BITWORD FOLLOW_transaction_characteristic_in_transaction_statement6387_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_characteristic_in_transaction_statement6387	= { FOLLOW_transaction_characteristic_in_transaction_statement6387_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEGIN_SYMBOL_in_transaction_statement6393  */
static	ANTLR3_BITWORD FOLLOW_BEGIN_SYMBOL_in_transaction_statement6393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BEGIN_SYMBOL_in_transaction_statement6393	= { FOLLOW_BEGIN_SYMBOL_in_transaction_statement6393_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement6396  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement6396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement6396	= { FOLLOW_WORK_SYMBOL_in_transaction_statement6396_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMIT_SYMBOL_in_transaction_statement6402  */
static	ANTLR3_BITWORD FOLLOW_COMMIT_SYMBOL_in_transaction_statement6402_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMIT_SYMBOL_in_transaction_statement6402	= { FOLLOW_COMMIT_SYMBOL_in_transaction_statement6402_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement6405  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement6405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement6405	= { FOLLOW_WORK_SYMBOL_in_transaction_statement6405_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_transaction_statement6409  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_transaction_statement6409_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_transaction_statement6409	= { FOLLOW_AND_SYMBOL_in_transaction_statement6409_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement6411  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement6411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement6411	= { FOLLOW_NO_SYMBOL_in_transaction_statement6411_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAIN_SYMBOL_in_transaction_statement6414  */
static	ANTLR3_BITWORD FOLLOW_CHAIN_SYMBOL_in_transaction_statement6414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAIN_SYMBOL_in_transaction_statement6414	= { FOLLOW_CHAIN_SYMBOL_in_transaction_statement6414_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement6419  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement6419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement6419	= { FOLLOW_NO_SYMBOL_in_transaction_statement6419_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_transaction_statement6422  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_transaction_statement6422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_transaction_statement6422	= { FOLLOW_RELEASE_SYMBOL_in_transaction_statement6422_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement6429  */
static	ANTLR3_BITWORD FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement6429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement6429	= { FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement6429_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement6432  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement6432_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement6432	= { FOLLOW_WORK_SYMBOL_in_transaction_statement6432_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_transaction_statement6443  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_transaction_statement6443_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_transaction_statement6443	= { FOLLOW_AND_SYMBOL_in_transaction_statement6443_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement6445  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement6445_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement6445	= { FOLLOW_NO_SYMBOL_in_transaction_statement6445_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAIN_SYMBOL_in_transaction_statement6448  */
static	ANTLR3_BITWORD FOLLOW_CHAIN_SYMBOL_in_transaction_statement6448_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAIN_SYMBOL_in_transaction_statement6448	= { FOLLOW_CHAIN_SYMBOL_in_transaction_statement6448_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement6453  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement6453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement6453	= { FOLLOW_NO_SYMBOL_in_transaction_statement6453_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_transaction_statement6456  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_transaction_statement6456_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_transaction_statement6456	= { FOLLOW_RELEASE_SYMBOL_in_transaction_statement6456_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_transaction_statement6465  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_transaction_statement6465_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_transaction_statement6465	= { FOLLOW_TO_SYMBOL_in_transaction_statement6465_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement6467  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement6467_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement6467	= { FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement6467_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_transaction_statement6470  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_transaction_statement6470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_transaction_statement6470	= { FOLLOW_identifier_in_transaction_statement6470_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_transaction_characteristic6490  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_transaction_characteristic6490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_transaction_characteristic6490	= { FOLLOW_WITH_SYMBOL_in_transaction_characteristic6490_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic6492  */
static	ANTLR3_BITWORD FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic6492_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic6492	= { FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic6492_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic6494  */
static	ANTLR3_BITWORD FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic6494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic6494	= { FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic6494_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_transaction_characteristic6503  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_transaction_characteristic6503_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_transaction_characteristic6503	= { FOLLOW_READ_SYMBOL_in_transaction_characteristic6503_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_transaction_characteristic6505  */
static	ANTLR3_BITWORD FOLLOW_set_in_transaction_characteristic6505_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_transaction_characteristic6505	= { FOLLOW_set_in_transaction_characteristic6505_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic6520  */
static	ANTLR3_BITWORD FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic6520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic6520	= { FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic6520_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic6522  */
static	ANTLR3_BITWORD FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic6522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000040000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic6522	= { FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic6522_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_isolation_level_in_set_transaction_characteristic6524  */
static	ANTLR3_BITWORD FOLLOW_isolation_level_in_set_transaction_characteristic6524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_isolation_level_in_set_transaction_characteristic6524	= { FOLLOW_isolation_level_in_set_transaction_characteristic6524_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_set_transaction_characteristic6533  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_set_transaction_characteristic6533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_set_transaction_characteristic6533	= { FOLLOW_READ_SYMBOL_in_set_transaction_characteristic6533_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_set_transaction_characteristic6535  */
static	ANTLR3_BITWORD FOLLOW_set_in_set_transaction_characteristic6535_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_set_transaction_characteristic6535	= { FOLLOW_set_in_set_transaction_characteristic6535_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEATABLE_SYMBOL_in_isolation_level6550  */
static	ANTLR3_BITWORD FOLLOW_REPEATABLE_SYMBOL_in_isolation_level6550_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEATABLE_SYMBOL_in_isolation_level6550	= { FOLLOW_REPEATABLE_SYMBOL_in_isolation_level6550_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_isolation_level6552  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_isolation_level6552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_isolation_level6552	= { FOLLOW_READ_SYMBOL_in_isolation_level6552_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_isolation_level6557  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_isolation_level6557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_isolation_level6557	= { FOLLOW_READ_SYMBOL_in_isolation_level6557_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_isolation_level6559  */
static	ANTLR3_BITWORD FOLLOW_set_in_isolation_level6559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_isolation_level6559	= { FOLLOW_set_in_isolation_level6559_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level6570  */
static	ANTLR3_BITWORD FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level6570_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level6570	= { FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level6570_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6579  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6579_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6579	= { FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6579_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_savepoint_statement6582  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_savepoint_statement6582_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_savepoint_statement6582	= { FOLLOW_identifier_in_savepoint_statement6582_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_savepoint_statement6587  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_savepoint_statement6587_bits[]	= { ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_savepoint_statement6587	= { FOLLOW_RELEASE_SYMBOL_in_savepoint_statement6587_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6590  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6590_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6590	= { FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6590_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_savepoint_statement6592  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_savepoint_statement6592_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_savepoint_statement6592	= { FOLLOW_identifier_in_savepoint_statement6592_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_lock_statement6601  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_lock_statement6601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_lock_statement6601	= { FOLLOW_LOCK_SYMBOL_in_lock_statement6601_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_lock_statement6604  */
static	ANTLR3_BITWORD FOLLOW_set_in_lock_statement6604_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_lock_statement6604	= { FOLLOW_set_in_lock_statement6604_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_item_in_lock_statement6612  */
static	ANTLR3_BITWORD FOLLOW_lock_item_in_lock_statement6612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_item_in_lock_statement6612	= { FOLLOW_lock_item_in_lock_statement6612_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_lock_statement6615  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_lock_statement6615_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_lock_statement6615	= { FOLLOW_COMMA_SYMBOL_in_lock_statement6615_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_item_in_lock_statement6617  */
static	ANTLR3_BITWORD FOLLOW_lock_item_in_lock_statement6617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_item_in_lock_statement6617	= { FOLLOW_lock_item_in_lock_statement6617_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNLOCK_SYMBOL_in_lock_statement6624  */
static	ANTLR3_BITWORD FOLLOW_UNLOCK_SYMBOL_in_lock_statement6624_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNLOCK_SYMBOL_in_lock_statement6624	= { FOLLOW_UNLOCK_SYMBOL_in_lock_statement6624_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_lock_statement6627  */
static	ANTLR3_BITWORD FOLLOW_set_in_lock_statement6627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_lock_statement6627	= { FOLLOW_set_in_lock_statement6627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_lock_item6642  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_lock_item6642_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_lock_item6642	= { FOLLOW_table_ref_in_lock_item6642_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_lock_item6644  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_lock_item6644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_lock_item6644	= { FOLLOW_table_alias_in_lock_item6644_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_option_in_lock_item6647  */
static	ANTLR3_BITWORD FOLLOW_lock_option_in_lock_item6647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_option_in_lock_item6647	= { FOLLOW_lock_option_in_lock_item6647_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_lock_option6656  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_lock_option6656_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_lock_option6656	= { FOLLOW_READ_SYMBOL_in_lock_option6656_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_lock_option6658  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_lock_option6658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_lock_option6658	= { FOLLOW_LOCAL_SYMBOL_in_lock_option6658_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_option6664  */
static	ANTLR3_BITWORD FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_option6664_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_option6664	= { FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_option6664_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WRITE_SYMBOL_in_lock_option6667  */
static	ANTLR3_BITWORD FOLLOW_WRITE_SYMBOL_in_lock_option6667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WRITE_SYMBOL_in_lock_option6667	= { FOLLOW_WRITE_SYMBOL_in_lock_option6667_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XA_SYMBOL_in_xa_statement6677  */
static	ANTLR3_BITWORD FOLLOW_XA_SYMBOL_in_xa_statement6677_bits[]	= { ANTLR3_UINT64_LIT(0x0001010800022040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_XA_SYMBOL_in_xa_statement6677	= { FOLLOW_XA_SYMBOL_in_xa_statement6677_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_xa_statement6687  */
static	ANTLR3_BITWORD FOLLOW_set_in_xa_statement6687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_xa_statement6687	= { FOLLOW_set_in_xa_statement6687_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6695  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6695_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6695	= { FOLLOW_xid_in_xa_statement6695_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_xa_statement6711  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_xa_statement6711_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_xa_statement6711	= { FOLLOW_END_SYMBOL_in_xa_statement6711_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6713  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6713_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6713	= { FOLLOW_xid_in_xa_statement6713_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUSPEND_SYMBOL_in_xa_statement6716  */
static	ANTLR3_BITWORD FOLLOW_SUSPEND_SYMBOL_in_xa_statement6716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUSPEND_SYMBOL_in_xa_statement6716	= { FOLLOW_SUSPEND_SYMBOL_in_xa_statement6716_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_xa_statement6719  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_xa_statement6719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_xa_statement6719	= { FOLLOW_FOR_SYMBOL_in_xa_statement6719_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIGRATE_SYMBOL_in_xa_statement6721  */
static	ANTLR3_BITWORD FOLLOW_MIGRATE_SYMBOL_in_xa_statement6721_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MIGRATE_SYMBOL_in_xa_statement6721	= { FOLLOW_MIGRATE_SYMBOL_in_xa_statement6721_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_xa_statement6732  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_xa_statement6732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_xa_statement6732	= { FOLLOW_PREPARE_SYMBOL_in_xa_statement6732_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6734  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6734	= { FOLLOW_xid_in_xa_statement6734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMIT_SYMBOL_in_xa_statement6741  */
static	ANTLR3_BITWORD FOLLOW_COMMIT_SYMBOL_in_xa_statement6741_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMIT_SYMBOL_in_xa_statement6741	= { FOLLOW_COMMIT_SYMBOL_in_xa_statement6741_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6743  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6743	= { FOLLOW_xid_in_xa_statement6743_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ONE_SYMBOL_in_xa_statement6746  */
static	ANTLR3_BITWORD FOLLOW_ONE_SYMBOL_in_xa_statement6746_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ONE_SYMBOL_in_xa_statement6746	= { FOLLOW_ONE_SYMBOL_in_xa_statement6746_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PHASE_SYMBOL_in_xa_statement6748  */
static	ANTLR3_BITWORD FOLLOW_PHASE_SYMBOL_in_xa_statement6748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PHASE_SYMBOL_in_xa_statement6748	= { FOLLOW_PHASE_SYMBOL_in_xa_statement6748_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6757  */
static	ANTLR3_BITWORD FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6757_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6757	= { FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6757_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6759  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6759	= { FOLLOW_xid_in_xa_statement6759_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RECOVER_SYMBOL_in_xa_statement6766  */
static	ANTLR3_BITWORD FOLLOW_RECOVER_SYMBOL_in_xa_statement6766_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RECOVER_SYMBOL_in_xa_statement6766	= { FOLLOW_RECOVER_SYMBOL_in_xa_statement6766_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xa_convert_in_xa_statement6768  */
static	ANTLR3_BITWORD FOLLOW_xa_convert_in_xa_statement6768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xa_convert_in_xa_statement6768	= { FOLLOW_xa_convert_in_xa_statement6768_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_xa_convert6786  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_xa_convert6786_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONVERT_SYMBOL_in_xa_convert6786	= { FOLLOW_CONVERT_SYMBOL_in_xa_convert6786_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XID_SYMBOL_in_xa_convert6788  */
static	ANTLR3_BITWORD FOLLOW_XID_SYMBOL_in_xa_convert6788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_XID_SYMBOL_in_xa_convert6788	= { FOLLOW_XID_SYMBOL_in_xa_convert6788_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_xid6797  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_xid6797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_xid6797	= { FOLLOW_text_string_in_xid6797_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_xid6800  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_xid6800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_xid6800	= { FOLLOW_COMMA_SYMBOL_in_xid6800_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_xid6802  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_xid6802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_xid6802	= { FOLLOW_text_string_in_xid6802_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_xid6805  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_xid6805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_xid6805	= { FOLLOW_COMMA_SYMBOL_in_xid6805_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_xid6807  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_xid6807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_xid6807	= { FOLLOW_INTEGER_in_xid6807_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PURGE_SYMBOL_in_replication_statement6846  */
static	ANTLR3_BITWORD FOLLOW_PURGE_SYMBOL_in_replication_statement6846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_PURGE_SYMBOL_in_replication_statement6846	= { FOLLOW_PURGE_SYMBOL_in_replication_statement6846_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_replication_statement6849  */
static	ANTLR3_BITWORD FOLLOW_set_in_replication_statement6849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_replication_statement6849	= { FOLLOW_set_in_replication_statement6849_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_replication_statement6857  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_replication_statement6857_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_replication_statement6857	= { FOLLOW_LOGS_SYMBOL_in_replication_statement6857_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_replication_statement6860  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_replication_statement6860_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_replication_statement6860	= { FOLLOW_TO_SYMBOL_in_replication_statement6860_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_replication_statement6862  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_replication_statement6862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_replication_statement6862	= { FOLLOW_string_literal_in_replication_statement6862_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEFORE_SYMBOL_in_replication_statement6866  */
static	ANTLR3_BITWORD FOLLOW_BEFORE_SYMBOL_in_replication_statement6866_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BEFORE_SYMBOL_in_replication_statement6866	= { FOLLOW_BEFORE_SYMBOL_in_replication_statement6866_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_replication_statement6868  */
static	ANTLR3_BITWORD FOLLOW_expression_in_replication_statement6868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_replication_statement6868	= { FOLLOW_expression_in_replication_statement6868_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_master_in_replication_statement6874  */
static	ANTLR3_BITWORD FOLLOW_change_master_in_replication_statement6874_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_change_master_in_replication_statement6874	= { FOLLOW_change_master_in_replication_statement6874_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_replication_in_replication_statement6883  */
static	ANTLR3_BITWORD FOLLOW_change_replication_in_replication_statement6883_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_change_replication_in_replication_statement6883	= { FOLLOW_change_replication_in_replication_statement6883_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_start_slave_in_replication_statement6891  */
static	ANTLR3_BITWORD FOLLOW_start_slave_in_replication_statement6891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_start_slave_in_replication_statement6891	= { FOLLOW_start_slave_in_replication_statement6891_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_stop_slave_in_replication_statement6896  */
static	ANTLR3_BITWORD FOLLOW_stop_slave_in_replication_statement6896_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_stop_slave_in_replication_statement6896	= { FOLLOW_stop_slave_in_replication_statement6896_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replication_load_in_replication_statement6905  */
static	ANTLR3_BITWORD FOLLOW_replication_load_in_replication_statement6905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replication_load_in_replication_statement6905	= { FOLLOW_replication_load_in_replication_statement6905_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_replication_load6914  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_replication_load6914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOAD_SYMBOL_in_replication_load6914	= { FOLLOW_LOAD_SYMBOL_in_replication_load6914_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_replication_load6918  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_replication_load6918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_replication_load6918	= { FOLLOW_DATA_SYMBOL_in_replication_load6918_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_replication_load6922  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_replication_load6922_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_replication_load6922	= { FOLLOW_TABLE_SYMBOL_in_replication_load6922_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_replication_load6924  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_replication_load6924_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_replication_load6924	= { FOLLOW_table_ref_in_replication_load6924_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_replication_load6927  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_replication_load6927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_replication_load6927	= { FOLLOW_FROM_SYMBOL_in_replication_load6927_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_replication_load6929  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_replication_load6929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_replication_load6929	= { FOLLOW_MASTER_SYMBOL_in_replication_load6929_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_change_master6938  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_change_master6938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_change_master6938	= { FOLLOW_CHANGE_SYMBOL_in_change_master6938_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_change_master6941  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_change_master6941_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_change_master6941	= { FOLLOW_MASTER_SYMBOL_in_change_master6941_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_change_master6943  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_change_master6943_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xFBF8000008000000), ANTLR3_UINT64_LIT(0x000000000000007F), ANTLR3_UINT64_LIT(0x0000000000006000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000600) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_change_master6943	= { FOLLOW_TO_SYMBOL_in_change_master6943_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_master_options_in_change_master6945  */
static	ANTLR3_BITWORD FOLLOW_change_master_options_in_change_master6945_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_change_master_options_in_change_master6945	= { FOLLOW_change_master_options_in_change_master6945_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_change_master6947  */
static	ANTLR3_BITWORD FOLLOW_channel_in_change_master6947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_change_master6947	= { FOLLOW_channel_in_change_master6947_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_option_in_change_master_options6957  */
static	ANTLR3_BITWORD FOLLOW_master_option_in_change_master_options6957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_master_option_in_change_master_options6957	= { FOLLOW_master_option_in_change_master_options6957_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_change_master_options6960  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_change_master_options6960_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xFBF8000008000000), ANTLR3_UINT64_LIT(0x000000000000007F), ANTLR3_UINT64_LIT(0x0000000000006000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000600) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_change_master_options6960	= { FOLLOW_COMMA_SYMBOL_in_change_master_options6960_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_option_in_change_master_options6962  */
static	ANTLR3_BITWORD FOLLOW_master_option_in_change_master_options6962_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_master_option_in_change_master_options6962	= { FOLLOW_master_option_in_change_master_options6962_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_BIND_SYMBOL_in_master_option6988  */
static	ANTLR3_BITWORD FOLLOW_MASTER_BIND_SYMBOL_in_master_option6988_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_BIND_SYMBOL_in_master_option6988	= { FOLLOW_MASTER_BIND_SYMBOL_in_master_option6988_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6990  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6990	= { FOLLOW_EQUAL_OPERATOR_in_master_option6990_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6992  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6992	= { FOLLOW_string_literal_in_master_option6992_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_HOST_SYMBOL_in_master_option6997  */
static	ANTLR3_BITWORD FOLLOW_MASTER_HOST_SYMBOL_in_master_option6997_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_HOST_SYMBOL_in_master_option6997	= { FOLLOW_MASTER_HOST_SYMBOL_in_master_option6997_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6999  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6999	= { FOLLOW_EQUAL_OPERATOR_in_master_option6999_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7001  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7001	= { FOLLOW_string_literal_in_master_option7001_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_USER_SYMBOL_in_master_option7006  */
static	ANTLR3_BITWORD FOLLOW_MASTER_USER_SYMBOL_in_master_option7006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_USER_SYMBOL_in_master_option7006	= { FOLLOW_MASTER_USER_SYMBOL_in_master_option7006_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7008  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7008	= { FOLLOW_EQUAL_OPERATOR_in_master_option7008_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7010  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7010	= { FOLLOW_string_literal_in_master_option7010_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option7015  */
static	ANTLR3_BITWORD FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option7015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option7015	= { FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option7015_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7017  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7017_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7017	= { FOLLOW_EQUAL_OPERATOR_in_master_option7017_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7019  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7019	= { FOLLOW_string_literal_in_master_option7019_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_PORT_SYMBOL_in_master_option7024  */
static	ANTLR3_BITWORD FOLLOW_MASTER_PORT_SYMBOL_in_master_option7024_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_PORT_SYMBOL_in_master_option7024	= { FOLLOW_MASTER_PORT_SYMBOL_in_master_option7024_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7026  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7026	= { FOLLOW_EQUAL_OPERATOR_in_master_option7026_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7028  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7028	= { FOLLOW_INTEGER_in_master_option7028_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option7033  */
static	ANTLR3_BITWORD FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option7033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option7033	= { FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option7033_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7035  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7035	= { FOLLOW_EQUAL_OPERATOR_in_master_option7035_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7037  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7037_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7037	= { FOLLOW_INTEGER_in_master_option7037_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option7042  */
static	ANTLR3_BITWORD FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option7042_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option7042	= { FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option7042_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7044  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7044_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7044	= { FOLLOW_EQUAL_OPERATOR_in_master_option7044_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7046  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7046_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7046	= { FOLLOW_INTEGER_in_master_option7046_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_DELAY_SYMBOL_in_master_option7051  */
static	ANTLR3_BITWORD FOLLOW_MASTER_DELAY_SYMBOL_in_master_option7051_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_DELAY_SYMBOL_in_master_option7051	= { FOLLOW_MASTER_DELAY_SYMBOL_in_master_option7051_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7053  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7053_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7053	= { FOLLOW_EQUAL_OPERATOR_in_master_option7053_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7055  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7055_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7055	= { FOLLOW_INTEGER_in_master_option7055_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option7060  */
static	ANTLR3_BITWORD FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option7060_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option7060	= { FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option7060_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7062  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7062_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7062	= { FOLLOW_EQUAL_OPERATOR_in_master_option7062_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7064  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7064	= { FOLLOW_INTEGER_in_master_option7064_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option7069  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option7069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option7069	= { FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option7069_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7071  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7071_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7071	= { FOLLOW_EQUAL_OPERATOR_in_master_option7071_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7073  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7073	= { FOLLOW_string_literal_in_master_option7073_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option7078  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option7078_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option7078	= { FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option7078_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7080  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7080_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7080	= { FOLLOW_EQUAL_OPERATOR_in_master_option7080_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7082  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7082_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7082	= { FOLLOW_INTEGER_in_master_option7082_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option7087  */
static	ANTLR3_BITWORD FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option7087_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option7087	= { FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option7087_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7089  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7089	= { FOLLOW_EQUAL_OPERATOR_in_master_option7089_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7091  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7091_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7091	= { FOLLOW_INTEGER_in_master_option7091_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option7096  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option7096_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option7096	= { FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option7096_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7098  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7098_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7098	= { FOLLOW_EQUAL_OPERATOR_in_master_option7098_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7100  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7100_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7100	= { FOLLOW_string_literal_in_master_option7100_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option7105  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option7105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option7105	= { FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option7105_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7107  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7107	= { FOLLOW_EQUAL_OPERATOR_in_master_option7107_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7109  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7109_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7109	= { FOLLOW_INTEGER_in_master_option7109_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_SYMBOL_in_master_option7114  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_SYMBOL_in_master_option7114_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_SYMBOL_in_master_option7114	= { FOLLOW_MASTER_SSL_SYMBOL_in_master_option7114_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7116  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7116	= { FOLLOW_EQUAL_OPERATOR_in_master_option7116_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7118  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7118	= { FOLLOW_INTEGER_in_master_option7118_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option7123  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option7123_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option7123	= { FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option7123_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7125  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7125	= { FOLLOW_EQUAL_OPERATOR_in_master_option7125_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7127  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7127	= { FOLLOW_string_literal_in_master_option7127_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option7132  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option7132_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option7132	= { FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option7132_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7134  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7134_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7134	= { FOLLOW_EQUAL_OPERATOR_in_master_option7134_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7136  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7136_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7136	= { FOLLOW_string_literal_in_master_option7136_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option7141  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option7141_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option7141	= { FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option7141_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7143  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7143	= { FOLLOW_EQUAL_OPERATOR_in_master_option7143_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7145  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7145_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7145	= { FOLLOW_string_literal_in_master_option7145_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option7150  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option7150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option7150	= { FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option7150_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7152  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7152	= { FOLLOW_EQUAL_OPERATOR_in_master_option7152_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7154  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7154	= { FOLLOW_string_literal_in_master_option7154_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option7159  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option7159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option7159	= { FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option7159_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7161  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7161	= { FOLLOW_EQUAL_OPERATOR_in_master_option7161_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7163  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7163	= { FOLLOW_string_literal_in_master_option7163_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option7168  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option7168_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option7168	= { FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option7168_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7170  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7170	= { FOLLOW_EQUAL_OPERATOR_in_master_option7170_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7172  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7172_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7172	= { FOLLOW_string_literal_in_master_option7172_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option7177  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option7177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option7177	= { FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option7177_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7179  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7179	= { FOLLOW_EQUAL_OPERATOR_in_master_option7179_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option7181  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option7181_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option7181	= { FOLLOW_string_literal_in_master_option7181_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option7186  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option7186_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option7186	= { FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option7186_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7188  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7188_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7188	= { FOLLOW_EQUAL_OPERATOR_in_master_option7188_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option7190  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option7190_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option7190	= { FOLLOW_INTEGER_in_master_option7190_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option7195  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option7195_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option7195	= { FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option7195_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option7197  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option7197_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option7197	= { FOLLOW_EQUAL_OPERATOR_in_master_option7197_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_id_list_in_master_option7199  */
static	ANTLR3_BITWORD FOLLOW_server_id_list_in_master_option7199_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_id_list_in_master_option7199	= { FOLLOW_server_id_list_in_master_option7199_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list7208  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list7208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list7208	= { FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list7208_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_integer_list_in_server_id_list7210  */
static	ANTLR3_BITWORD FOLLOW_integer_list_in_server_id_list7210_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_integer_list_in_server_id_list7210	= { FOLLOW_integer_list_in_server_id_list7210_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list7213  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list7213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list7213	= { FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list7213_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_change_replication7222  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_change_replication7222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_change_replication7222	= { FOLLOW_CHANGE_SYMBOL_in_change_replication7222_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATION_SYMBOL_in_change_replication7225  */
static	ANTLR3_BITWORD FOLLOW_REPLICATION_SYMBOL_in_change_replication7225_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATION_SYMBOL_in_change_replication7225	= { FOLLOW_REPLICATION_SYMBOL_in_change_replication7225_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FILTER_SYMBOL_in_change_replication7227  */
static	ANTLR3_BITWORD FOLLOW_FILTER_SYMBOL_in_change_replication7227_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000007F00000) };
static  ANTLR3_BITSET_LIST FOLLOW_FILTER_SYMBOL_in_change_replication7227	= { FOLLOW_FILTER_SYMBOL_in_change_replication7227_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_definition_in_change_replication7229  */
static	ANTLR3_BITWORD FOLLOW_filter_definition_in_change_replication7229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_definition_in_change_replication7229	= { FOLLOW_filter_definition_in_change_replication7229_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_change_replication7232  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_change_replication7232_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000007F00000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_change_replication7232	= { FOLLOW_COMMA_SYMBOL_in_change_replication7232_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_definition_in_change_replication7234  */
static	ANTLR3_BITWORD FOLLOW_filter_definition_in_change_replication7234_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_definition_in_change_replication7234	= { FOLLOW_filter_definition_in_change_replication7234_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_DO_DB_SYMBOL_in_filter_definition7245  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_DO_DB_SYMBOL_in_filter_definition7245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_DO_DB_SYMBOL_in_filter_definition7245	= { FOLLOW_REPLICATE_DO_DB_SYMBOL_in_filter_definition7245_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7247  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7247	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7247_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7249  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7249_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7249	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7249_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_db_list_in_filter_definition7251  */
static	ANTLR3_BITWORD FOLLOW_filter_db_list_in_filter_definition7251_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_db_list_in_filter_definition7251	= { FOLLOW_filter_db_list_in_filter_definition7251_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7254  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7254_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7254	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7254_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_IGNORE_DB_SYMBOL_in_filter_definition7259  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_IGNORE_DB_SYMBOL_in_filter_definition7259_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_IGNORE_DB_SYMBOL_in_filter_definition7259	= { FOLLOW_REPLICATE_IGNORE_DB_SYMBOL_in_filter_definition7259_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7261  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7261_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7261	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7261_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7263  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7263_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7263	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7263_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_db_list_in_filter_definition7265  */
static	ANTLR3_BITWORD FOLLOW_filter_db_list_in_filter_definition7265_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_db_list_in_filter_definition7265	= { FOLLOW_filter_db_list_in_filter_definition7265_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7268  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7268	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7268_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_DO_TABLE_SYMBOL_in_filter_definition7273  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_DO_TABLE_SYMBOL_in_filter_definition7273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_DO_TABLE_SYMBOL_in_filter_definition7273	= { FOLLOW_REPLICATE_DO_TABLE_SYMBOL_in_filter_definition7273_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7275  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7275	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7275_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7277  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7277_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7277	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7277_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_table_list_in_filter_definition7279  */
static	ANTLR3_BITWORD FOLLOW_filter_table_list_in_filter_definition7279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_table_list_in_filter_definition7279	= { FOLLOW_filter_table_list_in_filter_definition7279_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7282  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7282_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7282	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7282_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_IGNORE_TABLE_SYMBOL_in_filter_definition7287  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_IGNORE_TABLE_SYMBOL_in_filter_definition7287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_IGNORE_TABLE_SYMBOL_in_filter_definition7287	= { FOLLOW_REPLICATE_IGNORE_TABLE_SYMBOL_in_filter_definition7287_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7289  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7289	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7289_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7291  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7291_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7291	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7291_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_table_list_in_filter_definition7293  */
static	ANTLR3_BITWORD FOLLOW_filter_table_list_in_filter_definition7293_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_table_list_in_filter_definition7293	= { FOLLOW_filter_table_list_in_filter_definition7293_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7296  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7296	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7296_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_WILD_DO_TABLE_SYMBOL_in_filter_definition7301  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_WILD_DO_TABLE_SYMBOL_in_filter_definition7301_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_WILD_DO_TABLE_SYMBOL_in_filter_definition7301	= { FOLLOW_REPLICATE_WILD_DO_TABLE_SYMBOL_in_filter_definition7301_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7303  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7303	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7303_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7305  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7305_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7305	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7305_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_string_list_in_filter_definition7307  */
static	ANTLR3_BITWORD FOLLOW_filter_string_list_in_filter_definition7307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_string_list_in_filter_definition7307	= { FOLLOW_filter_string_list_in_filter_definition7307_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7310  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7310	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7310_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_WILD_IGNORE_TABLE_SYMBOL_in_filter_definition7315  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_WILD_IGNORE_TABLE_SYMBOL_in_filter_definition7315_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_WILD_IGNORE_TABLE_SYMBOL_in_filter_definition7315	= { FOLLOW_REPLICATE_WILD_IGNORE_TABLE_SYMBOL_in_filter_definition7315_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7317  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7317_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7317	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7317_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7319  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7319	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7319_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_string_list_in_filter_definition7321  */
static	ANTLR3_BITWORD FOLLOW_filter_string_list_in_filter_definition7321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_string_list_in_filter_definition7321	= { FOLLOW_filter_string_list_in_filter_definition7321_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7324  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7324	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATE_REWRITE_DB_SYMBOL_in_filter_definition7329  */
static	ANTLR3_BITWORD FOLLOW_REPLICATE_REWRITE_DB_SYMBOL_in_filter_definition7329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATE_REWRITE_DB_SYMBOL_in_filter_definition7329	= { FOLLOW_REPLICATE_REWRITE_DB_SYMBOL_in_filter_definition7329_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_filter_definition7331  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_filter_definition7331_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_filter_definition7331	= { FOLLOW_EQUAL_OPERATOR_in_filter_definition7331_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7333  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7333	= { FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7333_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_db_pair_list_in_filter_definition7335  */
static	ANTLR3_BITWORD FOLLOW_filter_db_pair_list_in_filter_definition7335_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_db_pair_list_in_filter_definition7335	= { FOLLOW_filter_db_pair_list_in_filter_definition7335_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7338  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7338	= { FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7338_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_filter_db_list7347  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_filter_db_list7347_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_filter_db_list7347	= { FOLLOW_schema_ref_in_filter_db_list7347_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_filter_db_list7350  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_filter_db_list7350_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_filter_db_list7350	= { FOLLOW_COMMA_SYMBOL_in_filter_db_list7350_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_filter_db_list7352  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_filter_db_list7352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_filter_db_list7352	= { FOLLOW_schema_ref_in_filter_db_list7352_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_table_ref_in_filter_table_list7363  */
static	ANTLR3_BITWORD FOLLOW_filter_table_ref_in_filter_table_list7363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_table_ref_in_filter_table_list7363	= { FOLLOW_filter_table_ref_in_filter_table_list7363_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_filter_table_list7366  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_filter_table_list7366_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_filter_table_list7366	= { FOLLOW_COMMA_SYMBOL_in_filter_table_list7366_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_table_ref_in_filter_table_list7368  */
static	ANTLR3_BITWORD FOLLOW_filter_table_ref_in_filter_table_list7368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_table_ref_in_filter_table_list7368	= { FOLLOW_filter_table_ref_in_filter_table_list7368_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_wild_db_table_string_in_filter_string_list7379  */
static	ANTLR3_BITWORD FOLLOW_filter_wild_db_table_string_in_filter_string_list7379_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_wild_db_table_string_in_filter_string_list7379	= { FOLLOW_filter_wild_db_table_string_in_filter_string_list7379_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_filter_string_list7382  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_filter_string_list7382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_filter_string_list7382	= { FOLLOW_COMMA_SYMBOL_in_filter_string_list7382_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_filter_wild_db_table_string_in_filter_string_list7384  */
static	ANTLR3_BITWORD FOLLOW_filter_wild_db_table_string_in_filter_string_list7384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_filter_wild_db_table_string_in_filter_string_list7384	= { FOLLOW_filter_wild_db_table_string_in_filter_string_list7384_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_no_linebreak_in_filter_wild_db_table_string7395  */
static	ANTLR3_BITWORD FOLLOW_string_literal_no_linebreak_in_filter_wild_db_table_string7395_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_no_linebreak_in_filter_wild_db_table_string7395	= { FOLLOW_string_literal_no_linebreak_in_filter_wild_db_table_string7395_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_identifier_pair_in_filter_db_pair_list7405  */
static	ANTLR3_BITWORD FOLLOW_schema_identifier_pair_in_filter_db_pair_list7405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_identifier_pair_in_filter_db_pair_list7405	= { FOLLOW_schema_identifier_pair_in_filter_db_pair_list7405_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_filter_db_pair_list7408  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_filter_db_pair_list7408_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_filter_db_pair_list7408	= { FOLLOW_COMMA_SYMBOL_in_filter_db_pair_list7408_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_identifier_pair_in_filter_db_pair_list7410  */
static	ANTLR3_BITWORD FOLLOW_schema_identifier_pair_in_filter_db_pair_list7410_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_identifier_pair_in_filter_db_pair_list7410	= { FOLLOW_schema_identifier_pair_in_filter_db_pair_list7410_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_SYMBOL_in_start_slave7421  */
static	ANTLR3_BITWORD FOLLOW_START_SYMBOL_in_start_slave7421_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_START_SYMBOL_in_start_slave7421	= { FOLLOW_START_SYMBOL_in_start_slave7421_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_start_slave7424  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_start_slave7424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0028000000000000), ANTLR3_UINT64_LIT(0x0200000000008000), ANTLR3_UINT64_LIT(0x0000001400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_start_slave7424	= { FOLLOW_SLAVE_SYMBOL_in_start_slave7424_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_options_in_start_slave7426  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_options_in_start_slave7426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0028000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_options_in_start_slave7426	= { FOLLOW_slave_thread_options_in_start_slave7426_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNTIL_SYMBOL_in_start_slave7430  */
static	ANTLR3_BITWORD FOLLOW_UNTIL_SYMBOL_in_start_slave7430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00C0000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0038000000006000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNTIL_SYMBOL_in_start_slave7430	= { FOLLOW_UNTIL_SYMBOL_in_start_slave7430_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_until_options_in_start_slave7432  */
static	ANTLR3_BITWORD FOLLOW_slave_until_options_in_start_slave7432_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0028000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_until_options_in_start_slave7432	= { FOLLOW_slave_until_options_in_start_slave7432_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_connection_options_in_start_slave7436  */
static	ANTLR3_BITWORD FOLLOW_slave_connection_options_in_start_slave7436_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_connection_options_in_start_slave7436	= { FOLLOW_slave_connection_options_in_start_slave7436_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_start_slave7438  */
static	ANTLR3_BITWORD FOLLOW_channel_in_start_slave7438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_start_slave7438	= { FOLLOW_channel_in_start_slave7438_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_file_def_in_slave_until_options7452  */
static	ANTLR3_BITWORD FOLLOW_master_file_def_in_slave_until_options7452_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_master_file_def_in_slave_until_options7452	= { FOLLOW_master_file_def_in_slave_until_options7452_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_slave_until_options7462  */
static	ANTLR3_BITWORD FOLLOW_set_in_slave_until_options7462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_slave_until_options7462	= { FOLLOW_set_in_slave_until_options7462_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_until_options7470  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_until_options7470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_until_options7470	= { FOLLOW_EQUAL_OPERATOR_in_slave_until_options7470_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_gtid_set_in_slave_until_options7472  */
static	ANTLR3_BITWORD FOLLOW_gtid_set_in_slave_until_options7472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_gtid_set_in_slave_until_options7472	= { FOLLOW_gtid_set_in_slave_until_options7472_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options7482  */
static	ANTLR3_BITWORD FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options7482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options7482	= { FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options7482_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_slave_until_options7489  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_slave_until_options7489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00C0000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000006000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_slave_until_options7489	= { FOLLOW_COMMA_SYMBOL_in_slave_until_options7489_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_file_def_in_slave_until_options7491  */
static	ANTLR3_BITWORD FOLLOW_master_file_def_in_slave_until_options7491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_master_file_def_in_slave_until_options7491	= { FOLLOW_master_file_def_in_slave_until_options7491_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def7502  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def7502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def7502	= { FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def7502_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def7504  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def7504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def7504	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def7504_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_file_def7506  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_file_def7506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_file_def7506	= { FOLLOW_string_literal_in_master_file_def7506_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def7511  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def7511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def7511	= { FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def7511_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def7513  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def7513_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def7513	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def7513_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_file_def7515  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_file_def7515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_file_def7515	= { FOLLOW_INTEGER_in_master_file_def7515_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def7520  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def7520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def7520	= { FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def7520_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def7522  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def7522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def7522	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def7522_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_file_def7524  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_file_def7524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_file_def7524	= { FOLLOW_string_literal_in_master_file_def7524_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def7529  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def7529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def7529	= { FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def7529_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def7531  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def7531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def7531	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def7531_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_file_def7533  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_file_def7533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_file_def7533	= { FOLLOW_INTEGER_in_master_file_def7533_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_slave_connection_options7547  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_slave_connection_options7547_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_slave_connection_options7547	= { FOLLOW_USER_SYMBOL_in_slave_connection_options7547_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7549  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7549	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7549_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options7551  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options7551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0028000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options7551	= { FOLLOW_string_literal_in_slave_connection_options7551_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options7556  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options7556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options7556	= { FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options7556_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7558  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7558	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7558_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options7560  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options7560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options7560	= { FOLLOW_string_literal_in_slave_connection_options7560_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options7567  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options7567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options7567	= { FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options7567_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7569  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7569	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7569_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options7571  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options7571_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options7571	= { FOLLOW_string_literal_in_slave_connection_options7571_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options7576  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options7576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options7576	= { FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options7576_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7578  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7578_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7578	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7578_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options7580  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options7580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options7580	= { FOLLOW_string_literal_in_slave_connection_options7580_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STOP_SYMBOL_in_stop_slave7597  */
static	ANTLR3_BITWORD FOLLOW_STOP_SYMBOL_in_stop_slave7597_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STOP_SYMBOL_in_stop_slave7597	= { FOLLOW_STOP_SYMBOL_in_stop_slave7597_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_stop_slave7600  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_stop_slave7600_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_stop_slave7600	= { FOLLOW_SLAVE_SYMBOL_in_stop_slave7600_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_options_in_stop_slave7602  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_options_in_stop_slave7602_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_options_in_stop_slave7602	= { FOLLOW_slave_thread_options_in_stop_slave7602_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_stop_slave7605  */
static	ANTLR3_BITWORD FOLLOW_channel_in_stop_slave7605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_stop_slave7605	= { FOLLOW_channel_in_stop_slave7605_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_option_in_slave_thread_options7615  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_option_in_slave_thread_options7615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_option_in_slave_thread_options7615	= { FOLLOW_slave_thread_option_in_slave_thread_options7615_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_slave_thread_options7618  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_slave_thread_options7618_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_slave_thread_options7618	= { FOLLOW_COMMA_SYMBOL_in_slave_thread_options7618_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_option_in_slave_thread_options7620  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_option_in_slave_thread_options7620_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_option_in_slave_thread_options7620	= { FOLLOW_slave_thread_option_in_slave_thread_options7620_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_gtid_set7659  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_gtid_set7659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_gtid_set7659	= { FOLLOW_string_literal_in_gtid_set7659_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_prepared_statement7671  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_prepared_statement7671_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_prepared_statement7671	= { FOLLOW_PREPARE_SYMBOL_in_prepared_statement7671_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_prepared_statement7674  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_prepared_statement7674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_prepared_statement7674	= { FOLLOW_identifier_in_prepared_statement7674_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_prepared_statement7676  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_prepared_statement7676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_prepared_statement7676	= { FOLLOW_FROM_SYMBOL_in_prepared_statement7676_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_prepared_statement7679  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_prepared_statement7679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_prepared_statement7679	= { FOLLOW_string_literal_in_prepared_statement7679_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_prepared_statement7683  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_prepared_statement7683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_prepared_statement7683	= { FOLLOW_user_variable_in_prepared_statement7683_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_execute_statement_in_prepared_statement7689  */
static	ANTLR3_BITWORD FOLLOW_execute_statement_in_prepared_statement7689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_execute_statement_in_prepared_statement7689	= { FOLLOW_execute_statement_in_prepared_statement7689_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_prepared_statement7694  */
static	ANTLR3_BITWORD FOLLOW_set_in_prepared_statement7694_bits[]	= { ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_prepared_statement7694	= { FOLLOW_set_in_prepared_statement7694_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_prepared_statement7703  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_prepared_statement7703_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_prepared_statement7703	= { FOLLOW_PREPARE_SYMBOL_in_prepared_statement7703_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_prepared_statement7705  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_prepared_statement7705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_prepared_statement7705	= { FOLLOW_identifier_in_prepared_statement7705_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXECUTE_SYMBOL_in_execute_statement7714  */
static	ANTLR3_BITWORD FOLLOW_EXECUTE_SYMBOL_in_execute_statement7714_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EXECUTE_SYMBOL_in_execute_statement7714	= { FOLLOW_EXECUTE_SYMBOL_in_execute_statement7714_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_execute_statement7717  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_execute_statement7717_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_execute_statement7717	= { FOLLOW_identifier_in_execute_statement7717_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_execute_statement7720  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_execute_statement7720_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_execute_statement7720	= { FOLLOW_USING_SYMBOL_in_execute_statement7720_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_execute_var_list_in_execute_statement7722  */
static	ANTLR3_BITWORD FOLLOW_execute_var_list_in_execute_statement7722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_execute_var_list_in_execute_statement7722	= { FOLLOW_execute_var_list_in_execute_statement7722_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_execute_var_list7733  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_execute_var_list7733_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_execute_var_list7733	= { FOLLOW_user_variable_in_execute_var_list7733_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_execute_var_list7736  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_execute_var_list7736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_execute_var_list7736	= { FOLLOW_COMMA_SYMBOL_in_execute_var_list7736_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_execute_var_list7738  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_execute_var_list7738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_execute_var_list7738	= { FOLLOW_user_variable_in_execute_var_list7738_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_user_list_in_account_management_statement7755  */
static	ANTLR3_BITWORD FOLLOW_alter_user_list_in_account_management_statement7755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_user_list_in_account_management_statement7755	= { FOLLOW_alter_user_list_in_account_management_statement7755_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_user_in_account_management_statement7760  */
static	ANTLR3_BITWORD FOLLOW_create_user_in_account_management_statement7760_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_user_in_account_management_statement7760	= { FOLLOW_create_user_in_account_management_statement7760_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_user_in_account_management_statement7765  */
static	ANTLR3_BITWORD FOLLOW_drop_user_in_account_management_statement7765_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_user_in_account_management_statement7765	= { FOLLOW_drop_user_in_account_management_statement7765_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_proxy_in_account_management_statement7774  */
static	ANTLR3_BITWORD FOLLOW_grant_proxy_in_account_management_statement7774_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_proxy_in_account_management_statement7774	= { FOLLOW_grant_proxy_in_account_management_statement7774_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_in_account_management_statement7779  */
static	ANTLR3_BITWORD FOLLOW_grant_in_account_management_statement7779_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_in_account_management_statement7779	= { FOLLOW_grant_in_account_management_statement7779_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_rename_user_in_account_management_statement7784  */
static	ANTLR3_BITWORD FOLLOW_rename_user_in_account_management_statement7784_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_rename_user_in_account_management_statement7784	= { FOLLOW_rename_user_in_account_management_statement7784_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_revoke_statement_in_account_management_statement7789  */
static	ANTLR3_BITWORD FOLLOW_revoke_statement_in_account_management_statement7789_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_revoke_statement_in_account_management_statement7789	= { FOLLOW_revoke_statement_in_account_management_statement7789_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_password_in_account_management_statement7794  */
static	ANTLR3_BITWORD FOLLOW_set_password_in_account_management_statement7794_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_password_in_account_management_statement7794	= { FOLLOW_set_password_in_account_management_statement7794_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_user_list7803  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_user_list7803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_user_list7803	= { FOLLOW_ALTER_SYMBOL_in_alter_user_list7803_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_alter_user_list7806  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_alter_user_list7806_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_alter_user_list7806	= { FOLLOW_USER_SYMBOL_in_alter_user_list7806_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_user_in_alter_user_list7808  */
static	ANTLR3_BITWORD FOLLOW_alter_user_in_alter_user_list7808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_user_in_alter_user_list7808	= { FOLLOW_alter_user_in_alter_user_list7808_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_user_list7811  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_user_list7811_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_user_list7811	= { FOLLOW_COMMA_SYMBOL_in_alter_user_list7811_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_user_in_alter_user_list7813  */
static	ANTLR3_BITWORD FOLLOW_alter_user_in_alter_user_list7813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_user_in_alter_user_list7813	= { FOLLOW_alter_user_in_alter_user_list7813_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_alter_user7824  */
static	ANTLR3_BITWORD FOLLOW_user_in_alter_user7824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_alter_user7824	= { FOLLOW_user_in_alter_user7824_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_alter_user7826  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_alter_user7826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_alter_user7826	= { FOLLOW_PASSWORD_SYMBOL_in_alter_user7826_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPIRE_SYMBOL_in_alter_user7828  */
static	ANTLR3_BITWORD FOLLOW_EXPIRE_SYMBOL_in_alter_user7828_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPIRE_SYMBOL_in_alter_user7828	= { FOLLOW_EXPIRE_SYMBOL_in_alter_user7828_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_user_expire_interval_in_alter_user7830  */
static	ANTLR3_BITWORD FOLLOW_alter_user_expire_interval_in_alter_user7830_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_user_expire_interval_in_alter_user7830	= { FOLLOW_alter_user_expire_interval_in_alter_user7830_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_alter_user_expire_interval7848  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_alter_user_expire_interval7848_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_alter_user_expire_interval7848	= { FOLLOW_INTERVAL_SYMBOL_in_alter_user_expire_interval7848_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_alter_user_expire_interval7850  */
static	ANTLR3_BITWORD FOLLOW_number_in_alter_user_expire_interval7850_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_number_in_alter_user_expire_interval7850	= { FOLLOW_number_in_alter_user_expire_interval7850_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_alter_user_expire_interval7852  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_alter_user_expire_interval7852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SYMBOL_in_alter_user_expire_interval7852	= { FOLLOW_DAY_SYMBOL_in_alter_user_expire_interval7852_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NEVER_SYMBOL_in_alter_user_expire_interval7858  */
static	ANTLR3_BITWORD FOLLOW_NEVER_SYMBOL_in_alter_user_expire_interval7858_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NEVER_SYMBOL_in_alter_user_expire_interval7858	= { FOLLOW_NEVER_SYMBOL_in_alter_user_expire_interval7858_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_user_expire_interval7864  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_user_expire_interval7864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_user_expire_interval7864	= { FOLLOW_DEFAULT_SYMBOL_in_alter_user_expire_interval7864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_user7876  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_user7876_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_user7876	= { FOLLOW_CREATE_SYMBOL_in_create_user7876_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_create_user7879  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_create_user7879_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_create_user7879	= { FOLLOW_USER_SYMBOL_in_create_user7879_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_create_user7881  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_create_user7881_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_create_user7881	= { FOLLOW_user_specification_in_create_user7881_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_drop_user7890  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_drop_user7890_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_drop_user7890	= { FOLLOW_DROP_SYMBOL_in_drop_user7890_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_drop_user7893  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_drop_user7893_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_drop_user7893	= { FOLLOW_USER_SYMBOL_in_drop_user7893_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_drop_user7895  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_drop_user7895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_drop_user7895	= { FOLLOW_user_list_in_drop_user7895_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_in_parse_grant7905  */
static	ANTLR3_BITWORD FOLLOW_grant_in_parse_grant7905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_in_parse_grant7905	= { FOLLOW_grant_in_parse_grant7905_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_parse_grant7907  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_parse_grant7907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_parse_grant7907	= { FOLLOW_EOF_in_parse_grant7907_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant7916  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant7916_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002002), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000400000090002), ANTLR3_UINT64_LIT(0x0030000000000080), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x2000000002000400), ANTLR3_UINT64_LIT(0x1000000000084000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000802000008000), ANTLR3_UINT64_LIT(0x0030004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant7916	= { FOLLOW_GRANT_SYMBOL_in_grant7916_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_privileges_in_grant7919  */
static	ANTLR3_BITWORD FOLLOW_grant_privileges_in_grant7919_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_privileges_in_grant7919	= { FOLLOW_grant_privileges_in_grant7919_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_target_in_grant7921  */
static	ANTLR3_BITWORD FOLLOW_privilege_target_in_grant7921_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_target_in_grant7921	= { FOLLOW_privilege_target_in_grant7921_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_grant7925  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_grant7925_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_grant7925	= { FOLLOW_TO_SYMBOL_in_grant7925_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant7927  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant7927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant7927	= { FOLLOW_user_specification_in_grant7927_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant7930  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant7930_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant7930	= { FOLLOW_COMMA_SYMBOL_in_grant7930_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant7932  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant7932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant7932	= { FOLLOW_user_specification_in_grant7932_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REQUIRE_SYMBOL_in_grant7939  */
static	ANTLR3_BITWORD FOLLOW_REQUIRE_SYMBOL_in_grant7939_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_REQUIRE_SYMBOL_in_grant7939	= { FOLLOW_REQUIRE_SYMBOL_in_grant7939_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NONE_SYMBOL_in_grant7950  */
static	ANTLR3_BITWORD FOLLOW_NONE_SYMBOL_in_grant7950_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_NONE_SYMBOL_in_grant7950	= { FOLLOW_NONE_SYMBOL_in_grant7950_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SSL_SYMBOL_in_grant7958  */
static	ANTLR3_BITWORD FOLLOW_SSL_SYMBOL_in_grant7958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_SSL_SYMBOL_in_grant7958	= { FOLLOW_SSL_SYMBOL_in_grant7958_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_X509_SYMBOL_in_grant7966  */
static	ANTLR3_BITWORD FOLLOW_X509_SYMBOL_in_grant7966_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_X509_SYMBOL_in_grant7966	= { FOLLOW_X509_SYMBOL_in_grant7966_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_require_list_in_grant7974  */
static	ANTLR3_BITWORD FOLLOW_require_list_in_grant7974_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_require_list_in_grant7974	= { FOLLOW_require_list_in_grant7974_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_grant7977  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_grant7977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_grant7977	= { FOLLOW_AND_SYMBOL_in_grant7977_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_require_list_in_grant7980  */
static	ANTLR3_BITWORD FOLLOW_require_list_in_grant7980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_require_list_in_grant7980	= { FOLLOW_require_list_in_grant7980_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_grant7997  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_grant7997_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001980), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_grant7997	= { FOLLOW_WITH_SYMBOL_in_grant7997_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_option_in_grant7999  */
static	ANTLR3_BITWORD FOLLOW_grant_option_in_grant7999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001980), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_option_in_grant7999	= { FOLLOW_grant_option_in_grant7999_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_proxy8011  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_proxy8011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant_proxy8011	= { FOLLOW_GRANT_SYMBOL_in_grant_proxy8011_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_grant_proxy8014  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_grant_proxy8014_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_grant_proxy8014	= { FOLLOW_PROXY_SYMBOL_in_grant_proxy8014_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_grant_proxy8016  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_grant_proxy8016_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_grant_proxy8016	= { FOLLOW_ON_SYMBOL_in_grant_proxy8016_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy8018  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy8018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy8018	= { FOLLOW_user_specification_in_grant_proxy8018_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_grant_proxy8020  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_grant_proxy8020_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_grant_proxy8020	= { FOLLOW_TO_SYMBOL_in_grant_proxy8020_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy8022  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy8022_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy8022	= { FOLLOW_user_specification_in_grant_proxy8022_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant_proxy8025  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant_proxy8025_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant_proxy8025	= { FOLLOW_COMMA_SYMBOL_in_grant_proxy8025_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy8027  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy8027_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy8027	= { FOLLOW_user_specification_in_grant_proxy8027_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_grant_proxy8034  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_grant_proxy8034_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_grant_proxy8034	= { FOLLOW_WITH_SYMBOL_in_grant_proxy8034_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_proxy8036  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_proxy8036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant_proxy8036	= { FOLLOW_GRANT_SYMBOL_in_grant_proxy8036_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_grant_proxy8038  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_grant_proxy8038_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_grant_proxy8038	= { FOLLOW_OPTION_SYMBOL_in_grant_proxy8038_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_rename_user8049  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_rename_user8049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_rename_user8049	= { FOLLOW_RENAME_SYMBOL_in_rename_user8049_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_rename_user8052  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_rename_user8052_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_rename_user8052	= { FOLLOW_USER_SYMBOL_in_rename_user8052_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user8054  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user8054_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user8054	= { FOLLOW_user_in_rename_user8054_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_user8056  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_user8056_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_user8056	= { FOLLOW_TO_SYMBOL_in_rename_user8056_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user8058  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user8058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user8058	= { FOLLOW_user_in_rename_user8058_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_rename_user8061  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_rename_user8061_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_rename_user8061	= { FOLLOW_COMMA_SYMBOL_in_rename_user8061_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user8063  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user8063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user8063	= { FOLLOW_user_in_rename_user8063_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_user8065  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_user8065_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_user8065	= { FOLLOW_TO_SYMBOL_in_rename_user8065_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user8067  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user8067_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user8067	= { FOLLOW_user_in_rename_user8067_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVOKE_SYMBOL_in_revoke_statement8078  */
static	ANTLR3_BITWORD FOLLOW_REVOKE_SYMBOL_in_revoke_statement8078_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002002), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000400000090002), ANTLR3_UINT64_LIT(0x0030000000000080), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x2000000002000400), ANTLR3_UINT64_LIT(0x1000000000084000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000802000008000), ANTLR3_UINT64_LIT(0x0030004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REVOKE_SYMBOL_in_revoke_statement8078	= { FOLLOW_REVOKE_SYMBOL_in_revoke_statement8078_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_revoke_statement8090  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_revoke_statement8090_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_revoke_statement8090	= { FOLLOW_ALL_SYMBOL_in_revoke_statement8090_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement8092  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement8092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement8092	= { FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement8092_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_revoke_statement8095  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_revoke_statement8095_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_revoke_statement8095	= { FOLLOW_COMMA_SYMBOL_in_revoke_statement8095_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_revoke_statement8097  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_revoke_statement8097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_revoke_statement8097	= { FOLLOW_GRANT_SYMBOL_in_revoke_statement8097_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_revoke_statement8099  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_revoke_statement8099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_revoke_statement8099	= { FOLLOW_OPTION_SYMBOL_in_revoke_statement8099_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement8101  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement8101_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement8101	= { FOLLOW_FROM_SYMBOL_in_revoke_statement8101_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement8103  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement8103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement8103	= { FOLLOW_user_list_in_revoke_statement8103_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_privileges_in_revoke_statement8109  */
static	ANTLR3_BITWORD FOLLOW_grant_privileges_in_revoke_statement8109_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_privileges_in_revoke_statement8109	= { FOLLOW_grant_privileges_in_revoke_statement8109_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_target_in_revoke_statement8111  */
static	ANTLR3_BITWORD FOLLOW_privilege_target_in_revoke_statement8111_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_target_in_revoke_statement8111	= { FOLLOW_privilege_target_in_revoke_statement8111_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement8113  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement8113_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement8113	= { FOLLOW_FROM_SYMBOL_in_revoke_statement8113_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement8115  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement8115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement8115	= { FOLLOW_user_list_in_revoke_statement8115_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_revoke_statement8125  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_revoke_statement8125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_revoke_statement8125	= { FOLLOW_PROXY_SYMBOL_in_revoke_statement8125_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_revoke_statement8127  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_revoke_statement8127_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_revoke_statement8127	= { FOLLOW_ON_SYMBOL_in_revoke_statement8127_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_revoke_statement8129  */
static	ANTLR3_BITWORD FOLLOW_user_in_revoke_statement8129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_revoke_statement8129	= { FOLLOW_user_in_revoke_statement8129_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement8131  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement8131_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement8131	= { FOLLOW_FROM_SYMBOL_in_revoke_statement8131_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement8133  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement8133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement8133	= { FOLLOW_user_list_in_revoke_statement8133_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_privilege_target8145  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_privilege_target8145_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_privilege_target8145	= { FOLLOW_ON_SYMBOL_in_privilege_target8145_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_object_type_in_privilege_target8147  */
static	ANTLR3_BITWORD FOLLOW_grant_object_type_in_privilege_target8147_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_object_type_in_privilege_target8147	= { FOLLOW_grant_object_type_in_privilege_target8147_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_level_in_privilege_target8149  */
static	ANTLR3_BITWORD FOLLOW_privilege_level_in_privilege_target8149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_level_in_privilege_target8149	= { FOLLOW_privilege_level_in_privilege_target8149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_set_password8170  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_set_password8170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_set_password8170	= { FOLLOW_SET_SYMBOL_in_set_password8170_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_set_password8173  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_set_password8173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_set_password8173	= { FOLLOW_PASSWORD_SYMBOL_in_set_password8173_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_set_password8176  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_set_password8176_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_set_password8176	= { FOLLOW_FOR_SYMBOL_in_set_password8176_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_set_password8178  */
static	ANTLR3_BITWORD FOLLOW_user_in_set_password8178_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_set_password8178	= { FOLLOW_user_in_set_password8178_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_set_password8182  */
static	ANTLR3_BITWORD FOLLOW_equal_in_set_password8182_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_set_password8182	= { FOLLOW_equal_in_set_password8182_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_set_password8189  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_set_password8189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_set_password8189	= { FOLLOW_PASSWORD_SYMBOL_in_set_password8189_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_set_password8191  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_set_password8191_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_set_password8191	= { FOLLOW_OPEN_PAR_SYMBOL_in_set_password8191_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password8193  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password8193_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password8193	= { FOLLOW_string_literal_in_set_password8193_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8195  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8195_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8195	= { FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8195_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password8205  */
static	ANTLR3_BITWORD FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password8205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password8205	= { FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password8205_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_set_password8207  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_set_password8207_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_set_password8207	= { FOLLOW_OPEN_PAR_SYMBOL_in_set_password8207_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password8209  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password8209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password8209	= { FOLLOW_string_literal_in_set_password8209_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8211  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8211	= { FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8211_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password8217  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password8217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password8217	= { FOLLOW_string_literal_in_set_password8217_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_grant_object_type8230  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_grant_object_type8230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_grant_object_type8230	= { FOLLOW_TABLE_SYMBOL_in_grant_object_type8230_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_grant_object_type8235  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_grant_object_type8235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_grant_object_type8235	= { FOLLOW_FUNCTION_SYMBOL_in_grant_object_type8235_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type8239  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type8239_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type8239	= { FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type8239_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_grant_privileges8249  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_grant_privileges8249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_grant_privileges8249	= { FOLLOW_ALL_SYMBOL_in_grant_privileges8249_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges8251  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges8251_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges8251	= { FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges8251_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_type_in_grant_privileges8257  */
static	ANTLR3_BITWORD FOLLOW_privilege_type_in_grant_privileges8257_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_type_in_grant_privileges8257	= { FOLLOW_privilege_type_in_grant_privileges8257_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant_privileges8260  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant_privileges8260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002002), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000400000090002), ANTLR3_UINT64_LIT(0x0020000000000080), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x2000000002000400), ANTLR3_UINT64_LIT(0x1000000000084000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000802000008000), ANTLR3_UINT64_LIT(0x0030004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant_privileges8260	= { FOLLOW_COMMA_SYMBOL_in_grant_privileges8260_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_type_in_grant_privileges8262  */
static	ANTLR3_BITWORD FOLLOW_privilege_type_in_grant_privileges8262_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_type_in_grant_privileges8262	= { FOLLOW_privilege_type_in_grant_privileges8262_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_privilege_type8273  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_privilege_type8273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_privilege_type8273	= { FOLLOW_ALTER_SYMBOL_in_privilege_type8273_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROUTINE_SYMBOL_in_privilege_type8275  */
static	ANTLR3_BITWORD FOLLOW_ROUTINE_SYMBOL_in_privilege_type8275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROUTINE_SYMBOL_in_privilege_type8275	= { FOLLOW_ROUTINE_SYMBOL_in_privilege_type8275_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_privilege_type8281  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_privilege_type8281_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x000000900000C000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_privilege_type8281	= { FOLLOW_CREATE_SYMBOL_in_privilege_type8281_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROUTINE_SYMBOL_in_privilege_type8284  */
static	ANTLR3_BITWORD FOLLOW_ROUTINE_SYMBOL_in_privilege_type8284_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROUTINE_SYMBOL_in_privilege_type8284	= { FOLLOW_ROUTINE_SYMBOL_in_privilege_type8284_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_privilege_type8288  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_privilege_type8288_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_privilege_type8288	= { FOLLOW_TABLESPACE_SYMBOL_in_privilege_type8288_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_privilege_type8292  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_privilege_type8292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEMPORARY_SYMBOL_in_privilege_type8292	= { FOLLOW_TEMPORARY_SYMBOL_in_privilege_type8292_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_privilege_type8294  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_privilege_type8294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_privilege_type8294	= { FOLLOW_TABLES_SYMBOL_in_privilege_type8294_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_privilege_type8298  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_privilege_type8298_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_privilege_type8298	= { FOLLOW_USER_SYMBOL_in_privilege_type8298_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_privilege_type8302  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_privilege_type8302_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_privilege_type8302	= { FOLLOW_VIEW_SYMBOL_in_privilege_type8302_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_privilege_type8309  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_privilege_type8309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_privilege_type8309	= { FOLLOW_DELETE_SYMBOL_in_privilege_type8309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_privilege_type8314  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_privilege_type8314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_privilege_type8314	= { FOLLOW_DROP_SYMBOL_in_privilege_type8314_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_privilege_type8319  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_privilege_type8319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_privilege_type8319	= { FOLLOW_EVENT_SYMBOL_in_privilege_type8319_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXECUTE_SYMBOL_in_privilege_type8324  */
static	ANTLR3_BITWORD FOLLOW_EXECUTE_SYMBOL_in_privilege_type8324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXECUTE_SYMBOL_in_privilege_type8324	= { FOLLOW_EXECUTE_SYMBOL_in_privilege_type8324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FILE_SYMBOL_in_privilege_type8329  */
static	ANTLR3_BITWORD FOLLOW_FILE_SYMBOL_in_privilege_type8329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FILE_SYMBOL_in_privilege_type8329	= { FOLLOW_FILE_SYMBOL_in_privilege_type8329_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_privilege_type8334  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_privilege_type8334_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_privilege_type8334	= { FOLLOW_GRANT_SYMBOL_in_privilege_type8334_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_privilege_type8336  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_privilege_type8336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_privilege_type8336	= { FOLLOW_OPTION_SYMBOL_in_privilege_type8336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_privilege_type8341  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_privilege_type8341_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_privilege_type8341	= { FOLLOW_INDEX_SYMBOL_in_privilege_type8341_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_privilege_type8346  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_privilege_type8346_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_privilege_type8346	= { FOLLOW_INSERT_SYMBOL_in_privilege_type8346_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type8348  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type8348_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type8348	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type8348_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_privilege_type8354  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_privilege_type8354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_privilege_type8354	= { FOLLOW_LOCK_SYMBOL_in_privilege_type8354_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_privilege_type8356  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_privilege_type8356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_privilege_type8356	= { FOLLOW_TABLES_SYMBOL_in_privilege_type8356_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCESS_SYMBOL_in_privilege_type8361  */
static	ANTLR3_BITWORD FOLLOW_PROCESS_SYMBOL_in_privilege_type8361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCESS_SYMBOL_in_privilege_type8361	= { FOLLOW_PROCESS_SYMBOL_in_privilege_type8361_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_privilege_type8366  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_privilege_type8366_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_privilege_type8366	= { FOLLOW_PROXY_SYMBOL_in_privilege_type8366_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REFERENCES_SYMBOL_in_privilege_type8371  */
static	ANTLR3_BITWORD FOLLOW_REFERENCES_SYMBOL_in_privilege_type8371_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REFERENCES_SYMBOL_in_privilege_type8371	= { FOLLOW_REFERENCES_SYMBOL_in_privilege_type8371_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type8373  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type8373_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type8373	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type8373_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELOAD_SYMBOL_in_privilege_type8379  */
static	ANTLR3_BITWORD FOLLOW_RELOAD_SYMBOL_in_privilege_type8379_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELOAD_SYMBOL_in_privilege_type8379	= { FOLLOW_RELOAD_SYMBOL_in_privilege_type8379_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATION_SYMBOL_in_privilege_type8384  */
static	ANTLR3_BITWORD FOLLOW_REPLICATION_SYMBOL_in_privilege_type8384_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATION_SYMBOL_in_privilege_type8384	= { FOLLOW_REPLICATION_SYMBOL_in_privilege_type8384_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_privilege_type8386  */
static	ANTLR3_BITWORD FOLLOW_set_in_privilege_type8386_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_privilege_type8386	= { FOLLOW_set_in_privilege_type8386_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_privilege_type8397  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_privilege_type8397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_privilege_type8397	= { FOLLOW_SELECT_SYMBOL_in_privilege_type8397_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type8399  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type8399_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type8399	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type8399_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_privilege_type8405  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_privilege_type8405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHOW_SYMBOL_in_privilege_type8405	= { FOLLOW_SHOW_SYMBOL_in_privilege_type8405_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASES_SYMBOL_in_privilege_type8407  */
static	ANTLR3_BITWORD FOLLOW_DATABASES_SYMBOL_in_privilege_type8407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASES_SYMBOL_in_privilege_type8407	= { FOLLOW_DATABASES_SYMBOL_in_privilege_type8407_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_privilege_type8412  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_privilege_type8412_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHOW_SYMBOL_in_privilege_type8412	= { FOLLOW_SHOW_SYMBOL_in_privilege_type8412_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_privilege_type8414  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_privilege_type8414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_privilege_type8414	= { FOLLOW_VIEW_SYMBOL_in_privilege_type8414_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type8419  */
static	ANTLR3_BITWORD FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type8419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type8419	= { FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type8419_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUPER_SYMBOL_in_privilege_type8424  */
static	ANTLR3_BITWORD FOLLOW_SUPER_SYMBOL_in_privilege_type8424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SUPER_SYMBOL_in_privilege_type8424	= { FOLLOW_SUPER_SYMBOL_in_privilege_type8424_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_privilege_type8429  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_privilege_type8429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_privilege_type8429	= { FOLLOW_TRIGGER_SYMBOL_in_privilege_type8429_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_privilege_type8434  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_privilege_type8434_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_privilege_type8434	= { FOLLOW_UPDATE_SYMBOL_in_privilege_type8434_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type8436  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type8436_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type8436	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type8436_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USAGE_SYMBOL_in_privilege_type8442  */
static	ANTLR3_BITWORD FOLLOW_USAGE_SYMBOL_in_privilege_type8442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USAGE_SYMBOL_in_privilege_type8442	= { FOLLOW_USAGE_SYMBOL_in_privilege_type8442_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level8451  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level8451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level8451	= { FOLLOW_MULT_OPERATOR_in_privilege_level8451_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_privilege_level8454  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_privilege_level8454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_privilege_level8454	= { FOLLOW_DOT_SYMBOL_in_privilege_level8454_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level8456  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level8456_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level8456	= { FOLLOW_MULT_OPERATOR_in_privilege_level8456_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_privilege_level8463  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_privilege_level8463_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_privilege_level8463	= { FOLLOW_identifier_in_privilege_level8463_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_privilege_level8466  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_privilege_level8466_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_privilege_level8466	= { FOLLOW_DOT_SYMBOL_in_privilege_level8466_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level8469  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level8469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level8469	= { FOLLOW_MULT_OPERATOR_in_privilege_level8469_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_privilege_level8473  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_privilege_level8473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_privilege_level8473	= { FOLLOW_identifier_in_privilege_level8473_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CIPHER_SYMBOL_in_require_list8485  */
static	ANTLR3_BITWORD FOLLOW_CIPHER_SYMBOL_in_require_list8485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CIPHER_SYMBOL_in_require_list8485	= { FOLLOW_CIPHER_SYMBOL_in_require_list8485_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list8487  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list8487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list8487	= { FOLLOW_string_literal_in_require_list8487_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ISSUER_SYMBOL_in_require_list8492  */
static	ANTLR3_BITWORD FOLLOW_ISSUER_SYMBOL_in_require_list8492_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ISSUER_SYMBOL_in_require_list8492	= { FOLLOW_ISSUER_SYMBOL_in_require_list8492_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list8494  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list8494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list8494	= { FOLLOW_string_literal_in_require_list8494_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBJECT_SYMBOL_in_require_list8499  */
static	ANTLR3_BITWORD FOLLOW_SUBJECT_SYMBOL_in_require_list8499_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBJECT_SYMBOL_in_require_list8499	= { FOLLOW_SUBJECT_SYMBOL_in_require_list8499_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list8501  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list8501_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list8501	= { FOLLOW_string_literal_in_require_list8501_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_option8510  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_option8510_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant_option8510	= { FOLLOW_GRANT_SYMBOL_in_grant_option8510_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_grant_option8512  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_grant_option8512_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_grant_option8512	= { FOLLOW_OPTION_SYMBOL_in_grant_option8512_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option8517  */
static	ANTLR3_BITWORD FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option8517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option8517	= { FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option8517_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option8519  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option8519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option8519	= { FOLLOW_INTEGER_in_grant_option8519_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option8524  */
static	ANTLR3_BITWORD FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option8524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option8524	= { FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option8524_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option8526  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option8526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option8526	= { FOLLOW_INTEGER_in_grant_option8526_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option8531  */
static	ANTLR3_BITWORD FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option8531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option8531	= { FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option8531_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option8533  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option8533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option8533	= { FOLLOW_INTEGER_in_grant_option8533_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option8538  */
static	ANTLR3_BITWORD FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option8538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option8538	= { FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option8538_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option8540  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option8540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option8540	= { FOLLOW_INTEGER_in_grant_option8540_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement8551  */
static	ANTLR3_BITWORD FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement8551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement8551	= { FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement8551_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement8554  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement8554_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_table_administration_statement8554	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement8554_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8557  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8557_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8557	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8557_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement8559  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement8559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement8559	= { FOLLOW_qualified_identifier_list_in_table_administration_statement8559_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_table_administration_statement8564  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_table_administration_statement8564_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_table_administration_statement8564	= { FOLLOW_CHECK_SYMBOL_in_table_administration_statement8564_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8567  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8567_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8567	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8567_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement8569  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement8569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000240), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement8569	= { FOLLOW_qualified_identifier_list_in_table_administration_statement8569_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_check_option_in_table_administration_statement8571  */
static	ANTLR3_BITWORD FOLLOW_check_option_in_table_administration_statement8571_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000000000240), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_check_option_in_table_administration_statement8571	= { FOLLOW_check_option_in_table_administration_statement8571_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement8577  */
static	ANTLR3_BITWORD FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement8577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement8577	= { FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement8577_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8580  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8580_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8580	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8580_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement8582  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement8582_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement8582	= { FOLLOW_qualified_identifier_list_in_table_administration_statement8582_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement8596  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement8596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement8596	= { FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement8596_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement8599  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement8599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_table_administration_statement8599	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement8599_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8602  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8602_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8602	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8602_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement8604  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement8604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement8604	= { FOLLOW_qualified_identifier_list_in_table_administration_statement8604_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPAIR_SYMBOL_in_table_administration_statement8609  */
static	ANTLR3_BITWORD FOLLOW_REPAIR_SYMBOL_in_table_administration_statement8609_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPAIR_SYMBOL_in_table_administration_statement8609	= { FOLLOW_REPAIR_SYMBOL_in_table_administration_statement8609_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement8612  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement8612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_table_administration_statement8612	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement8612_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8615  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8615_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8615	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8615_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement8617  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement8617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement8617	= { FOLLOW_qualified_identifier_list_in_table_administration_statement8617_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repair_option_in_table_administration_statement8619  */
static	ANTLR3_BITWORD FOLLOW_repair_option_in_table_administration_statement8619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_repair_option_in_table_administration_statement8619	= { FOLLOW_repair_option_in_table_administration_statement8619_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BACKUP_SYMBOL_in_table_administration_statement8629  */
static	ANTLR3_BITWORD FOLLOW_BACKUP_SYMBOL_in_table_administration_statement8629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BACKUP_SYMBOL_in_table_administration_statement8629	= { FOLLOW_BACKUP_SYMBOL_in_table_administration_statement8629_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8632  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8632_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8632	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8632_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_table_administration_statement8634  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_table_administration_statement8634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_table_administration_statement8634	= { FOLLOW_table_identifier_list_in_table_administration_statement8634_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_table_administration_statement8636  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_table_administration_statement8636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_table_administration_statement8636	= { FOLLOW_TO_SYMBOL_in_table_administration_statement8636_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_table_administration_statement8638  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_table_administration_statement8638_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_table_administration_statement8638	= { FOLLOW_string_literal_in_table_administration_statement8638_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESTORE_SYMBOL_in_table_administration_statement8647  */
static	ANTLR3_BITWORD FOLLOW_RESTORE_SYMBOL_in_table_administration_statement8647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RESTORE_SYMBOL_in_table_administration_statement8647	= { FOLLOW_RESTORE_SYMBOL_in_table_administration_statement8647_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement8650  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement8650_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement8650	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement8650_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_table_administration_statement8652  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_table_administration_statement8652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_table_administration_statement8652	= { FOLLOW_table_identifier_list_in_table_administration_statement8652_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_table_administration_statement8654  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_table_administration_statement8654_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_table_administration_statement8654	= { FOLLOW_FROM_SYMBOL_in_table_administration_statement8654_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_table_administration_statement8656  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_table_administration_statement8656_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_table_administration_statement8656	= { FOLLOW_string_literal_in_table_administration_statement8656_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_check_option8665  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_check_option8665_bits[]	= { ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_check_option8665	= { FOLLOW_FOR_SYMBOL_in_check_option8665_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPGRADE_SYMBOL_in_check_option8667  */
static	ANTLR3_BITWORD FOLLOW_UPGRADE_SYMBOL_in_check_option8667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UPGRADE_SYMBOL_in_check_option8667	= { FOLLOW_UPGRADE_SYMBOL_in_check_option8667_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUICK_SYMBOL_in_check_option8671  */
static	ANTLR3_BITWORD FOLLOW_QUICK_SYMBOL_in_check_option8671_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_QUICK_SYMBOL_in_check_option8671	= { FOLLOW_QUICK_SYMBOL_in_check_option8671_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FAST_SYMBOL_in_check_option8675  */
static	ANTLR3_BITWORD FOLLOW_FAST_SYMBOL_in_check_option8675_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FAST_SYMBOL_in_check_option8675	= { FOLLOW_FAST_SYMBOL_in_check_option8675_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUM_SYMBOL_in_check_option8679  */
static	ANTLR3_BITWORD FOLLOW_MEDIUM_SYMBOL_in_check_option8679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUM_SYMBOL_in_check_option8679	= { FOLLOW_MEDIUM_SYMBOL_in_check_option8679_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENDED_SYMBOL_in_check_option8683  */
static	ANTLR3_BITWORD FOLLOW_EXTENDED_SYMBOL_in_check_option8683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENDED_SYMBOL_in_check_option8683	= { FOLLOW_EXTENDED_SYMBOL_in_check_option8683_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGED_SYMBOL_in_check_option8687  */
static	ANTLR3_BITWORD FOLLOW_CHANGED_SYMBOL_in_check_option8687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGED_SYMBOL_in_check_option8687	= { FOLLOW_CHANGED_SYMBOL_in_check_option8687_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment8715  */
static	ANTLR3_BITWORD FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment8715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment8715	= { FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment8715_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8718  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8718_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8718	= { FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8718_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_install_uninstall_statment8720  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_install_uninstall_statment8720_bits[]	= { ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_install_uninstall_statment8720	= { FOLLOW_identifier_in_install_uninstall_statment8720_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment8722  */
static	ANTLR3_BITWORD FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment8722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment8722	= { FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment8722_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_install_uninstall_statment8724  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_install_uninstall_statment8724_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_install_uninstall_statment8724	= { FOLLOW_string_literal_in_install_uninstall_statment8724_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment8729  */
static	ANTLR3_BITWORD FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment8729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment8729	= { FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment8729_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8732  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8732_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8732	= { FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8732_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_install_uninstall_statment8734  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_install_uninstall_statment8734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_install_uninstall_statment8734	= { FOLLOW_identifier_in_install_uninstall_statment8734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_set_statement8745  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_set_statement8745_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_set_statement8745	= { FOLLOW_SET_SYMBOL_in_set_statement8745_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_set_statement8768  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_set_statement8768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_set_statement8768	= { FOLLOW_option_type_in_set_statement8768_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRANSACTION_SYMBOL_in_set_statement8771  */
static	ANTLR3_BITWORD FOLLOW_TRANSACTION_SYMBOL_in_set_statement8771_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRANSACTION_SYMBOL_in_set_statement8771	= { FOLLOW_TRANSACTION_SYMBOL_in_set_statement8771_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_transaction_characteristic_in_set_statement8773  */
static	ANTLR3_BITWORD FOLLOW_set_transaction_characteristic_in_set_statement8773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_transaction_characteristic_in_set_statement8773	= { FOLLOW_set_transaction_characteristic_in_set_statement8773_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ONE_SHOT_SYMBOL_in_set_statement8780  */
static	ANTLR3_BITWORD FOLLOW_ONE_SHOT_SYMBOL_in_set_statement8780_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ONE_SHOT_SYMBOL_in_set_statement8780	= { FOLLOW_ONE_SHOT_SYMBOL_in_set_statement8780_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_no_option_type_in_set_statement8783  */
static	ANTLR3_BITWORD FOLLOW_option_value_no_option_type_in_set_statement8783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_no_option_type_in_set_statement8783	= { FOLLOW_option_value_no_option_type_in_set_statement8783_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_set_statement8786  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_set_statement8786_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_set_statement8786	= { FOLLOW_COMMA_SYMBOL_in_set_statement8786_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_list_in_set_statement8788  */
static	ANTLR3_BITWORD FOLLOW_option_value_list_in_set_statement8788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_list_in_set_statement8788	= { FOLLOW_option_value_list_in_set_statement8788_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_set_statement8801  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_set_statement8801_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_set_statement8801	= { FOLLOW_option_type_in_set_statement8801_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_following_option_type_in_set_statement8803  */
static	ANTLR3_BITWORD FOLLOW_option_value_following_option_type_in_set_statement8803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_following_option_type_in_set_statement8803	= { FOLLOW_option_value_following_option_type_in_set_statement8803_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_set_statement8806  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_set_statement8806_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_set_statement8806	= { FOLLOW_COMMA_SYMBOL_in_set_statement8806_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_list_in_set_statement8808  */
static	ANTLR3_BITWORD FOLLOW_option_value_list_in_set_statement8808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_list_in_set_statement8808	= { FOLLOW_option_value_list_in_set_statement8808_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NAMES_SYMBOL_in_option_value_no_option_type8833  */
static	ANTLR3_BITWORD FOLLOW_NAMES_SYMBOL_in_option_value_no_option_type8833_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0803FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NAMES_SYMBOL_in_option_value_no_option_type8833	= { FOLLOW_NAMES_SYMBOL_in_option_value_no_option_type8833_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value_no_option_type8842  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value_no_option_type8842_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value_no_option_type8842	= { FOLLOW_equal_in_option_value_no_option_type8842_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_option_value_no_option_type8844  */
static	ANTLR3_BITWORD FOLLOW_expression_in_option_value_no_option_type8844_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_option_value_no_option_type8844	= { FOLLOW_expression_in_option_value_no_option_type8844_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_option_value_no_option_type8851  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_option_value_no_option_type8851_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_option_value_no_option_type8851	= { FOLLOW_charset_name_or_default_in_option_value_no_option_type8851_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_option_value_no_option_type8854  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_option_value_no_option_type8854_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_option_value_no_option_type8854	= { FOLLOW_COLLATE_SYMBOL_in_option_value_no_option_type8854_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_option_value_no_option_type8856  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_option_value_no_option_type8856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_option_value_no_option_type8856	= { FOLLOW_collation_name_or_default_in_option_value_no_option_type8856_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_option_value_no_option_type8867  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_option_value_no_option_type8867_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_option_value_no_option_type8867	= { FOLLOW_variable_name_in_option_value_no_option_type8867_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value_no_option_type8869  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value_no_option_type8869_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200E159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value_no_option_type8869	= { FOLLOW_equal_in_option_value_no_option_type8869_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_option_value_no_option_type8871  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_option_value_no_option_type8871_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_option_value_no_option_type8871	= { FOLLOW_set_expression_or_default_in_option_value_no_option_type8871_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_option_value_no_option_type8876  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_option_value_no_option_type8876_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_option_value_no_option_type8876	= { FOLLOW_user_variable_in_option_value_no_option_type8876_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value_no_option_type8878  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value_no_option_type8878_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value_no_option_type8878	= { FOLLOW_equal_in_option_value_no_option_type8878_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_option_value_no_option_type8880  */
static	ANTLR3_BITWORD FOLLOW_expression_in_option_value_no_option_type8880_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_option_value_no_option_type8880	= { FOLLOW_expression_in_option_value_no_option_type8880_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_system_variable_in_option_value_no_option_type8885  */
static	ANTLR3_BITWORD FOLLOW_system_variable_in_option_value_no_option_type8885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_system_variable_in_option_value_no_option_type8885	= { FOLLOW_system_variable_in_option_value_no_option_type8885_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value_no_option_type8887  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value_no_option_type8887_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200E159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value_no_option_type8887	= { FOLLOW_equal_in_option_value_no_option_type8887_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_option_value_no_option_type8889  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_option_value_no_option_type8889_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_option_value_no_option_type8889	= { FOLLOW_set_expression_or_default_in_option_value_no_option_type8889_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_option_value_no_option_type8894  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_option_value_no_option_type8894_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_option_value_no_option_type8894	= { FOLLOW_charset_clause_in_option_value_no_option_type8894_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_option_value_following_option_type8903  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_option_value_following_option_type8903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_option_value_following_option_type8903	= { FOLLOW_variable_name_in_option_value_following_option_type8903_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value_following_option_type8905  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value_following_option_type8905_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200E159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value_following_option_type8905	= { FOLLOW_equal_in_option_value_following_option_type8905_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_option_value_following_option_type8907  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_option_value_following_option_type8907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_option_value_following_option_type8907	= { FOLLOW_set_expression_or_default_in_option_value_following_option_type8907_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_set_expression_or_default8917  */
static	ANTLR3_BITWORD FOLLOW_expression_in_set_expression_or_default8917_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_set_expression_or_default8917	= { FOLLOW_expression_in_set_expression_or_default8917_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default8922  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default8922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default8922	= { FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default8922_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_set_expression_or_default8927  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_set_expression_or_default8927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_set_expression_or_default8927	= { FOLLOW_ON_SYMBOL_in_set_expression_or_default8927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_set_expression_or_default8932  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_set_expression_or_default8932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_set_expression_or_default8932	= { FOLLOW_ALL_SYMBOL_in_set_expression_or_default8932_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_set_expression_or_default8937  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_set_expression_or_default8937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_set_expression_or_default8937	= { FOLLOW_BINARY_SYMBOL_in_set_expression_or_default8937_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_in_option_value_list8946  */
static	ANTLR3_BITWORD FOLLOW_option_value_in_option_value_list8946_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_in_option_value_list8946	= { FOLLOW_option_value_in_option_value_list8946_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_option_value_list8949  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_option_value_list8949_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_option_value_list8949	= { FOLLOW_COMMA_SYMBOL_in_option_value_list8949_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_in_option_value_list8951  */
static	ANTLR3_BITWORD FOLLOW_option_value_in_option_value_list8951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_in_option_value_list8951	= { FOLLOW_option_value_in_option_value_list8951_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_option_value8962  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_option_value8962_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_option_value8962	= { FOLLOW_option_type_in_option_value8962_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_option_value8964  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_option_value8964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_option_value8964	= { FOLLOW_variable_name_in_option_value8964_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value8966  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value8966_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200E159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value8966	= { FOLLOW_equal_in_option_value8966_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_option_value8968  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_option_value8968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_option_value8968	= { FOLLOW_set_expression_or_default_in_option_value8968_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_no_option_type_in_option_value8973  */
static	ANTLR3_BITWORD FOLLOW_option_value_no_option_type_in_option_value8973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_no_option_type_in_option_value8973	= { FOLLOW_option_value_no_option_type_in_option_value8973_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_show_statement8984  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_show_statement8984_bits[]	= { ANTLR3_UINT64_LIT(0x0000200010000200), ANTLR3_UINT64_LIT(0xB000001001200042), ANTLR3_UINT64_LIT(0x0004200140601004), ANTLR3_UINT64_LIT(0xD0C0000000000000), ANTLR3_UINT64_LIT(0x8000080000001001), ANTLR3_UINT64_LIT(0x0000024010101001), ANTLR3_UINT64_LIT(0x0101400010000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHOW_SYMBOL_in_show_statement8984	= { FOLLOW_SHOW_SYMBOL_in_show_statement8984_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTHORS_SYMBOL_in_show_statement8996  */
static	ANTLR3_BITWORD FOLLOW_AUTHORS_SYMBOL_in_show_statement8996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTHORS_SYMBOL_in_show_statement8996	= { FOLLOW_AUTHORS_SYMBOL_in_show_statement8996_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_show_statement9002  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_show_statement9002_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_show_statement9002	= { FOLLOW_BINARY_SYMBOL_in_show_statement9002_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_show_statement9004  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_show_statement9004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_show_statement9004	= { FOLLOW_LOGS_SYMBOL_in_show_statement9004_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement9010  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement9010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement9010	= { FOLLOW_set_in_show_statement9010_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENTS_SYMBOL_in_show_statement9018  */
static	ANTLR3_BITWORD FOLLOW_EVENTS_SYMBOL_in_show_statement9018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0010000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENTS_SYMBOL_in_show_statement9018	= { FOLLOW_EVENTS_SYMBOL_in_show_statement9018_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_show_statement9021  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_show_statement9021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_show_statement9021	= { FOLLOW_IN_SYMBOL_in_show_statement9021_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_show_statement9023  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_show_statement9023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_show_statement9023	= { FOLLOW_string_literal_in_show_statement9023_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_show_statement9028  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_show_statement9028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_show_statement9028	= { FOLLOW_FROM_SYMBOL_in_show_statement9028_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_show_statement9030  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_show_statement9030_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_show_statement9030	= { FOLLOW_INTEGER_in_show_statement9030_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement9034  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement9034_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement9034	= { FOLLOW_limit_clause_in_show_statement9034_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_show_statement9037  */
static	ANTLR3_BITWORD FOLLOW_channel_in_show_statement9037_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_show_statement9037	= { FOLLOW_channel_in_show_statement9037_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_show_statement9045  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_show_statement9045_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_show_statement9045	= { FOLLOW_CHAR_SYMBOL_in_show_statement9045_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_show_statement9047  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_show_statement9047_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_show_statement9047	= { FOLLOW_SET_SYMBOL_in_show_statement9047_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_show_statement9051  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_show_statement9051_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_show_statement9051	= { FOLLOW_CHARSET_SYMBOL_in_show_statement9051_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9054  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9054_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9054	= { FOLLOW_like_or_where_in_show_statement9054_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATION_SYMBOL_in_show_statement9061  */
static	ANTLR3_BITWORD FOLLOW_COLLATION_SYMBOL_in_show_statement9061_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATION_SYMBOL_in_show_statement9061	= { FOLLOW_COLLATION_SYMBOL_in_show_statement9061_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9063  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9063	= { FOLLOW_like_or_where_in_show_statement9063_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement9070  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement9070_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement9070	= { FOLLOW_FULL_SYMBOL_in_show_statement9070_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_show_statement9073  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_show_statement9073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_show_statement9073	= { FOLLOW_COLUMNS_SYMBOL_in_show_statement9073_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement9075  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement9075_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement9075	= { FOLLOW_set_in_show_statement9075_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_show_statement9083  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_show_statement9083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_show_statement9083	= { FOLLOW_table_ref_in_show_statement9083_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement9085  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement9085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement9085	= { FOLLOW_in_db_in_show_statement9085_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9088  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9088_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9088	= { FOLLOW_like_or_where_in_show_statement9088_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement9099  */
static	ANTLR3_BITWORD FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement9099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement9099	= { FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement9099_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COUNT_SYMBOL_in_show_statement9105  */
static	ANTLR3_BITWORD FOLLOW_COUNT_SYMBOL_in_show_statement9105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COUNT_SYMBOL_in_show_statement9105	= { FOLLOW_COUNT_SYMBOL_in_show_statement9105_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_show_statement9107  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_show_statement9107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_show_statement9107	= { FOLLOW_OPEN_PAR_SYMBOL_in_show_statement9107_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_show_statement9109  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_show_statement9109_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_show_statement9109	= { FOLLOW_MULT_OPERATOR_in_show_statement9109_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement9111  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement9111_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement9111	= { FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement9111_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement9113  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement9113_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement9113	= { FOLLOW_set_in_show_statement9113_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_show_statement9125  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_show_statement9125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008010000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000004010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_show_statement9125	= { FOLLOW_CREATE_SYMBOL_in_show_statement9125_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_show_statement9136  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_show_statement9136_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_show_statement9136	= { FOLLOW_DATABASE_SYMBOL_in_show_statement9136_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_show_statement9138  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_show_statement9138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_show_statement9138	= { FOLLOW_schema_ref_in_show_statement9138_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_show_statement9146  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_show_statement9146_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_show_statement9146	= { FOLLOW_EVENT_SYMBOL_in_show_statement9146_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_event_ref_in_show_statement9148  */
static	ANTLR3_BITWORD FOLLOW_event_ref_in_show_statement9148_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_event_ref_in_show_statement9148	= { FOLLOW_event_ref_in_show_statement9148_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement9156  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement9156_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_show_statement9156	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement9156_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_ref_in_show_statement9158  */
static	ANTLR3_BITWORD FOLLOW_function_ref_in_show_statement9158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_ref_in_show_statement9158	= { FOLLOW_function_ref_in_show_statement9158_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement9166  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement9166_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_show_statement9166	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement9166_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_ref_in_show_statement9168  */
static	ANTLR3_BITWORD FOLLOW_procedure_ref_in_show_statement9168_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_ref_in_show_statement9168	= { FOLLOW_procedure_ref_in_show_statement9168_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_show_statement9176  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_show_statement9176_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_show_statement9176	= { FOLLOW_TABLE_SYMBOL_in_show_statement9176_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_show_statement9178  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_show_statement9178_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_show_statement9178	= { FOLLOW_table_ref_in_show_statement9178_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_show_statement9186  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_show_statement9186_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_show_statement9186	= { FOLLOW_TRIGGER_SYMBOL_in_show_statement9186_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trigger_ref_in_show_statement9188  */
static	ANTLR3_BITWORD FOLLOW_trigger_ref_in_show_statement9188_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_trigger_ref_in_show_statement9188	= { FOLLOW_trigger_ref_in_show_statement9188_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_show_statement9196  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_show_statement9196_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_show_statement9196	= { FOLLOW_VIEW_SYMBOL_in_show_statement9196_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_ref_in_show_statement9198  */
static	ANTLR3_BITWORD FOLLOW_view_ref_in_show_statement9198_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_ref_in_show_statement9198	= { FOLLOW_view_ref_in_show_statement9198_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASES_SYMBOL_in_show_statement9209  */
static	ANTLR3_BITWORD FOLLOW_DATABASES_SYMBOL_in_show_statement9209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASES_SYMBOL_in_show_statement9209	= { FOLLOW_DATABASES_SYMBOL_in_show_statement9209_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_clause_in_show_statement9211  */
static	ANTLR3_BITWORD FOLLOW_like_clause_in_show_statement9211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_clause_in_show_statement9211	= { FOLLOW_like_clause_in_show_statement9211_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_show_statement9218  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_show_statement9218_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_show_statement9218	= { FOLLOW_ENGINE_SYMBOL_in_show_statement9218_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_show_statement9220  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_show_statement9220_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_show_statement9220	= { FOLLOW_engine_ref_in_show_statement9220_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement9222  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement9222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement9222	= { FOLLOW_set_in_show_statement9222_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_show_statement9234  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_show_statement9234_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_show_statement9234	= { FOLLOW_STORAGE_SYMBOL_in_show_statement9234_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINES_SYMBOL_in_show_statement9237  */
static	ANTLR3_BITWORD FOLLOW_ENGINES_SYMBOL_in_show_statement9237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINES_SYMBOL_in_show_statement9237	= { FOLLOW_ENGINES_SYMBOL_in_show_statement9237_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ERRORS_SYMBOL_in_show_statement9243  */
static	ANTLR3_BITWORD FOLLOW_ERRORS_SYMBOL_in_show_statement9243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ERRORS_SYMBOL_in_show_statement9243	= { FOLLOW_ERRORS_SYMBOL_in_show_statement9243_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement9245  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement9245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement9245	= { FOLLOW_limit_clause_in_show_statement9245_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENTS_SYMBOL_in_show_statement9252  */
static	ANTLR3_BITWORD FOLLOW_EVENTS_SYMBOL_in_show_statement9252_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENTS_SYMBOL_in_show_statement9252	= { FOLLOW_EVENTS_SYMBOL_in_show_statement9252_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement9258  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement9258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_show_statement9258	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement9258_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_SYMBOL_in_show_statement9260  */
static	ANTLR3_BITWORD FOLLOW_CODE_SYMBOL_in_show_statement9260_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CODE_SYMBOL_in_show_statement9260	= { FOLLOW_CODE_SYMBOL_in_show_statement9260_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_ref_in_show_statement9262  */
static	ANTLR3_BITWORD FOLLOW_function_ref_in_show_statement9262_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_ref_in_show_statement9262	= { FOLLOW_function_ref_in_show_statement9262_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement9268  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement9268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_show_statement9268	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement9268_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement9270  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement9270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement9270	= { FOLLOW_STATUS_SYMBOL_in_show_statement9270_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9272  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9272_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9272	= { FOLLOW_like_or_where_in_show_statement9272_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANTS_SYMBOL_in_show_statement9279  */
static	ANTLR3_BITWORD FOLLOW_GRANTS_SYMBOL_in_show_statement9279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANTS_SYMBOL_in_show_statement9279	= { FOLLOW_GRANTS_SYMBOL_in_show_statement9279_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_show_statement9281  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_show_statement9281_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_show_statement9281	= { FOLLOW_FOR_SYMBOL_in_show_statement9281_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_show_statement9283  */
static	ANTLR3_BITWORD FOLLOW_user_in_show_statement9283_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_show_statement9283	= { FOLLOW_user_in_show_statement9283_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement9289  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement9289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement9289	= { FOLLOW_set_in_show_statement9289_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_or_in_in_show_statement9301  */
static	ANTLR3_BITWORD FOLLOW_from_or_in_in_show_statement9301_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_from_or_in_in_show_statement9301	= { FOLLOW_from_or_in_in_show_statement9301_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_show_statement9303  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_show_statement9303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_show_statement9303	= { FOLLOW_table_ref_in_show_statement9303_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement9305  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement9305_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement9305	= { FOLLOW_in_db_in_show_statement9305_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_show_statement9308  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_show_statement9308_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_show_statement9308	= { FOLLOW_where_clause_in_show_statement9308_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INNODB_SYMBOL_in_show_statement9319  */
static	ANTLR3_BITWORD FOLLOW_INNODB_SYMBOL_in_show_statement9319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INNODB_SYMBOL_in_show_statement9319	= { FOLLOW_INNODB_SYMBOL_in_show_statement9319_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement9321  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement9321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement9321	= { FOLLOW_STATUS_SYMBOL_in_show_statement9321_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_show_statement9328  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_show_statement9328_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_show_statement9328	= { FOLLOW_MASTER_SYMBOL_in_show_statement9328_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement9330  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement9330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement9330	= { FOLLOW_STATUS_SYMBOL_in_show_statement9330_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_show_statement9336  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_show_statement9336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_show_statement9336	= { FOLLOW_OPEN_SYMBOL_in_show_statement9336_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_show_statement9338  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_show_statement9338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_show_statement9338	= { FOLLOW_TABLES_SYMBOL_in_show_statement9338_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement9340  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement9340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement9340	= { FOLLOW_in_db_in_show_statement9340_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9343  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9343	= { FOLLOW_like_or_where_in_show_statement9343_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_show_statement9354  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_show_statement9354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_show_statement9354	= { FOLLOW_PLUGIN_SYMBOL_in_show_statement9354_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGINS_SYMBOL_in_show_statement9365  */
static	ANTLR3_BITWORD FOLLOW_PLUGINS_SYMBOL_in_show_statement9365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGINS_SYMBOL_in_show_statement9365	= { FOLLOW_PLUGINS_SYMBOL_in_show_statement9365_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement9371  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement9371_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_show_statement9371	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement9371_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement9373  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement9373_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement9373	= { FOLLOW_STATUS_SYMBOL_in_show_statement9373_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9375  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9375	= { FOLLOW_like_or_where_in_show_statement9375_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement9382  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement9382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_show_statement9382	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement9382_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_SYMBOL_in_show_statement9384  */
static	ANTLR3_BITWORD FOLLOW_CODE_SYMBOL_in_show_statement9384_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CODE_SYMBOL_in_show_statement9384	= { FOLLOW_CODE_SYMBOL_in_show_statement9384_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_ref_in_show_statement9386  */
static	ANTLR3_BITWORD FOLLOW_procedure_ref_in_show_statement9386_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_ref_in_show_statement9386	= { FOLLOW_procedure_ref_in_show_statement9386_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_show_statement9392  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_show_statement9392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_show_statement9392	= { FOLLOW_PRIVILEGES_SYMBOL_in_show_statement9392_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement9398  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement9398_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement9398	= { FOLLOW_FULL_SYMBOL_in_show_statement9398_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCESSLIST_SYMBOL_in_show_statement9401  */
static	ANTLR3_BITWORD FOLLOW_PROCESSLIST_SYMBOL_in_show_statement9401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCESSLIST_SYMBOL_in_show_statement9401	= { FOLLOW_PROCESSLIST_SYMBOL_in_show_statement9401_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROFILE_SYMBOL_in_show_statement9407  */
static	ANTLR3_BITWORD FOLLOW_PROFILE_SYMBOL_in_show_statement9407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000002800000100), ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000800000004000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0010000000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROFILE_SYMBOL_in_show_statement9407	= { FOLLOW_PROFILE_SYMBOL_in_show_statement9407_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_profile_type_in_show_statement9410  */
static	ANTLR3_BITWORD FOLLOW_profile_type_in_show_statement9410_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_profile_type_in_show_statement9410	= { FOLLOW_profile_type_in_show_statement9410_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_show_statement9413  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_show_statement9413_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002800000100), ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000800000004000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0010000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_show_statement9413	= { FOLLOW_COMMA_SYMBOL_in_show_statement9413_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_profile_type_in_show_statement9415  */
static	ANTLR3_BITWORD FOLLOW_profile_type_in_show_statement9415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_profile_type_in_show_statement9415	= { FOLLOW_profile_type_in_show_statement9415_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_show_statement9422  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_show_statement9422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_show_statement9422	= { FOLLOW_FOR_SYMBOL_in_show_statement9422_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_show_statement9424  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_show_statement9424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_show_statement9424	= { FOLLOW_QUERY_SYMBOL_in_show_statement9424_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_show_statement9426  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_show_statement9426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_show_statement9426	= { FOLLOW_INTEGER_in_show_statement9426_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement9430  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement9430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement9430	= { FOLLOW_limit_clause_in_show_statement9430_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROFILES_SYMBOL_in_show_statement9437  */
static	ANTLR3_BITWORD FOLLOW_PROFILES_SYMBOL_in_show_statement9437_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROFILES_SYMBOL_in_show_statement9437	= { FOLLOW_PROFILES_SYMBOL_in_show_statement9437_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_show_statement9443  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_show_statement9443_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_show_statement9443	= { FOLLOW_SLAVE_SYMBOL_in_show_statement9443_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOSTS_SYMBOL_in_show_statement9454  */
static	ANTLR3_BITWORD FOLLOW_HOSTS_SYMBOL_in_show_statement9454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOSTS_SYMBOL_in_show_statement9454	= { FOLLOW_HOSTS_SYMBOL_in_show_statement9454_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement9462  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement9462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement9462	= { FOLLOW_STATUS_SYMBOL_in_show_statement9462_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_non_blocking_in_show_statement9464  */
static	ANTLR3_BITWORD FOLLOW_non_blocking_in_show_statement9464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_non_blocking_in_show_statement9464	= { FOLLOW_non_blocking_in_show_statement9464_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_show_statement9467  */
static	ANTLR3_BITWORD FOLLOW_channel_in_show_statement9467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_show_statement9467	= { FOLLOW_channel_in_show_statement9467_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_show_statement9479  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_show_statement9479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_show_statement9479	= { FOLLOW_option_type_in_show_statement9479_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement9482  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement9482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement9482	= { FOLLOW_set_in_show_statement9482_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9490  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9490	= { FOLLOW_like_or_where_in_show_statement9490_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_show_statement9497  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_show_statement9497_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_show_statement9497	= { FOLLOW_TABLE_SYMBOL_in_show_statement9497_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement9499  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement9499_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement9499	= { FOLLOW_STATUS_SYMBOL_in_show_statement9499_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement9501  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement9501_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement9501	= { FOLLOW_in_db_in_show_statement9501_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9504  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9504	= { FOLLOW_like_or_where_in_show_statement9504_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement9511  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement9511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement9511	= { FOLLOW_FULL_SYMBOL_in_show_statement9511_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_show_statement9514  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_show_statement9514_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_show_statement9514	= { FOLLOW_TABLES_SYMBOL_in_show_statement9514_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement9516  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement9516_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement9516	= { FOLLOW_in_db_in_show_statement9516_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9519  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9519	= { FOLLOW_like_or_where_in_show_statement9519_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement9526  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement9526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement9526	= { FOLLOW_FULL_SYMBOL_in_show_statement9526_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGERS_SYMBOL_in_show_statement9529  */
static	ANTLR3_BITWORD FOLLOW_TRIGGERS_SYMBOL_in_show_statement9529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGERS_SYMBOL_in_show_statement9529	= { FOLLOW_TRIGGERS_SYMBOL_in_show_statement9529_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement9531  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement9531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement9531	= { FOLLOW_in_db_in_show_statement9531_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement9534  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement9534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement9534	= { FOLLOW_like_or_where_in_show_statement9534_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WARNINGS_SYMBOL_in_show_statement9541  */
static	ANTLR3_BITWORD FOLLOW_WARNINGS_SYMBOL_in_show_statement9541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WARNINGS_SYMBOL_in_show_statement9541	= { FOLLOW_WARNINGS_SYMBOL_in_show_statement9541_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement9543  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement9543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement9543	= { FOLLOW_limit_clause_in_show_statement9543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NONBLOCKING_SYMBOL_in_non_blocking9560  */
static	ANTLR3_BITWORD FOLLOW_NONBLOCKING_SYMBOL_in_non_blocking9560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NONBLOCKING_SYMBOL_in_non_blocking9560	= { FOLLOW_NONBLOCKING_SYMBOL_in_non_blocking9560_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_or_in_in_in_db9582  */
static	ANTLR3_BITWORD FOLLOW_from_or_in_in_in_db9582_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_from_or_in_in_in_db9582	= { FOLLOW_from_or_in_in_in_db9582_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_in_db9584  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_in_db9584_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_in_db9584	= { FOLLOW_identifier_in_in_db9584_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_profile_type9593  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_profile_type9593_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_profile_type9593	= { FOLLOW_ALL_SYMBOL_in_profile_type9593_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BLOCK_SYMBOL_in_profile_type9598  */
static	ANTLR3_BITWORD FOLLOW_BLOCK_SYMBOL_in_profile_type9598_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BLOCK_SYMBOL_in_profile_type9598	= { FOLLOW_BLOCK_SYMBOL_in_profile_type9598_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IO_SYMBOL_in_profile_type9600  */
static	ANTLR3_BITWORD FOLLOW_IO_SYMBOL_in_profile_type9600_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IO_SYMBOL_in_profile_type9600	= { FOLLOW_IO_SYMBOL_in_profile_type9600_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTEXT_SYMBOL_in_profile_type9605  */
static	ANTLR3_BITWORD FOLLOW_CONTEXT_SYMBOL_in_profile_type9605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTEXT_SYMBOL_in_profile_type9605	= { FOLLOW_CONTEXT_SYMBOL_in_profile_type9605_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SWITCHES_SYMBOL_in_profile_type9607  */
static	ANTLR3_BITWORD FOLLOW_SWITCHES_SYMBOL_in_profile_type9607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SWITCHES_SYMBOL_in_profile_type9607	= { FOLLOW_SWITCHES_SYMBOL_in_profile_type9607_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CPU_SYMBOL_in_profile_type9612  */
static	ANTLR3_BITWORD FOLLOW_CPU_SYMBOL_in_profile_type9612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CPU_SYMBOL_in_profile_type9612	= { FOLLOW_CPU_SYMBOL_in_profile_type9612_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IPC_SYMBOL_in_profile_type9617  */
static	ANTLR3_BITWORD FOLLOW_IPC_SYMBOL_in_profile_type9617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IPC_SYMBOL_in_profile_type9617	= { FOLLOW_IPC_SYMBOL_in_profile_type9617_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEMORY_SYMBOL_in_profile_type9622  */
static	ANTLR3_BITWORD FOLLOW_MEMORY_SYMBOL_in_profile_type9622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEMORY_SYMBOL_in_profile_type9622	= { FOLLOW_MEMORY_SYMBOL_in_profile_type9622_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PAGE_SYMBOL_in_profile_type9627  */
static	ANTLR3_BITWORD FOLLOW_PAGE_SYMBOL_in_profile_type9627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_PAGE_SYMBOL_in_profile_type9627	= { FOLLOW_PAGE_SYMBOL_in_profile_type9627_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FAULTS_SYMBOL_in_profile_type9629  */
static	ANTLR3_BITWORD FOLLOW_FAULTS_SYMBOL_in_profile_type9629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FAULTS_SYMBOL_in_profile_type9629	= { FOLLOW_FAULTS_SYMBOL_in_profile_type9629_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOURCE_SYMBOL_in_profile_type9634  */
static	ANTLR3_BITWORD FOLLOW_SOURCE_SYMBOL_in_profile_type9634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SOURCE_SYMBOL_in_profile_type9634	= { FOLLOW_SOURCE_SYMBOL_in_profile_type9634_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SWAPS_SYMBOL_in_profile_type9639  */
static	ANTLR3_BITWORD FOLLOW_SWAPS_SYMBOL_in_profile_type9639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SWAPS_SYMBOL_in_profile_type9639	= { FOLLOW_SWAPS_SYMBOL_in_profile_type9639_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement9650  */
static	ANTLR3_BITWORD FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement9650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement9650	= { FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement9650_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_miscellaneous_statement9653  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_miscellaneous_statement9653_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_miscellaneous_statement9653	= { FOLLOW_string_literal_in_miscellaneous_statement9653_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9658  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9658	= { FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9658_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9661  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9661_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9661	= { FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9661_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement9663  */
static	ANTLR3_BITWORD FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement9663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement9663	= { FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement9663_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_miscellaneous_statement9665  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_miscellaneous_statement9665_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_miscellaneous_statement9665	= { FOLLOW_IN_SYMBOL_in_miscellaneous_statement9665_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_miscellaneous_statement9668  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_miscellaneous_statement9668_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_miscellaneous_statement9668	= { FOLLOW_identifier_in_miscellaneous_statement9668_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement9672  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement9672_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement9672	= { FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement9672_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement9678  */
static	ANTLR3_BITWORD FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement9678_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x5002000000000000), ANTLR3_UINT64_LIT(0x0001200001020000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x8000800000000808), ANTLR3_UINT64_LIT(0x0000000800001000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement9678	= { FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement9678_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_miscellaneous_statement9681  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_miscellaneous_statement9681_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x5002000000000000), ANTLR3_UINT64_LIT(0x0001000001020000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x8000800000000808), ANTLR3_UINT64_LIT(0x0000000800001000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_miscellaneous_statement9681	= { FOLLOW_no_write_to_bin_log_in_miscellaneous_statement9681_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_option_in_miscellaneous_statement9684  */
static	ANTLR3_BITWORD FOLLOW_flush_option_in_miscellaneous_statement9684_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_option_in_miscellaneous_statement9684	= { FOLLOW_flush_option_in_miscellaneous_statement9684_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9687  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x5002000000000000), ANTLR3_UINT64_LIT(0x0001000001020000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x8000800000000808), ANTLR3_UINT64_LIT(0x0000000800001000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9687	= { FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9687_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_option_in_miscellaneous_statement9689  */
static	ANTLR3_BITWORD FOLLOW_flush_option_in_miscellaneous_statement9689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_option_in_miscellaneous_statement9689	= { FOLLOW_flush_option_in_miscellaneous_statement9689_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KILL_SYMBOL_in_miscellaneous_statement9696  */
static	ANTLR3_BITWORD FOLLOW_KILL_SYMBOL_in_miscellaneous_statement9696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KILL_SYMBOL_in_miscellaneous_statement9696	= { FOLLOW_KILL_SYMBOL_in_miscellaneous_statement9696_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_miscellaneous_statement9708  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_miscellaneous_statement9708_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_miscellaneous_statement9708	= { FOLLOW_INTEGER_in_miscellaneous_statement9708_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement9713  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement9713_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement9713	= { FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement9713_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9716  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9716	= { FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9716_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_miscellaneous_statement9718  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_miscellaneous_statement9718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_miscellaneous_statement9718	= { FOLLOW_INTO_SYMBOL_in_miscellaneous_statement9718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9720  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9720_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9720	= { FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9720_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_table_index_list_in_miscellaneous_statement9722  */
static	ANTLR3_BITWORD FOLLOW_load_table_index_list_in_miscellaneous_statement9722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_table_index_list_in_miscellaneous_statement9722	= { FOLLOW_load_table_index_list_in_miscellaneous_statement9722_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESET_SYMBOL_in_miscellaneous_statement9727  */
static	ANTLR3_BITWORD FOLLOW_RESET_SYMBOL_in_miscellaneous_statement9727_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_RESET_SYMBOL_in_miscellaneous_statement9727	= { FOLLOW_RESET_SYMBOL_in_miscellaneous_statement9727_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reset_option_in_miscellaneous_statement9730  */
static	ANTLR3_BITWORD FOLLOW_reset_option_in_miscellaneous_statement9730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_reset_option_in_miscellaneous_statement9730	= { FOLLOW_reset_option_in_miscellaneous_statement9730_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9733  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9733_bits[]	= { ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9733	= { FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9733_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reset_option_in_miscellaneous_statement9735  */
static	ANTLR3_BITWORD FOLLOW_reset_option_in_miscellaneous_statement9735_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_reset_option_in_miscellaneous_statement9735	= { FOLLOW_reset_option_in_miscellaneous_statement9735_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_cache_list_in_key_cache_list_or_parts9757  */
static	ANTLR3_BITWORD FOLLOW_key_cache_list_in_key_cache_list_or_parts9757_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_key_cache_list_in_key_cache_list_or_parts9757	= { FOLLOW_key_cache_list_in_key_cache_list_or_parts9757_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts9770  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts9770_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts9770	= { FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts9770_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_in_key_cache_list9787  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_in_key_cache_list9787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_in_key_cache_list9787	= { FOLLOW_assign_to_keycache_in_key_cache_list9787_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_key_cache_list9790  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_key_cache_list9790_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_key_cache_list9790	= { FOLLOW_COMMA_SYMBOL_in_key_cache_list9790_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_in_key_cache_list9792  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_in_key_cache_list9792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_in_key_cache_list9792	= { FOLLOW_assign_to_keycache_in_key_cache_list9792_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_assign_to_keycache9803  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_assign_to_keycache9803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_assign_to_keycache9803	= { FOLLOW_table_ref_in_assign_to_keycache9803_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cache_keys_spec_in_assign_to_keycache9805  */
static	ANTLR3_BITWORD FOLLOW_cache_keys_spec_in_assign_to_keycache9805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cache_keys_spec_in_assign_to_keycache9805	= { FOLLOW_cache_keys_spec_in_assign_to_keycache9805_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_assign_to_keycache_partition9815  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_assign_to_keycache_partition9815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_assign_to_keycache_partition9815	= { FOLLOW_table_ref_in_assign_to_keycache_partition9815_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition9817  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition9817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition9817	= { FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition9817_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition9819  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition9819_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition9819	= { FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition9819_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition9822  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition9822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition9822	= { FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition9822_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_assign_to_keycache_partition9826  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_assign_to_keycache_partition9826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_assign_to_keycache_partition9826	= { FOLLOW_identifier_list_in_assign_to_keycache_partition9826_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition9829  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition9829_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition9829	= { FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition9829_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cache_keys_spec_in_assign_to_keycache_partition9831  */
static	ANTLR3_BITWORD FOLLOW_cache_keys_spec_in_assign_to_keycache_partition9831_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cache_keys_spec_in_assign_to_keycache_partition9831	= { FOLLOW_cache_keys_spec_in_assign_to_keycache_partition9831_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_cache_keys_spec9841  */
static	ANTLR3_BITWORD FOLLOW_set_in_cache_keys_spec9841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_cache_keys_spec9841	= { FOLLOW_set_in_cache_keys_spec9841_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec9849  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec9849_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000080000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec9849	= { FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec9849_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_usage_element_in_cache_keys_spec9852  */
static	ANTLR3_BITWORD FOLLOW_key_usage_element_in_cache_keys_spec9852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_usage_element_in_cache_keys_spec9852	= { FOLLOW_key_usage_element_in_cache_keys_spec9852_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_cache_keys_spec9855  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_cache_keys_spec9855_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_cache_keys_spec9855	= { FOLLOW_COMMA_SYMBOL_in_cache_keys_spec9855_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_usage_element_in_cache_keys_spec9857  */
static	ANTLR3_BITWORD FOLLOW_key_usage_element_in_cache_keys_spec9857_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_usage_element_in_cache_keys_spec9857	= { FOLLOW_key_usage_element_in_cache_keys_spec9857_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec9863  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec9863_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec9863	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec9863_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_key_usage_element9872  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_key_usage_element9872_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_key_usage_element9872	= { FOLLOW_identifier_in_key_usage_element9872_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_key_usage_element9877  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_key_usage_element9877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_key_usage_element9877	= { FOLLOW_PRIMARY_SYMBOL_in_key_usage_element9877_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option9886  */
static	ANTLR3_BITWORD FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option9886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option9886	= { FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option9886_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOSTS_SYMBOL_in_flush_option9891  */
static	ANTLR3_BITWORD FOLLOW_HOSTS_SYMBOL_in_flush_option9891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOSTS_SYMBOL_in_flush_option9891	= { FOLLOW_HOSTS_SYMBOL_in_flush_option9891_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_log_type_in_flush_option9896  */
static	ANTLR3_BITWORD FOLLOW_log_type_in_flush_option9896_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_log_type_in_flush_option9896	= { FOLLOW_log_type_in_flush_option9896_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_flush_option9899  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_flush_option9899_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_flush_option9899	= { FOLLOW_LOGS_SYMBOL_in_flush_option9899_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_SYMBOL_in_flush_option9904  */
static	ANTLR3_BITWORD FOLLOW_RELAY_SYMBOL_in_flush_option9904_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_SYMBOL_in_flush_option9904	= { FOLLOW_RELAY_SYMBOL_in_flush_option9904_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_flush_option9906  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_flush_option9906_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_flush_option9906	= { FOLLOW_LOGS_SYMBOL_in_flush_option9906_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_flush_option9908  */
static	ANTLR3_BITWORD FOLLOW_channel_in_flush_option9908_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_flush_option9908	= { FOLLOW_channel_in_flush_option9908_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_flush_option9914  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_flush_option9914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_flush_option9914	= { FOLLOW_PRIVILEGES_SYMBOL_in_flush_option9914_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_flush_option9919  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_flush_option9919_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_flush_option9919	= { FOLLOW_QUERY_SYMBOL_in_flush_option9919_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_flush_option9921  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_flush_option9921_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_flush_option9921	= { FOLLOW_CACHE_SYMBOL_in_flush_option9921_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_flush_option9926  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_flush_option9926_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_flush_option9926	= { FOLLOW_STATUS_SYMBOL_in_flush_option9926_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_tables_in_flush_option9931  */
static	ANTLR3_BITWORD FOLLOW_flush_tables_in_flush_option9931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_tables_in_flush_option9931	= { FOLLOW_flush_tables_in_flush_option9931_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option9936  */
static	ANTLR3_BITWORD FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option9936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option9936	= { FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option9936_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZER_COSTS_SYMBOL_in_flush_option9945  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZER_COSTS_SYMBOL_in_flush_option9945_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIMIZER_COSTS_SYMBOL_in_flush_option9945	= { FOLLOW_OPTIMIZER_COSTS_SYMBOL_in_flush_option9945_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_flush_tables9983  */
static	ANTLR3_BITWORD FOLLOW_set_in_flush_tables9983_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_flush_tables9983	= { FOLLOW_set_in_flush_tables9983_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_flush_tables9996  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_flush_tables9996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_flush_tables9996	= { FOLLOW_WITH_SYMBOL_in_flush_tables9996_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_flush_tables9998  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_flush_tables9998_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_flush_tables9998	= { FOLLOW_READ_SYMBOL_in_flush_tables9998_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_flush_tables10000  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_flush_tables10000_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_flush_tables10000	= { FOLLOW_LOCK_SYMBOL_in_flush_tables10000_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_flush_tables10006  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_flush_tables10006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_flush_tables10006	= { FOLLOW_identifier_list_in_flush_tables10006_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_tables_options_in_flush_tables10008  */
static	ANTLR3_BITWORD FOLLOW_flush_tables_options_in_flush_tables10008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_tables_options_in_flush_tables10008	= { FOLLOW_flush_tables_options_in_flush_tables10008_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_flush_tables_options10026  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_flush_tables_options10026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_flush_tables_options10026	= { FOLLOW_FOR_SYMBOL_in_flush_tables_options10026_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPORT_SYMBOL_in_flush_tables_options10028  */
static	ANTLR3_BITWORD FOLLOW_EXPORT_SYMBOL_in_flush_tables_options10028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPORT_SYMBOL_in_flush_tables_options10028	= { FOLLOW_EXPORT_SYMBOL_in_flush_tables_options10028_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_flush_tables_options10033  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_flush_tables_options10033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_flush_tables_options10033	= { FOLLOW_WITH_SYMBOL_in_flush_tables_options10033_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_flush_tables_options10035  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_flush_tables_options10035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_flush_tables_options10035	= { FOLLOW_READ_SYMBOL_in_flush_tables_options10035_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_flush_tables_options10037  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_flush_tables_options10037_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_flush_tables_options10037	= { FOLLOW_LOCK_SYMBOL_in_flush_tables_options10037_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_load_table_index_list10046  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_load_table_index_list10046_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000005000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_load_table_index_list10046	= { FOLLOW_table_ref_in_load_table_index_list10046_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_table_index_partion_in_load_table_index_list10048  */
static	ANTLR3_BITWORD FOLLOW_load_table_index_partion_in_load_table_index_list10048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000005000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_load_table_index_partion_in_load_table_index_list10048	= { FOLLOW_load_table_index_partion_in_load_table_index_list10048_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_load_table_index_list10063  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_load_table_index_list10063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_load_table_index_list10063	= { FOLLOW_identifier_list_with_parentheses_in_load_table_index_list10063_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_load_table_index_list10068  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_load_table_index_list10068_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_load_table_index_list10068	= { FOLLOW_IGNORE_SYMBOL_in_load_table_index_list10068_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEAVES_SYMBOL_in_load_table_index_list10070  */
static	ANTLR3_BITWORD FOLLOW_LEAVES_SYMBOL_in_load_table_index_list10070_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LEAVES_SYMBOL_in_load_table_index_list10070	= { FOLLOW_LEAVES_SYMBOL_in_load_table_index_list10070_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion10086  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion10086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion10086	= { FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion10086_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion10088  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion10088_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion10088	= { FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion10088_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_load_table_index_partion10091  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_load_table_index_partion10091_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_load_table_index_partion10091	= { FOLLOW_identifier_list_in_load_table_index_partion10091_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_load_table_index_partion10095  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_load_table_index_partion10095_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_load_table_index_partion10095	= { FOLLOW_ALL_SYMBOL_in_load_table_index_partion10095_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion10098  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion10098_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion10098	= { FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion10098_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_reset_option10108  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_reset_option10108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_reset_option10108	= { FOLLOW_MASTER_SYMBOL_in_reset_option10108_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_reset_option10113  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_reset_option10113_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_reset_option10113	= { FOLLOW_QUERY_SYMBOL_in_reset_option10113_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_reset_option10115  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_reset_option10115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_reset_option10115	= { FOLLOW_CACHE_SYMBOL_in_reset_option10115_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_reset_option10120  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_reset_option10120_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_reset_option10120	= { FOLLOW_SLAVE_SYMBOL_in_reset_option10120_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_reset_option10122  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_reset_option10122_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_reset_option10122	= { FOLLOW_ALL_SYMBOL_in_reset_option10122_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_channel_in_reset_option10125  */
static	ANTLR3_BITWORD FOLLOW_channel_in_reset_option10125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_channel_in_reset_option10125	= { FOLLOW_channel_in_reset_option10125_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_describe_command_in_utility_statement10137  */
static	ANTLR3_BITWORD FOLLOW_describe_command_in_utility_statement10137_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0020000000900400), ANTLR3_UINT64_LIT(0x0000000000080400), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_describe_command_in_utility_statement10137	= { FOLLOW_describe_command_in_utility_statement10137_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_utility_statement10146  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_utility_statement10146_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000082), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000410), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_utility_statement10146	= { FOLLOW_table_ref_in_utility_statement10146_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_utility_statement10149  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_utility_statement10149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_utility_statement10149	= { FOLLOW_text_string_in_utility_statement10149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_utility_statement10153  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_utility_statement10153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_utility_statement10153	= { FOLLOW_identifier_in_utility_statement10153_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENDED_SYMBOL_in_utility_statement10185  */
static	ANTLR3_BITWORD FOLLOW_EXTENDED_SYMBOL_in_utility_statement10185_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000400), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENDED_SYMBOL_in_utility_statement10185	= { FOLLOW_EXTENDED_SYMBOL_in_utility_statement10185_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_utility_statement10199  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_utility_statement10199_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000400), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_utility_statement10199	= { FOLLOW_PARTITIONS_SYMBOL_in_utility_statement10199_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORMAT_SYMBOL_in_utility_statement10213  */
static	ANTLR3_BITWORD FOLLOW_FORMAT_SYMBOL_in_utility_statement10213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FORMAT_SYMBOL_in_utility_statement10213	= { FOLLOW_FORMAT_SYMBOL_in_utility_statement10213_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_utility_statement10215  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_utility_statement10215_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_utility_statement10215	= { FOLLOW_EQUAL_OPERATOR_in_utility_statement10215_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement10217  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement10217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000400), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000100000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement10217	= { FOLLOW_text_or_identifier_in_utility_statement10217_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_explainable_statement_in_utility_statement10226  */
static	ANTLR3_BITWORD FOLLOW_explainable_statement_in_utility_statement10226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_explainable_statement_in_utility_statement10226	= { FOLLOW_explainable_statement_in_utility_statement10226_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HELP_SYMBOL_in_utility_statement10235  */
static	ANTLR3_BITWORD FOLLOW_HELP_SYMBOL_in_utility_statement10235_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HELP_SYMBOL_in_utility_statement10235	= { FOLLOW_HELP_SYMBOL_in_utility_statement10235_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement10238  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement10238_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement10238	= { FOLLOW_text_or_identifier_in_utility_statement10238_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_utility_statement10243  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_utility_statement10243_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_utility_statement10243	= { FOLLOW_USE_SYMBOL_in_utility_statement10243_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_utility_statement10246  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_utility_statement10246_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_utility_statement10246	= { FOLLOW_identifier_in_utility_statement10246_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DESCRIBE_SYMBOL_in_describe_command10255  */
static	ANTLR3_BITWORD FOLLOW_DESCRIBE_SYMBOL_in_describe_command10255_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DESCRIBE_SYMBOL_in_describe_command10255	= { FOLLOW_DESCRIBE_SYMBOL_in_describe_command10255_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DESC_SYMBOL_in_describe_command10260  */
static	ANTLR3_BITWORD FOLLOW_DESC_SYMBOL_in_describe_command10260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DESC_SYMBOL_in_describe_command10260	= { FOLLOW_DESC_SYMBOL_in_describe_command10260_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_explainable_statement10271  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_explainable_statement10271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_explainable_statement10271	= { FOLLOW_select_statement_in_explainable_statement10271_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_statement_in_explainable_statement10287  */
static	ANTLR3_BITWORD FOLLOW_delete_statement_in_explainable_statement10287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_statement_in_explainable_statement10287	= { FOLLOW_delete_statement_in_explainable_statement10287_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_statement_in_explainable_statement10294  */
static	ANTLR3_BITWORD FOLLOW_insert_statement_in_explainable_statement10294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_statement_in_explainable_statement10294	= { FOLLOW_insert_statement_in_explainable_statement10294_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replace_statement_in_explainable_statement10301  */
static	ANTLR3_BITWORD FOLLOW_replace_statement_in_explainable_statement10301_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replace_statement_in_explainable_statement10301	= { FOLLOW_replace_statement_in_explainable_statement10301_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_update_statement_in_explainable_statement10308  */
static	ANTLR3_BITWORD FOLLOW_update_statement_in_explainable_statement10308_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_update_statement_in_explainable_statement10308	= { FOLLOW_update_statement_in_explainable_statement10308_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_explainable_statement10321  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_explainable_statement10321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_explainable_statement10321	= { FOLLOW_FOR_SYMBOL_in_explainable_statement10321_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONNECTION_SYMBOL_in_explainable_statement10323  */
static	ANTLR3_BITWORD FOLLOW_CONNECTION_SYMBOL_in_explainable_statement10323_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONNECTION_SYMBOL_in_explainable_statement10323	= { FOLLOW_CONNECTION_SYMBOL_in_explainable_statement10323_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_explainable_statement10325  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_explainable_statement10325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_explainable_statement10325	= { FOLLOW_INTEGER_in_explainable_statement10325_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_or_expression_in_expression10339  */
static	ANTLR3_BITWORD FOLLOW_logical_or_expression_in_expression10339_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_or_expression_in_expression10339	= { FOLLOW_logical_or_expression_in_expression10339_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_xor_expression_in_logical_or_expression10356  */
static	ANTLR3_BITWORD FOLLOW_logical_xor_expression_in_logical_or_expression10356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_xor_expression_in_logical_or_expression10356	= { FOLLOW_logical_xor_expression_in_logical_or_expression10356_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logical_or_expression10372  */
static	ANTLR3_BITWORD FOLLOW_set_in_logical_or_expression10372_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logical_or_expression10372	= { FOLLOW_set_in_logical_or_expression10372_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_xor_expression_in_logical_or_expression10381  */
static	ANTLR3_BITWORD FOLLOW_logical_xor_expression_in_logical_or_expression10381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_xor_expression_in_logical_or_expression10381	= { FOLLOW_logical_xor_expression_in_logical_or_expression10381_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_and_expression_in_logical_xor_expression10392  */
static	ANTLR3_BITWORD FOLLOW_logical_and_expression_in_logical_xor_expression10392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_and_expression_in_logical_xor_expression10392	= { FOLLOW_logical_and_expression_in_logical_xor_expression10392_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XOR_SYMBOL_in_logical_xor_expression10408  */
static	ANTLR3_BITWORD FOLLOW_XOR_SYMBOL_in_logical_xor_expression10408_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_XOR_SYMBOL_in_logical_xor_expression10408	= { FOLLOW_XOR_SYMBOL_in_logical_xor_expression10408_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_and_expression_in_logical_xor_expression10411  */
static	ANTLR3_BITWORD FOLLOW_logical_and_expression_in_logical_xor_expression10411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_and_expression_in_logical_xor_expression10411	= { FOLLOW_logical_and_expression_in_logical_xor_expression10411_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_and_expression10422  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_and_expression10422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_and_expression10422	= { FOLLOW_logical_not_expression_in_logical_and_expression10422_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logical_and_expression10438  */
static	ANTLR3_BITWORD FOLLOW_set_in_logical_and_expression10438_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logical_and_expression10438	= { FOLLOW_set_in_logical_and_expression10438_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_and_expression10447  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_and_expression10447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_and_expression10447	= { FOLLOW_logical_not_expression_in_logical_and_expression10447_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_logical_not_expression10458  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_logical_not_expression10458_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_logical_not_expression10458	= { FOLLOW_NOT_SYMBOL_in_logical_not_expression10458_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_not_expression10461  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_not_expression10461_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_not_expression10461	= { FOLLOW_logical_not_expression_in_logical_not_expression10461_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_primary_expression_in_logical_not_expression10466  */
static	ANTLR3_BITWORD FOLLOW_boolean_primary_expression_in_logical_not_expression10466_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_boolean_primary_expression_in_logical_not_expression10466	= { FOLLOW_boolean_primary_expression_in_logical_not_expression10466_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_boolean_primary_expression10475  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_boolean_primary_expression10475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_boolean_primary_expression10475	= { FOLLOW_predicate_in_boolean_primary_expression10475_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_comparison_operator_in_boolean_primary_expression10497  */
static	ANTLR3_BITWORD FOLLOW_comparison_operator_in_boolean_primary_expression10497_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_comparison_operator_in_boolean_primary_expression10497	= { FOLLOW_comparison_operator_in_boolean_primary_expression10497_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_boolean_primary_expression10511  */
static	ANTLR3_BITWORD FOLLOW_set_in_boolean_primary_expression10511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_boolean_primary_expression10511	= { FOLLOW_set_in_boolean_primary_expression10511_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_boolean_primary_expression10519  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_boolean_primary_expression10519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_boolean_primary_expression10519	= { FOLLOW_subquery_in_boolean_primary_expression10519_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_boolean_primary_expression10527  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_boolean_primary_expression10527_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_boolean_primary_expression10527	= { FOLLOW_predicate_in_boolean_primary_expression10527_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IS_SYMBOL_in_boolean_primary_expression10556  */
static	ANTLR3_BITWORD FOLLOW_IS_SYMBOL_in_boolean_primary_expression10556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000148000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IS_SYMBOL_in_boolean_primary_expression10556	= { FOLLOW_IS_SYMBOL_in_boolean_primary_expression10556_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_boolean_primary_expression10559  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_boolean_primary_expression10559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000140000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_boolean_primary_expression10559	= { FOLLOW_NOT_SYMBOL_in_boolean_primary_expression10559_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_boolean_primary_expression10564  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_boolean_primary_expression10564_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_boolean_primary_expression10564	= { FOLLOW_null_literal_in_boolean_primary_expression10564_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression10568  */
static	ANTLR3_BITWORD FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression10568_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression10568	= { FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression10568_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression10572  */
static	ANTLR3_BITWORD FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression10572_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression10572	= { FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression10572_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression10576  */
static	ANTLR3_BITWORD FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression10576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000100000000), ANTLR3_UINT64_LIT(0x0003000800000000), ANTLR3_UINT64_LIT(0x0000086000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression10576	= { FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression10576_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate10593  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate10593_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate10593	= { FOLLOW_bitwise_or_expression_in_predicate10593_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_predicate10614  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_predicate10614_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_predicate10614	= { FOLLOW_NOT_SYMBOL_in_predicate10614_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BETWEEN_SYMBOL_in_predicate10628  */
static	ANTLR3_BITWORD FOLLOW_BETWEEN_SYMBOL_in_predicate10628_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BETWEEN_SYMBOL_in_predicate10628	= { FOLLOW_BETWEEN_SYMBOL_in_predicate10628_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate10631  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate10631_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate10631	= { FOLLOW_bitwise_or_expression_in_predicate10631_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_predicate10633  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_predicate10633_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_predicate10633	= { FOLLOW_AND_SYMBOL_in_predicate10633_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_predicate10635  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_predicate10635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_predicate10635	= { FOLLOW_predicate_in_predicate10635_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_predicate10644  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_predicate10644_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_predicate10644	= { FOLLOW_LIKE_SYMBOL_in_predicate10644_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_predicate10647  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_predicate10647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_predicate10647	= { FOLLOW_unary_expression_in_predicate10647_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ESCAPE_SYMBOL_in_predicate10663  */
static	ANTLR3_BITWORD FOLLOW_ESCAPE_SYMBOL_in_predicate10663_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E1A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x0000800002080C31), ANTLR3_UINT64_LIT(0x200C150108402800), ANTLR3_UINT64_LIT(0x0008000004180002), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ESCAPE_SYMBOL_in_predicate10663	= { FOLLOW_ESCAPE_SYMBOL_in_predicate10663_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_predicate10665  */
static	ANTLR3_BITWORD FOLLOW_primary_in_predicate10665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_predicate10665	= { FOLLOW_primary_in_predicate10665_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REGEXP_SYMBOL_in_predicate10676  */
static	ANTLR3_BITWORD FOLLOW_REGEXP_SYMBOL_in_predicate10676_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_REGEXP_SYMBOL_in_predicate10676	= { FOLLOW_REGEXP_SYMBOL_in_predicate10676_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate10679  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate10679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate10679	= { FOLLOW_bitwise_or_expression_in_predicate10679_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_predicate10688  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_predicate10688_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_predicate10688	= { FOLLOW_IN_SYMBOL_in_predicate10688_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_in_predicate10690  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_in_predicate10690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_in_predicate10690	= { FOLLOW_predicate_in_in_predicate10690_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOUNDS_SYMBOL_in_predicate10709  */
static	ANTLR3_BITWORD FOLLOW_SOUNDS_SYMBOL_in_predicate10709_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SOUNDS_SYMBOL_in_predicate10709	= { FOLLOW_SOUNDS_SYMBOL_in_predicate10709_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_predicate10712  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_predicate10712_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_predicate10712	= { FOLLOW_LIKE_SYMBOL_in_predicate10712_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate10714  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate10714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate10714	= { FOLLOW_bitwise_or_expression_in_predicate10714_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_predicate_in10733  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_predicate_in10733_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_predicate_in10733	= { FOLLOW_subquery_in_predicate_in10733_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_predicate_in10738  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_predicate_in10738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_predicate_in10738	= { FOLLOW_expression_list_with_parentheses_in_predicate_in10738_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_and_expression_in_bitwise_or_expression10747  */
static	ANTLR3_BITWORD FOLLOW_bitwise_and_expression_in_bitwise_or_expression10747_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_and_expression_in_bitwise_or_expression10747	= { FOLLOW_bitwise_and_expression_in_bitwise_or_expression10747_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression10763  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression10763_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression10763	= { FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression10763_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_and_expression_in_bitwise_or_expression10766  */
static	ANTLR3_BITWORD FOLLOW_bitwise_and_expression_in_bitwise_or_expression10766_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_and_expression_in_bitwise_or_expression10766	= { FOLLOW_bitwise_and_expression_in_bitwise_or_expression10766_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_shift_expression_in_bitwise_and_expression10777  */
static	ANTLR3_BITWORD FOLLOW_shift_expression_in_bitwise_and_expression10777_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_shift_expression_in_bitwise_and_expression10777	= { FOLLOW_shift_expression_in_bitwise_and_expression10777_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression10793  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression10793_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression10793	= { FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression10793_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_shift_expression_in_bitwise_and_expression10796  */
static	ANTLR3_BITWORD FOLLOW_shift_expression_in_bitwise_and_expression10796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_shift_expression_in_bitwise_and_expression10796	= { FOLLOW_shift_expression_in_bitwise_and_expression10796_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_additive_expression_in_shift_expression10807  */
static	ANTLR3_BITWORD FOLLOW_additive_expression_in_shift_expression10807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000600000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_additive_expression_in_shift_expression10807	= { FOLLOW_additive_expression_in_shift_expression10807_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_shift_expression10823  */
static	ANTLR3_BITWORD FOLLOW_set_in_shift_expression10823_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_shift_expression10823	= { FOLLOW_set_in_shift_expression10823_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_additive_expression_in_shift_expression10832  */
static	ANTLR3_BITWORD FOLLOW_additive_expression_in_shift_expression10832_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000600000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_additive_expression_in_shift_expression10832	= { FOLLOW_additive_expression_in_shift_expression10832_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplicative_expression_in_additive_expression10843  */
static	ANTLR3_BITWORD FOLLOW_multiplicative_expression_in_additive_expression10843_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplicative_expression_in_additive_expression10843	= { FOLLOW_multiplicative_expression_in_additive_expression10843_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_additive_expression10859  */
static	ANTLR3_BITWORD FOLLOW_set_in_additive_expression10859_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_additive_expression10859	= { FOLLOW_set_in_additive_expression10859_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplicative_expression_in_additive_expression10868  */
static	ANTLR3_BITWORD FOLLOW_multiplicative_expression_in_additive_expression10868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplicative_expression_in_additive_expression10868	= { FOLLOW_multiplicative_expression_in_additive_expression10868_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_xor_expression_in_multiplicative_expression10879  */
static	ANTLR3_BITWORD FOLLOW_bitwise_xor_expression_in_multiplicative_expression10879_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000000000C0000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000002C000000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_xor_expression_in_multiplicative_expression10879	= { FOLLOW_bitwise_xor_expression_in_multiplicative_expression10879_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplication_operator_in_multiplicative_expression10895  */
static	ANTLR3_BITWORD FOLLOW_multiplication_operator_in_multiplicative_expression10895_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplication_operator_in_multiplicative_expression10895	= { FOLLOW_multiplication_operator_in_multiplicative_expression10895_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_xor_expression_in_multiplicative_expression10898  */
static	ANTLR3_BITWORD FOLLOW_bitwise_xor_expression_in_multiplicative_expression10898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000000000C0000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000002C000000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_xor_expression_in_multiplicative_expression10898	= { FOLLOW_bitwise_xor_expression_in_multiplicative_expression10898_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_concat_expression_in_bitwise_xor_expression10909  */
static	ANTLR3_BITWORD FOLLOW_concat_expression_in_bitwise_xor_expression10909_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_concat_expression_in_bitwise_xor_expression10909	= { FOLLOW_concat_expression_in_bitwise_xor_expression10909_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression10925  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression10925_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression10925	= { FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression10925_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_concat_expression_in_bitwise_xor_expression10928  */
static	ANTLR3_BITWORD FOLLOW_concat_expression_in_bitwise_xor_expression10928_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_concat_expression_in_bitwise_xor_expression10928	= { FOLLOW_concat_expression_in_bitwise_xor_expression10928_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_concat_expression10940  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_concat_expression10940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_concat_expression10940	= { FOLLOW_unary_expression_in_concat_expression10940_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression10956  */
static	ANTLR3_BITWORD FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression10956_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression10956	= { FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression10956_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_concat_expression10959  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_concat_expression10959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_concat_expression10959	= { FOLLOW_unary_expression_in_concat_expression10959_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_unary_expression10970  */
static	ANTLR3_BITWORD FOLLOW_set_in_unary_expression10970_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_unary_expression10970	= { FOLLOW_set_in_unary_expression10970_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_unary_expression10982  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_unary_expression10982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_unary_expression10982	= { FOLLOW_unary_expression_in_unary_expression10982_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_not_expression_in_unary_expression10987  */
static	ANTLR3_BITWORD FOLLOW_not_expression_in_unary_expression10987_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_not_expression_in_unary_expression10987	= { FOLLOW_not_expression_in_unary_expression10987_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_not2_rule_in_not_expression10996  */
static	ANTLR3_BITWORD FOLLOW_not2_rule_in_not_expression10996_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E1A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C150108402800), ANTLR3_UINT64_LIT(0x0008000004180002), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_not2_rule_in_not_expression10996	= { FOLLOW_not2_rule_in_not_expression10996_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_expression_in_not_expression10999  */
static	ANTLR3_BITWORD FOLLOW_interval_expression_in_not_expression10999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_expression_in_not_expression10999	= { FOLLOW_interval_expression_in_not_expression10999_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_interval_expression11008  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_interval_expression11008_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_interval_expression11008	= { FOLLOW_INTERVAL_SYMBOL_in_interval_expression11008_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_function_in_interval_expression11040  */
static	ANTLR3_BITWORD FOLLOW_interval_function_in_interval_expression11040_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_function_in_interval_expression11040	= { FOLLOW_interval_function_in_interval_expression11040_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_time_span_in_interval_expression11047  */
static	ANTLR3_BITWORD FOLLOW_interval_time_span_in_interval_expression11047_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_time_span_in_interval_expression11047	= { FOLLOW_interval_time_span_in_interval_expression11047_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_interval_expression11056  */
static	ANTLR3_BITWORD FOLLOW_primary_in_interval_expression11056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_interval_expression11056	= { FOLLOW_primary_in_interval_expression11056_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_interval_function11065  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_interval_function11065_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_interval_function11065	= { FOLLOW_OPEN_PAR_SYMBOL_in_interval_function11065_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval_function11067  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval_function11067_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_interval_function11067	= { FOLLOW_expression_in_interval_function11067_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_interval_function11070  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_interval_function11070_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_interval_function11070	= { FOLLOW_COMMA_SYMBOL_in_interval_function11070_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval_function11072  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval_function11072_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_interval_function11072	= { FOLLOW_expression_in_interval_function11072_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function11076  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function11076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function11076	= { FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function11076_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_interval_time_span11108  */
static	ANTLR3_BITWORD FOLLOW_interval_in_interval_time_span11108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_interval_time_span11108	= { FOLLOW_interval_in_interval_time_span11108_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_primary11132  */
static	ANTLR3_BITWORD FOLLOW_literal_in_primary11132_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_primary11132	= { FOLLOW_literal_in_primary11132_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_runtime_function_call_in_primary11138  */
static	ANTLR3_BITWORD FOLLOW_runtime_function_call_in_primary11138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_runtime_function_call_in_primary11138	= { FOLLOW_runtime_function_call_in_primary11138_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_call_in_primary11145  */
static	ANTLR3_BITWORD FOLLOW_udf_call_in_primary11145_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_call_in_primary11145	= { FOLLOW_udf_call_in_primary11145_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_stored_function_call_in_primary11157  */
static	ANTLR3_BITWORD FOLLOW_stored_function_call_in_primary11157_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_stored_function_call_in_primary11157	= { FOLLOW_stored_function_call_in_primary11157_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_primary11163  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_primary11163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_primary11163	= { FOLLOW_column_ref_in_primary11163_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_primary11169  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_primary11169_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_primary11169	= { FOLLOW_PARAM_MARKER_in_primary11169_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_primary11175  */
static	ANTLR3_BITWORD FOLLOW_variable_in_primary11175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_in_primary11175	= { FOLLOW_variable_in_primary11175_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_primary11181  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_primary11181_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_primary11181	= { FOLLOW_EXISTS_SYMBOL_in_primary11181_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_primary11183  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_primary11183_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_primary11183	= { FOLLOW_subquery_in_primary11183_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_with_nested_parentheses_in_primary11189  */
static	ANTLR3_BITWORD FOLLOW_expression_with_nested_parentheses_in_primary11189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_with_nested_parentheses_in_primary11189	= { FOLLOW_expression_with_nested_parentheses_in_primary11189_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_CURLY_SYMBOL_in_primary11195  */
static	ANTLR3_BITWORD FOLLOW_OPEN_CURLY_SYMBOL_in_primary11195_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_CURLY_SYMBOL_in_primary11195	= { FOLLOW_OPEN_CURLY_SYMBOL_in_primary11195_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_primary11197  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_primary11197_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_primary11197	= { FOLLOW_identifier_in_primary11197_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_primary11199  */
static	ANTLR3_BITWORD FOLLOW_expression_in_primary11199_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_primary11199	= { FOLLOW_expression_in_primary11199_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_CURLY_SYMBOL_in_primary11201  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_CURLY_SYMBOL_in_primary11201_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_CURLY_SYMBOL_in_primary11201	= { FOLLOW_CLOSE_CURLY_SYMBOL_in_primary11201_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_match_expression_in_primary11207  */
static	ANTLR3_BITWORD FOLLOW_match_expression_in_primary11207_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_match_expression_in_primary11207	= { FOLLOW_match_expression_in_primary11207_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_case_expression_in_primary11213  */
static	ANTLR3_BITWORD FOLLOW_case_expression_in_primary11213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_case_expression_in_primary11213	= { FOLLOW_case_expression_in_primary11213_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_expression_in_primary11219  */
static	ANTLR3_BITWORD FOLLOW_cast_expression_in_primary11219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_cast_expression_in_primary11219	= { FOLLOW_cast_expression_in_primary11219_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_primary11241  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_primary11241_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_primary11241	= { FOLLOW_COLLATE_SYMBOL_in_primary11241_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_primary11243  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_primary11243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_primary11243	= { FOLLOW_text_or_identifier_in_primary11243_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_expression_with_nested_parentheses11260  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_expression_with_nested_parentheses11260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_expression_with_nested_parentheses11260	= { FOLLOW_subquery_in_expression_with_nested_parentheses11260_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_expression_with_nested_parentheses11265  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_expression_with_nested_parentheses11265_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_expression_with_nested_parentheses11265	= { FOLLOW_expression_list_with_parentheses_in_expression_with_nested_parentheses11265_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_SYMBOL_in_expression_with_nested_parentheses11270  */
static	ANTLR3_BITWORD FOLLOW_ROW_SYMBOL_in_expression_with_nested_parentheses11270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_SYMBOL_in_expression_with_nested_parentheses11270	= { FOLLOW_ROW_SYMBOL_in_expression_with_nested_parentheses11270_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_expression_with_nested_parentheses11272  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_expression_with_nested_parentheses11272_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_expression_with_nested_parentheses11272	= { FOLLOW_OPEN_PAR_SYMBOL_in_expression_with_nested_parentheses11272_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_with_nested_parentheses11274  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_with_nested_parentheses11274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_with_nested_parentheses11274	= { FOLLOW_expression_in_expression_with_nested_parentheses11274_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_with_nested_parentheses11277  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_with_nested_parentheses11277_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_with_nested_parentheses11277	= { FOLLOW_COMMA_SYMBOL_in_expression_with_nested_parentheses11277_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_with_nested_parentheses11279  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_with_nested_parentheses11279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_with_nested_parentheses11279	= { FOLLOW_expression_in_expression_with_nested_parentheses11279_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_expression_with_nested_parentheses11283  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_expression_with_nested_parentheses11283_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_expression_with_nested_parentheses11283	= { FOLLOW_CLOSE_PAR_SYMBOL_in_expression_with_nested_parentheses11283_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_runtime_function_call_expression_in_runtime_function_call11356  */
static	ANTLR3_BITWORD FOLLOW_runtime_function_call_expression_in_runtime_function_call11356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_runtime_function_call_expression_in_runtime_function_call11356	= { FOLLOW_runtime_function_call_expression_in_runtime_function_call11356_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression11375  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression11375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression11375	= { FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression11375_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11377  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11377_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11377	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11377_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_runtime_function_call_expression11379  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_runtime_function_call_expression11379_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_runtime_function_call_expression11379	= { FOLLOW_expression_list_in_runtime_function_call_expression11379_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_runtime_function_call_expression11382  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_runtime_function_call_expression11382_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_runtime_function_call_expression11382	= { FOLLOW_USING_SYMBOL_in_runtime_function_call_expression11382_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_runtime_function_call_expression11384  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_runtime_function_call_expression11384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_runtime_function_call_expression11384	= { FOLLOW_charset_name_in_runtime_function_call_expression11384_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11388  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11388_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11388	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11388_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_USER_SYMBOL_in_runtime_function_call_expression11393  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_USER_SYMBOL_in_runtime_function_call_expression11393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_USER_SYMBOL_in_runtime_function_call_expression11393	= { FOLLOW_CURRENT_USER_SYMBOL_in_runtime_function_call_expression11393_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_runtime_function_call_expression11395  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_runtime_function_call_expression11395_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_runtime_function_call_expression11395	= { FOLLOW_parentheses_in_runtime_function_call_expression11395_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_runtime_function_call_expression11401  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_runtime_function_call_expression11401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_runtime_function_call_expression11401	= { FOLLOW_DATE_SYMBOL_in_runtime_function_call_expression11401_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11403  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11403_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11403	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11403_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11405  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11405	= { FOLLOW_expression_in_runtime_function_call_expression11405_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11407  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11407	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11407_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_runtime_function_call_expression11412  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_runtime_function_call_expression11412_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SYMBOL_in_runtime_function_call_expression11412	= { FOLLOW_DAY_SYMBOL_in_runtime_function_call_expression11412_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11414  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11414_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11414	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11414_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11416  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11416	= { FOLLOW_expression_in_runtime_function_call_expression11416_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11418  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11418	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11418_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SYMBOL_in_runtime_function_call_expression11423  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SYMBOL_in_runtime_function_call_expression11423_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SYMBOL_in_runtime_function_call_expression11423	= { FOLLOW_HOUR_SYMBOL_in_runtime_function_call_expression11423_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11425  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11425_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11425	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11425_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11427  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11427_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11427	= { FOLLOW_expression_in_runtime_function_call_expression11427_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11429  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11429	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11429_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_runtime_function_call_expression11434  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_runtime_function_call_expression11434_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_runtime_function_call_expression11434	= { FOLLOW_INSERT_SYMBOL_in_runtime_function_call_expression11434_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11436  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11436_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11436	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11436_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11438  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11438	= { FOLLOW_expression_in_runtime_function_call_expression11438_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11440  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11440_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11440	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11440_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11442  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11442	= { FOLLOW_expression_in_runtime_function_call_expression11442_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11444  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11444_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11444	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11444_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11446  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11446_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11446	= { FOLLOW_expression_in_runtime_function_call_expression11446_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11448  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11448_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11448	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11448_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11450  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11450	= { FOLLOW_expression_in_runtime_function_call_expression11450_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11452  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11452_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11452	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11452_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEFT_SYMBOL_in_runtime_function_call_expression11459  */
static	ANTLR3_BITWORD FOLLOW_LEFT_SYMBOL_in_runtime_function_call_expression11459_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LEFT_SYMBOL_in_runtime_function_call_expression11459	= { FOLLOW_LEFT_SYMBOL_in_runtime_function_call_expression11459_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11461  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11461_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11461	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11461_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11463  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11463_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11463	= { FOLLOW_expression_in_runtime_function_call_expression11463_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11465  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11465_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11465	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11465_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11467  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11467	= { FOLLOW_expression_in_runtime_function_call_expression11467_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11469  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11469	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11469_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SYMBOL_in_runtime_function_call_expression11474  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SYMBOL_in_runtime_function_call_expression11474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SYMBOL_in_runtime_function_call_expression11474	= { FOLLOW_MINUTE_SYMBOL_in_runtime_function_call_expression11474_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11476  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11476_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11476	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11476_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11478  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11478	= { FOLLOW_expression_in_runtime_function_call_expression11478_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11480  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11480_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11480	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11480_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_SYMBOL_in_runtime_function_call_expression11485  */
static	ANTLR3_BITWORD FOLLOW_MONTH_SYMBOL_in_runtime_function_call_expression11485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MONTH_SYMBOL_in_runtime_function_call_expression11485	= { FOLLOW_MONTH_SYMBOL_in_runtime_function_call_expression11485_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11487  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11487_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11487	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11487_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11489  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11489	= { FOLLOW_expression_in_runtime_function_call_expression11489_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11491  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11491	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11491_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RIGHT_SYMBOL_in_runtime_function_call_expression11496  */
static	ANTLR3_BITWORD FOLLOW_RIGHT_SYMBOL_in_runtime_function_call_expression11496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RIGHT_SYMBOL_in_runtime_function_call_expression11496	= { FOLLOW_RIGHT_SYMBOL_in_runtime_function_call_expression11496_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11498  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11498_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11498	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11498_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11500  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11500_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11500	= { FOLLOW_expression_in_runtime_function_call_expression11500_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11502  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11502_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11502	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11502_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11504  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11504	= { FOLLOW_expression_in_runtime_function_call_expression11504_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11506  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11506	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11506_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_SYMBOL_in_runtime_function_call_expression11511  */
static	ANTLR3_BITWORD FOLLOW_SECOND_SYMBOL_in_runtime_function_call_expression11511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_SYMBOL_in_runtime_function_call_expression11511	= { FOLLOW_SECOND_SYMBOL_in_runtime_function_call_expression11511_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11513  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11513_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11513	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11513_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11515  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11515	= { FOLLOW_expression_in_runtime_function_call_expression11515_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11517  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11517	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_runtime_function_call_expression11522  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_runtime_function_call_expression11522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_runtime_function_call_expression11522	= { FOLLOW_TIME_SYMBOL_in_runtime_function_call_expression11522_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11524  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11524_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11524	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11524_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11526  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11526	= { FOLLOW_expression_in_runtime_function_call_expression11526_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11528  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11528_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11528	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11528_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11533  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11533	= { FOLLOW_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11533_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11535  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11535_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11535	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11535_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11537  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11537	= { FOLLOW_expression_in_runtime_function_call_expression11537_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11540  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11540_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11540	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11540_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11542  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11542	= { FOLLOW_expression_in_runtime_function_call_expression11542_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11546  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11546_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11546	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11546_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trim_function_in_runtime_function_call_expression11551  */
static	ANTLR3_BITWORD FOLLOW_trim_function_in_runtime_function_call_expression11551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_trim_function_in_runtime_function_call_expression11551	= { FOLLOW_trim_function_in_runtime_function_call_expression11551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_runtime_function_call_expression11556  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_runtime_function_call_expression11556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_runtime_function_call_expression11556	= { FOLLOW_USER_SYMBOL_in_runtime_function_call_expression11556_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_runtime_function_call_expression11558  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_runtime_function_call_expression11558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_runtime_function_call_expression11558	= { FOLLOW_parentheses_in_runtime_function_call_expression11558_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUES_SYMBOL_in_runtime_function_call_expression11563  */
static	ANTLR3_BITWORD FOLLOW_VALUES_SYMBOL_in_runtime_function_call_expression11563_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUES_SYMBOL_in_runtime_function_call_expression11563	= { FOLLOW_VALUES_SYMBOL_in_runtime_function_call_expression11563_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11565  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11565_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11565	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11565_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11567  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11567	= { FOLLOW_expression_in_runtime_function_call_expression11567_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11569  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11569	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_runtime_function_call_expression11574  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_runtime_function_call_expression11574_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_runtime_function_call_expression11574	= { FOLLOW_YEAR_SYMBOL_in_runtime_function_call_expression11574_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11576  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11576_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11576	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11576_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11578  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11578_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11578	= { FOLLOW_expression_in_runtime_function_call_expression11578_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11580  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11580	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11580_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_runtime_function_call_expression11588  */
static	ANTLR3_BITWORD FOLLOW_set_in_runtime_function_call_expression11588_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_runtime_function_call_expression11588	= { FOLLOW_set_in_runtime_function_call_expression11588_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11596  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11596_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11596	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11596_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11598  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11598_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11598	= { FOLLOW_expression_in_runtime_function_call_expression11598_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11600  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11600_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11600	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11600_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11602  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11602_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11602	= { FOLLOW_expression_in_runtime_function_call_expression11602_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11604  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11604	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11604_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURDATE_SYMBOL_in_runtime_function_call_expression11609  */
static	ANTLR3_BITWORD FOLLOW_CURDATE_SYMBOL_in_runtime_function_call_expression11609_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURDATE_SYMBOL_in_runtime_function_call_expression11609	= { FOLLOW_CURDATE_SYMBOL_in_runtime_function_call_expression11609_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_runtime_function_call_expression11611  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_runtime_function_call_expression11611_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_runtime_function_call_expression11611	= { FOLLOW_parentheses_in_runtime_function_call_expression11611_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURTIME_SYMBOL_in_runtime_function_call_expression11617  */
static	ANTLR3_BITWORD FOLLOW_CURTIME_SYMBOL_in_runtime_function_call_expression11617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURTIME_SYMBOL_in_runtime_function_call_expression11617	= { FOLLOW_CURTIME_SYMBOL_in_runtime_function_call_expression11617_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_runtime_function_call_expression11619  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_runtime_function_call_expression11619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_runtime_function_call_expression11619	= { FOLLOW_time_function_parameters_in_runtime_function_call_expression11619_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_runtime_function_call_expression11625  */
static	ANTLR3_BITWORD FOLLOW_set_in_runtime_function_call_expression11625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_runtime_function_call_expression11625	= { FOLLOW_set_in_runtime_function_call_expression11625_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11633  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11633_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11633	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11633_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11635  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11635	= { FOLLOW_expression_in_runtime_function_call_expression11635_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11637  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11637	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11637_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_runtime_function_call_expression11639  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_runtime_function_call_expression11639_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_runtime_function_call_expression11639	= { FOLLOW_INTERVAL_SYMBOL_in_runtime_function_call_expression11639_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_runtime_function_call_expression11641  */
static	ANTLR3_BITWORD FOLLOW_interval_in_runtime_function_call_expression11641_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_runtime_function_call_expression11641	= { FOLLOW_interval_in_runtime_function_call_expression11641_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11643  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11643_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11643	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11643_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTRACT_SYMBOL_in_runtime_function_call_expression11648  */
static	ANTLR3_BITWORD FOLLOW_EXTRACT_SYMBOL_in_runtime_function_call_expression11648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTRACT_SYMBOL_in_runtime_function_call_expression11648	= { FOLLOW_EXTRACT_SYMBOL_in_runtime_function_call_expression11648_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11650  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x00000000008A0000), ANTLR3_UINT64_LIT(0x0000010000000004), ANTLR3_UINT64_LIT(0x0002080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x004000000000000F), ANTLR3_UINT64_LIT(0x0000000000000380), ANTLR3_UINT64_LIT(0x0000000000300000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11650	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11650_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_unit_in_runtime_function_call_expression11652  */
static	ANTLR3_BITWORD FOLLOW_interval_unit_in_runtime_function_call_expression11652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_unit_in_runtime_function_call_expression11652	= { FOLLOW_interval_unit_in_runtime_function_call_expression11652_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_runtime_function_call_expression11654  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_runtime_function_call_expression11654_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_runtime_function_call_expression11654	= { FOLLOW_FROM_SYMBOL_in_runtime_function_call_expression11654_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11656  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11656_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11656	= { FOLLOW_expression_in_runtime_function_call_expression11656_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11658  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11658	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11658_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GET_FORMAT_SYMBOL_in_runtime_function_call_expression11663  */
static	ANTLR3_BITWORD FOLLOW_GET_FORMAT_SYMBOL_in_runtime_function_call_expression11663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GET_FORMAT_SYMBOL_in_runtime_function_call_expression11663	= { FOLLOW_GET_FORMAT_SYMBOL_in_runtime_function_call_expression11663_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11665  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000180000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001200000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11665	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11665_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_date_time_type_in_runtime_function_call_expression11667  */
static	ANTLR3_BITWORD FOLLOW_date_time_type_in_runtime_function_call_expression11667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_date_time_type_in_runtime_function_call_expression11667	= { FOLLOW_date_time_type_in_runtime_function_call_expression11667_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11670  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11670_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11670	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11670_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11672  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11672_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11672	= { FOLLOW_expression_in_runtime_function_call_expression11672_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11674  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11674	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11674_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_runtime_function_call_expression11679  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_runtime_function_call_expression11679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_runtime_function_call_expression11679	= { FOLLOW_NOW_SYMBOL_in_runtime_function_call_expression11679_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_runtime_function_call_expression11681  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_runtime_function_call_expression11681_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_runtime_function_call_expression11681	= { FOLLOW_time_function_parameters_in_runtime_function_call_expression11681_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POSITION_SYMBOL_in_runtime_function_call_expression11687  */
static	ANTLR3_BITWORD FOLLOW_POSITION_SYMBOL_in_runtime_function_call_expression11687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_POSITION_SYMBOL_in_runtime_function_call_expression11687	= { FOLLOW_POSITION_SYMBOL_in_runtime_function_call_expression11687_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11689  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11689_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11689	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11689_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_runtime_function_call_expression11691  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_runtime_function_call_expression11691_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_runtime_function_call_expression11691	= { FOLLOW_bitwise_or_expression_in_runtime_function_call_expression11691_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_runtime_function_call_expression11693  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_runtime_function_call_expression11693_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_runtime_function_call_expression11693	= { FOLLOW_IN_SYMBOL_in_runtime_function_call_expression11693_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11695  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11695_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11695	= { FOLLOW_expression_in_runtime_function_call_expression11695_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11697  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11697	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11697_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_substring_function_in_runtime_function_call_expression11702  */
static	ANTLR3_BITWORD FOLLOW_substring_function_in_runtime_function_call_expression11702_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_substring_function_in_runtime_function_call_expression11702	= { FOLLOW_substring_function_in_runtime_function_call_expression11702_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYSDATE_SYMBOL_in_runtime_function_call_expression11707  */
static	ANTLR3_BITWORD FOLLOW_SYSDATE_SYMBOL_in_runtime_function_call_expression11707_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SYSDATE_SYMBOL_in_runtime_function_call_expression11707	= { FOLLOW_SYSDATE_SYMBOL_in_runtime_function_call_expression11707_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_runtime_function_call_expression11709  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_runtime_function_call_expression11709_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_runtime_function_call_expression11709	= { FOLLOW_time_function_parameters_in_runtime_function_call_expression11709_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_runtime_function_call_expression11715  */
static	ANTLR3_BITWORD FOLLOW_set_in_runtime_function_call_expression11715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_runtime_function_call_expression11715	= { FOLLOW_set_in_runtime_function_call_expression11715_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11723  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x00000000008A0000), ANTLR3_UINT64_LIT(0x0000010000000004), ANTLR3_UINT64_LIT(0x0002080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11723	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11723_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_timestamp_unit_in_runtime_function_call_expression11725  */
static	ANTLR3_BITWORD FOLLOW_interval_timestamp_unit_in_runtime_function_call_expression11725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_timestamp_unit_in_runtime_function_call_expression11725	= { FOLLOW_interval_timestamp_unit_in_runtime_function_call_expression11725_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11727  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11727_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11727	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11727_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11729  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11729	= { FOLLOW_expression_in_runtime_function_call_expression11729_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11731  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11731_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11731	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11731_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11733  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11733_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11733	= { FOLLOW_expression_in_runtime_function_call_expression11733_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11735  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11735_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11735	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11735_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_DATE_SYMBOL_in_runtime_function_call_expression11740  */
static	ANTLR3_BITWORD FOLLOW_UTC_DATE_SYMBOL_in_runtime_function_call_expression11740_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_DATE_SYMBOL_in_runtime_function_call_expression11740	= { FOLLOW_UTC_DATE_SYMBOL_in_runtime_function_call_expression11740_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_runtime_function_call_expression11742  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_runtime_function_call_expression11742_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_runtime_function_call_expression11742	= { FOLLOW_parentheses_in_runtime_function_call_expression11742_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_TIME_SYMBOL_in_runtime_function_call_expression11748  */
static	ANTLR3_BITWORD FOLLOW_UTC_TIME_SYMBOL_in_runtime_function_call_expression11748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_TIME_SYMBOL_in_runtime_function_call_expression11748	= { FOLLOW_UTC_TIME_SYMBOL_in_runtime_function_call_expression11748_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_runtime_function_call_expression11750  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_runtime_function_call_expression11750_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_runtime_function_call_expression11750	= { FOLLOW_time_function_parameters_in_runtime_function_call_expression11750_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11756  */
static	ANTLR3_BITWORD FOLLOW_UTC_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11756_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11756	= { FOLLOW_UTC_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11756_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_runtime_function_call_expression11758  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_runtime_function_call_expression11758_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_runtime_function_call_expression11758	= { FOLLOW_time_function_parameters_in_runtime_function_call_expression11758_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_runtime_function_call_expression11767  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_runtime_function_call_expression11767_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_runtime_function_call_expression11767	= { FOLLOW_ASCII_SYMBOL_in_runtime_function_call_expression11767_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11769  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11769_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11769	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11769_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11771  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11771_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11771	= { FOLLOW_expression_in_runtime_function_call_expression11771_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11773  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11773	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11773_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_runtime_function_call_expression11778  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_runtime_function_call_expression11778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_runtime_function_call_expression11778	= { FOLLOW_CHARSET_SYMBOL_in_runtime_function_call_expression11778_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11780  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11780_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11780	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11780_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11782  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11782_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11782	= { FOLLOW_expression_in_runtime_function_call_expression11782_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11784  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11784_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11784	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11784_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COALESCE_SYMBOL_in_runtime_function_call_expression11789  */
static	ANTLR3_BITWORD FOLLOW_COALESCE_SYMBOL_in_runtime_function_call_expression11789_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COALESCE_SYMBOL_in_runtime_function_call_expression11789	= { FOLLOW_COALESCE_SYMBOL_in_runtime_function_call_expression11789_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_runtime_function_call_expression11791  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_runtime_function_call_expression11791_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_runtime_function_call_expression11791	= { FOLLOW_expression_list_with_parentheses_in_runtime_function_call_expression11791_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATION_SYMBOL_in_runtime_function_call_expression11796  */
static	ANTLR3_BITWORD FOLLOW_COLLATION_SYMBOL_in_runtime_function_call_expression11796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATION_SYMBOL_in_runtime_function_call_expression11796	= { FOLLOW_COLLATION_SYMBOL_in_runtime_function_call_expression11796_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11798  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11798_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11798	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11798_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11800  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11800	= { FOLLOW_expression_in_runtime_function_call_expression11800_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11802  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11802	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11802_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_runtime_function_call_expression11807  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_runtime_function_call_expression11807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_runtime_function_call_expression11807	= { FOLLOW_DATABASE_SYMBOL_in_runtime_function_call_expression11807_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_runtime_function_call_expression11809  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_runtime_function_call_expression11809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_runtime_function_call_expression11809	= { FOLLOW_parentheses_in_runtime_function_call_expression11809_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_runtime_function_call_expression11814  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_runtime_function_call_expression11814_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_runtime_function_call_expression11814	= { FOLLOW_IF_SYMBOL_in_runtime_function_call_expression11814_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11816  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11816_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11816	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11816_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11818  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11818	= { FOLLOW_expression_in_runtime_function_call_expression11818_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11820  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11820_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11820	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11820_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11822  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11822	= { FOLLOW_expression_in_runtime_function_call_expression11822_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11824  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11824_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11824	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11824_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11826  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11826	= { FOLLOW_expression_in_runtime_function_call_expression11826_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11828  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11828_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11828	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11828_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORMAT_SYMBOL_in_runtime_function_call_expression11833  */
static	ANTLR3_BITWORD FOLLOW_FORMAT_SYMBOL_in_runtime_function_call_expression11833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FORMAT_SYMBOL_in_runtime_function_call_expression11833	= { FOLLOW_FORMAT_SYMBOL_in_runtime_function_call_expression11833_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11835  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11835_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11835	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11835_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11837  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11837	= { FOLLOW_expression_in_runtime_function_call_expression11837_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11839  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11839_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11839	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11839_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11841  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11841	= { FOLLOW_expression_in_runtime_function_call_expression11841_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11844  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11844_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11844	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11844_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11846  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11846	= { FOLLOW_expression_in_runtime_function_call_expression11846_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11850  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11850_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11850	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11850_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MICROSECOND_SYMBOL_in_runtime_function_call_expression11855  */
static	ANTLR3_BITWORD FOLLOW_MICROSECOND_SYMBOL_in_runtime_function_call_expression11855_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MICROSECOND_SYMBOL_in_runtime_function_call_expression11855	= { FOLLOW_MICROSECOND_SYMBOL_in_runtime_function_call_expression11855_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11857  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11857_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11857	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11857_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11859  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11859_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11859	= { FOLLOW_expression_in_runtime_function_call_expression11859_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11861  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11861_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11861	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11861_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MOD_SYMBOL_in_runtime_function_call_expression11866  */
static	ANTLR3_BITWORD FOLLOW_MOD_SYMBOL_in_runtime_function_call_expression11866_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MOD_SYMBOL_in_runtime_function_call_expression11866	= { FOLLOW_MOD_SYMBOL_in_runtime_function_call_expression11866_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11868  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11868_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11868	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11868_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11870  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11870_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11870	= { FOLLOW_expression_in_runtime_function_call_expression11870_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11872  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11872_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11872	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11872_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11874  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11874_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11874	= { FOLLOW_expression_in_runtime_function_call_expression11874_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11876  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11876_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11876	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11876_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OLD_PASSWORD_SYMBOL_in_runtime_function_call_expression11885  */
static	ANTLR3_BITWORD FOLLOW_OLD_PASSWORD_SYMBOL_in_runtime_function_call_expression11885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OLD_PASSWORD_SYMBOL_in_runtime_function_call_expression11885	= { FOLLOW_OLD_PASSWORD_SYMBOL_in_runtime_function_call_expression11885_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11887  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11887_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11887	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11887_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_runtime_function_call_expression11889  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_runtime_function_call_expression11889_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_runtime_function_call_expression11889	= { FOLLOW_string_literal_in_runtime_function_call_expression11889_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11891  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11891	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11891_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_runtime_function_call_expression11896  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_runtime_function_call_expression11896_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_runtime_function_call_expression11896	= { FOLLOW_PASSWORD_SYMBOL_in_runtime_function_call_expression11896_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11898  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11898_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11898	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11898_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11900  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11900	= { FOLLOW_expression_in_runtime_function_call_expression11900_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11902  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11902_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11902	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11902_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUARTER_SYMBOL_in_runtime_function_call_expression11907  */
static	ANTLR3_BITWORD FOLLOW_QUARTER_SYMBOL_in_runtime_function_call_expression11907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_QUARTER_SYMBOL_in_runtime_function_call_expression11907	= { FOLLOW_QUARTER_SYMBOL_in_runtime_function_call_expression11907_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11909  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11909_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11909	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11909_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11911  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11911	= { FOLLOW_expression_in_runtime_function_call_expression11911_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11913  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11913	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11913_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_runtime_function_call_expression11918  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_runtime_function_call_expression11918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_runtime_function_call_expression11918	= { FOLLOW_REPEAT_SYMBOL_in_runtime_function_call_expression11918_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11920  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11920_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11920	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11920_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11922  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11922	= { FOLLOW_expression_in_runtime_function_call_expression11922_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11924  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11924_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11924	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11924_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11926  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11926_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11926	= { FOLLOW_expression_in_runtime_function_call_expression11926_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11928  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11928_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11928	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11928_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_runtime_function_call_expression11933  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_runtime_function_call_expression11933_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_runtime_function_call_expression11933	= { FOLLOW_REPLACE_SYMBOL_in_runtime_function_call_expression11933_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11935  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11935_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11935	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11935_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11937  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11937	= { FOLLOW_expression_in_runtime_function_call_expression11937_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11939  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11939_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11939	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11939_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11941  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11941_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11941	= { FOLLOW_expression_in_runtime_function_call_expression11941_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11943  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11943_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11943	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11943_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11945  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11945_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11945	= { FOLLOW_expression_in_runtime_function_call_expression11945_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11947  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11947	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11947_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_runtime_function_call_expression11952  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_runtime_function_call_expression11952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_runtime_function_call_expression11952	= { FOLLOW_REVERSE_SYMBOL_in_runtime_function_call_expression11952_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11954  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11954_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11954	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11954_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11956  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11956_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11956	= { FOLLOW_expression_in_runtime_function_call_expression11956_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11958  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11958	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11958_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_COUNT_SYMBOL_in_runtime_function_call_expression11963  */
static	ANTLR3_BITWORD FOLLOW_ROW_COUNT_SYMBOL_in_runtime_function_call_expression11963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_COUNT_SYMBOL_in_runtime_function_call_expression11963	= { FOLLOW_ROW_COUNT_SYMBOL_in_runtime_function_call_expression11963_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_runtime_function_call_expression11965  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_runtime_function_call_expression11965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_runtime_function_call_expression11965	= { FOLLOW_parentheses_in_runtime_function_call_expression11965_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_runtime_function_call_expression11970  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_runtime_function_call_expression11970_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_runtime_function_call_expression11970	= { FOLLOW_TRUNCATE_SYMBOL_in_runtime_function_call_expression11970_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11972  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11972_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11972	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11972_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11974  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11974_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11974	= { FOLLOW_expression_in_runtime_function_call_expression11974_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11976  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11976_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11976	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11976_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11978  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11978	= { FOLLOW_expression_in_runtime_function_call_expression11978_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11980  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11980	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11980_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_SYMBOL_in_runtime_function_call_expression11985  */
static	ANTLR3_BITWORD FOLLOW_WEEK_SYMBOL_in_runtime_function_call_expression11985_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WEEK_SYMBOL_in_runtime_function_call_expression11985	= { FOLLOW_WEEK_SYMBOL_in_runtime_function_call_expression11985_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11987  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11987_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11987	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11987_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11989  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11989_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11989	= { FOLLOW_expression_in_runtime_function_call_expression11989_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11992  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11992_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11992	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11992_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression11994  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression11994_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression11994	= { FOLLOW_expression_in_runtime_function_call_expression11994_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11998  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11998_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11998	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11998_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEIGHT_STRING_SYMBOL_in_runtime_function_call_expression12007  */
static	ANTLR3_BITWORD FOLLOW_WEIGHT_STRING_SYMBOL_in_runtime_function_call_expression12007_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WEIGHT_STRING_SYMBOL_in_runtime_function_call_expression12007	= { FOLLOW_WEIGHT_STRING_SYMBOL_in_runtime_function_call_expression12007_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression12009  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression12009_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression12009	= { FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression12009_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_runtime_function_call_expression12011  */
static	ANTLR3_BITWORD FOLLOW_expression_in_runtime_function_call_expression12011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_runtime_function_call_expression12011	= { FOLLOW_expression_in_runtime_function_call_expression12011_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12021  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12021	= { FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12021_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression12023  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression12023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression12023	= { FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression12023_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_runtime_function_call_expression12025  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_runtime_function_call_expression12025_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_runtime_function_call_expression12025	= { FOLLOW_field_length_in_runtime_function_call_expression12025_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_levels_in_runtime_function_call_expression12029  */
static	ANTLR3_BITWORD FOLLOW_weight_string_levels_in_runtime_function_call_expression12029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_weight_string_levels_in_runtime_function_call_expression12029	= { FOLLOW_weight_string_levels_in_runtime_function_call_expression12029_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12037  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12037_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12037	= { FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12037_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_runtime_function_call_expression12039  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_runtime_function_call_expression12039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_runtime_function_call_expression12039	= { FOLLOW_BINARY_SYMBOL_in_runtime_function_call_expression12039_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_runtime_function_call_expression12041  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_runtime_function_call_expression12041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_runtime_function_call_expression12041	= { FOLLOW_field_length_in_runtime_function_call_expression12041_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12048  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12048	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12048_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_runtime_function_call_expression12050  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_runtime_function_call_expression12050_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_runtime_function_call_expression12050	= { FOLLOW_INTEGER_in_runtime_function_call_expression12050_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12052  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12052_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12052	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12052_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_runtime_function_call_expression12054  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_runtime_function_call_expression12054_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_runtime_function_call_expression12054	= { FOLLOW_INTEGER_in_runtime_function_call_expression12054_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12056  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12056	= { FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12056_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_runtime_function_call_expression12058  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_runtime_function_call_expression12058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_runtime_function_call_expression12058	= { FOLLOW_INTEGER_in_runtime_function_call_expression12058_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression12066  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression12066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression12066	= { FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression12066_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_geometry_function_in_runtime_function_call_expression12071  */
static	ANTLR3_BITWORD FOLLOW_geometry_function_in_runtime_function_call_expression12071_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_geometry_function_in_runtime_function_call_expression12071	= { FOLLOW_geometry_function_in_runtime_function_call_expression12071_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aggregate_function_in_runtime_function_call_expression12076  */
static	ANTLR3_BITWORD FOLLOW_aggregate_function_in_runtime_function_call_expression12076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_aggregate_function_in_runtime_function_call_expression12076	= { FOLLOW_aggregate_function_in_runtime_function_call_expression12076_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters12085  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters12085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters12085	= { FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters12085_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fractional_precision_in_time_function_parameters12087  */
static	ANTLR3_BITWORD FOLLOW_fractional_precision_in_time_function_parameters12087_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fractional_precision_in_time_function_parameters12087	= { FOLLOW_fractional_precision_in_time_function_parameters12087_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters12090  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters12090_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters12090	= { FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters12090_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_fractional_precision12103  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_fractional_precision12103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_fractional_precision12103	= { FOLLOW_INTEGER_in_fractional_precision12103_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEVEL_SYMBOL_in_weight_string_levels12112  */
static	ANTLR3_BITWORD FOLLOW_LEVEL_SYMBOL_in_weight_string_levels12112_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LEVEL_SYMBOL_in_weight_string_levels12112	= { FOLLOW_LEVEL_SYMBOL_in_weight_string_levels12112_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_levels12121  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_levels12121_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_weight_string_levels12121	= { FOLLOW_INTEGER_in_weight_string_levels12121_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_OPERATOR_in_weight_string_levels12123  */
static	ANTLR3_BITWORD FOLLOW_MINUS_OPERATOR_in_weight_string_levels12123_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUS_OPERATOR_in_weight_string_levels12123	= { FOLLOW_MINUS_OPERATOR_in_weight_string_levels12123_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_levels12125  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_levels12125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_weight_string_levels12125	= { FOLLOW_INTEGER_in_weight_string_levels12125_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_level_list_item_in_weight_string_levels12132  */
static	ANTLR3_BITWORD FOLLOW_weight_string_level_list_item_in_weight_string_levels12132_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_weight_string_level_list_item_in_weight_string_levels12132	= { FOLLOW_weight_string_level_list_item_in_weight_string_levels12132_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_weight_string_levels12135  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_weight_string_levels12135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_weight_string_levels12135	= { FOLLOW_COMMA_SYMBOL_in_weight_string_levels12135_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_level_list_item_in_weight_string_levels12137  */
static	ANTLR3_BITWORD FOLLOW_weight_string_level_list_item_in_weight_string_levels12137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_weight_string_level_list_item_in_weight_string_levels12137	= { FOLLOW_weight_string_level_list_item_in_weight_string_levels12137_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_level_list_item12152  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_level_list_item12152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_weight_string_level_list_item12152	= { FOLLOW_INTEGER_in_weight_string_level_list_item12152_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_weight_string_level_list_item12161  */
static	ANTLR3_BITWORD FOLLOW_set_in_weight_string_level_list_item12161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_weight_string_level_list_item12161	= { FOLLOW_set_in_weight_string_level_list_item12161_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12169  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12169_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12169	= { FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12169_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12177  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12177	= { FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12177_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIM_SYMBOL_in_trim_function12215  */
static	ANTLR3_BITWORD FOLLOW_TRIM_SYMBOL_in_trim_function12215_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIM_SYMBOL_in_trim_function12215	= { FOLLOW_TRIM_SYMBOL_in_trim_function12215_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_trim_function12217  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_trim_function12217_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C4E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x0000A0000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418800342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_trim_function12217	= { FOLLOW_OPEN_PAR_SYMBOL_in_trim_function12217_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12224  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12224_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12224	= { FOLLOW_expression_in_trim_function12224_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function12227  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function12227_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function12227	= { FOLLOW_FROM_SYMBOL_in_trim_function12227_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12229  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12229	= { FOLLOW_expression_in_trim_function12229_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEADING_SYMBOL_in_trim_function12237  */
static	ANTLR3_BITWORD FOLLOW_LEADING_SYMBOL_in_trim_function12237_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0080984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_LEADING_SYMBOL_in_trim_function12237	= { FOLLOW_LEADING_SYMBOL_in_trim_function12237_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12239  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12239_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12239	= { FOLLOW_expression_in_trim_function12239_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function12242  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function12242_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function12242	= { FOLLOW_FROM_SYMBOL_in_trim_function12242_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12244  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12244_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12244	= { FOLLOW_expression_in_trim_function12244_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRAILING_SYMBOL_in_trim_function12250  */
static	ANTLR3_BITWORD FOLLOW_TRAILING_SYMBOL_in_trim_function12250_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0080984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_TRAILING_SYMBOL_in_trim_function12250	= { FOLLOW_TRAILING_SYMBOL_in_trim_function12250_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12252  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12252_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12252	= { FOLLOW_expression_in_trim_function12252_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function12255  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function12255_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function12255	= { FOLLOW_FROM_SYMBOL_in_trim_function12255_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12257  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12257_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12257	= { FOLLOW_expression_in_trim_function12257_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOTH_SYMBOL_in_trim_function12263  */
static	ANTLR3_BITWORD FOLLOW_BOTH_SYMBOL_in_trim_function12263_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0080984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BOTH_SYMBOL_in_trim_function12263	= { FOLLOW_BOTH_SYMBOL_in_trim_function12263_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12265  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12265_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12265	= { FOLLOW_expression_in_trim_function12265_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function12268  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function12268_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function12268	= { FOLLOW_FROM_SYMBOL_in_trim_function12268_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function12270  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function12270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function12270	= { FOLLOW_expression_in_trim_function12270_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function12276  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function12276_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function12276	= { FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function12276_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBSTRING_SYMBOL_in_substring_function12285  */
static	ANTLR3_BITWORD FOLLOW_SUBSTRING_SYMBOL_in_substring_function12285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBSTRING_SYMBOL_in_substring_function12285	= { FOLLOW_SUBSTRING_SYMBOL_in_substring_function12285_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_substring_function12287  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_substring_function12287_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_substring_function12287	= { FOLLOW_OPEN_PAR_SYMBOL_in_substring_function12287_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function12289  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function12289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function12289	= { FOLLOW_expression_in_substring_function12289_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_substring_function12296  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_substring_function12296_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_substring_function12296	= { FOLLOW_COMMA_SYMBOL_in_substring_function12296_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function12298  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function12298_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function12298	= { FOLLOW_expression_in_substring_function12298_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_substring_function12301  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_substring_function12301_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_substring_function12301	= { FOLLOW_COMMA_SYMBOL_in_substring_function12301_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function12303  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function12303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function12303	= { FOLLOW_expression_in_substring_function12303_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_substring_function12311  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_substring_function12311_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_substring_function12311	= { FOLLOW_FROM_SYMBOL_in_substring_function12311_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function12313  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function12313_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function12313	= { FOLLOW_expression_in_substring_function12313_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_substring_function12316  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_substring_function12316_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_substring_function12316	= { FOLLOW_FOR_SYMBOL_in_substring_function12316_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function12318  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function12318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function12318	= { FOLLOW_expression_in_substring_function12318_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function12326  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function12326_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function12326	= { FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function12326_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTAINS_SYMBOL_in_geometry_function12336  */
static	ANTLR3_BITWORD FOLLOW_CONTAINS_SYMBOL_in_geometry_function12336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTAINS_SYMBOL_in_geometry_function12336	= { FOLLOW_CONTAINS_SYMBOL_in_geometry_function12336_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12338  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12338_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12338	= { FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12338_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function12340  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function12340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_geometry_function12340	= { FOLLOW_expression_in_geometry_function12340_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_geometry_function12342  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_geometry_function12342_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_geometry_function12342	= { FOLLOW_COMMA_SYMBOL_in_geometry_function12342_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function12344  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function12344_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_geometry_function12344	= { FOLLOW_expression_in_geometry_function12344_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12346  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12346_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12346	= { FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12346_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function12351  */
static	ANTLR3_BITWORD FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function12351_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function12351	= { FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function12351_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function12353  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function12353_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function12353	= { FOLLOW_expression_list_with_parentheses_in_geometry_function12353_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINESTRING_SYMBOL_in_geometry_function12358  */
static	ANTLR3_BITWORD FOLLOW_LINESTRING_SYMBOL_in_geometry_function12358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINESTRING_SYMBOL_in_geometry_function12358	= { FOLLOW_LINESTRING_SYMBOL_in_geometry_function12358_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function12360  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function12360_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function12360	= { FOLLOW_expression_list_with_parentheses_in_geometry_function12360_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function12365  */
static	ANTLR3_BITWORD FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function12365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function12365	= { FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function12365_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function12367  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function12367_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function12367	= { FOLLOW_expression_list_with_parentheses_in_geometry_function12367_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function12372  */
static	ANTLR3_BITWORD FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function12372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function12372	= { FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function12372_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function12374  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function12374_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function12374	= { FOLLOW_expression_list_with_parentheses_in_geometry_function12374_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function12379  */
static	ANTLR3_BITWORD FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function12379_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function12379	= { FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function12379_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function12381  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function12381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function12381	= { FOLLOW_expression_list_with_parentheses_in_geometry_function12381_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POINT_SYMBOL_in_geometry_function12386  */
static	ANTLR3_BITWORD FOLLOW_POINT_SYMBOL_in_geometry_function12386_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_POINT_SYMBOL_in_geometry_function12386	= { FOLLOW_POINT_SYMBOL_in_geometry_function12386_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12388  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12388_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12388	= { FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12388_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function12390  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function12390_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_geometry_function12390	= { FOLLOW_expression_in_geometry_function12390_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_geometry_function12392  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_geometry_function12392_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_geometry_function12392	= { FOLLOW_COMMA_SYMBOL_in_geometry_function12392_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function12394  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function12394_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_geometry_function12394	= { FOLLOW_expression_in_geometry_function12394_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12396  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12396	= { FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12396_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POLYGON_SYMBOL_in_geometry_function12401  */
static	ANTLR3_BITWORD FOLLOW_POLYGON_SYMBOL_in_geometry_function12401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_POLYGON_SYMBOL_in_geometry_function12401	= { FOLLOW_POLYGON_SYMBOL_in_geometry_function12401_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function12403  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function12403_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function12403	= { FOLLOW_expression_list_with_parentheses_in_geometry_function12403_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AVG_SYMBOL_in_aggregate_function12412  */
static	ANTLR3_BITWORD FOLLOW_AVG_SYMBOL_in_aggregate_function12412_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AVG_SYMBOL_in_aggregate_function12412	= { FOLLOW_AVG_SYMBOL_in_aggregate_function12412_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12414  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12414_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12414	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12414_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12416  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12416_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12416	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12416_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12419  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12419	= { FOLLOW_in_aggregate_expression_in_aggregate_function12419_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12421  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12421_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12421	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12421_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_AND_SYMBOL_in_aggregate_function12426  */
static	ANTLR3_BITWORD FOLLOW_BIT_AND_SYMBOL_in_aggregate_function12426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_AND_SYMBOL_in_aggregate_function12426	= { FOLLOW_BIT_AND_SYMBOL_in_aggregate_function12426_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12428  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12428_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12428	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12428_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12430  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12430	= { FOLLOW_in_aggregate_expression_in_aggregate_function12430_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12432  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12432_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12432	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12432_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_OR_SYMBOL_in_aggregate_function12437  */
static	ANTLR3_BITWORD FOLLOW_BIT_OR_SYMBOL_in_aggregate_function12437_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_OR_SYMBOL_in_aggregate_function12437	= { FOLLOW_BIT_OR_SYMBOL_in_aggregate_function12437_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12439  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12439_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12439	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12439_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12441  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12441	= { FOLLOW_in_aggregate_expression_in_aggregate_function12441_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12443  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12443_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12443	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12443_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function12448  */
static	ANTLR3_BITWORD FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function12448_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function12448	= { FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function12448_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12450  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12450_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12450	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12450_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12452  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12452_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12452	= { FOLLOW_in_aggregate_expression_in_aggregate_function12452_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12454  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12454	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12454_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_count_function_in_aggregate_function12459  */
static	ANTLR3_BITWORD FOLLOW_count_function_in_aggregate_function12459_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_count_function_in_aggregate_function12459	= { FOLLOW_count_function_in_aggregate_function12459_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_SYMBOL_in_aggregate_function12464  */
static	ANTLR3_BITWORD FOLLOW_MIN_SYMBOL_in_aggregate_function12464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_SYMBOL_in_aggregate_function12464	= { FOLLOW_MIN_SYMBOL_in_aggregate_function12464_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12466  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12466_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12466	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12466_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12468  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12468_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12468	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12468_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12471  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12471	= { FOLLOW_in_aggregate_expression_in_aggregate_function12471_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12473  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12473	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12473_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SYMBOL_in_aggregate_function12478  */
static	ANTLR3_BITWORD FOLLOW_MAX_SYMBOL_in_aggregate_function12478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SYMBOL_in_aggregate_function12478	= { FOLLOW_MAX_SYMBOL_in_aggregate_function12478_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12480  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12480_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12480	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12480_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12482  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12482_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12482	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12482_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12485  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12485	= { FOLLOW_in_aggregate_expression_in_aggregate_function12485_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12487  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12487	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12487_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STD_SYMBOL_in_aggregate_function12492  */
static	ANTLR3_BITWORD FOLLOW_STD_SYMBOL_in_aggregate_function12492_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STD_SYMBOL_in_aggregate_function12492	= { FOLLOW_STD_SYMBOL_in_aggregate_function12492_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12494  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12494_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12494	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12494_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12496  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12496	= { FOLLOW_in_aggregate_expression_in_aggregate_function12496_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12498  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12498	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12498_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIANCE_SYMBOL_in_aggregate_function12503  */
static	ANTLR3_BITWORD FOLLOW_VARIANCE_SYMBOL_in_aggregate_function12503_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VARIANCE_SYMBOL_in_aggregate_function12503	= { FOLLOW_VARIANCE_SYMBOL_in_aggregate_function12503_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12505  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12505_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12505	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12505_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12507  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12507	= { FOLLOW_in_aggregate_expression_in_aggregate_function12507_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12509  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12509_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12509	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12509_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function12514  */
static	ANTLR3_BITWORD FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function12514_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function12514	= { FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function12514_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12516  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12516_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12516	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12516_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12518  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12518_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12518	= { FOLLOW_in_aggregate_expression_in_aggregate_function12518_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12520  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12520	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12520_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function12525  */
static	ANTLR3_BITWORD FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function12525_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function12525	= { FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function12525_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12527  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12527_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12527	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12527_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12529  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12529	= { FOLLOW_in_aggregate_expression_in_aggregate_function12529_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12531  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12531	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12531_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUM_SYMBOL_in_aggregate_function12536  */
static	ANTLR3_BITWORD FOLLOW_SUM_SYMBOL_in_aggregate_function12536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUM_SYMBOL_in_aggregate_function12536	= { FOLLOW_SUM_SYMBOL_in_aggregate_function12536_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12538  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12538_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12538	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12538_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12540  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12540_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12540	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12540_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_aggregate_function12543  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_aggregate_function12543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_aggregate_function12543	= { FOLLOW_in_aggregate_expression_in_aggregate_function12543_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12545  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12545	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12545_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function12550  */
static	ANTLR3_BITWORD FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function12550_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function12550	= { FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function12550_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12552  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12552_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12552	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12552_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12554  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12554_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12554	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12554_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_aggregate_function12557  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_aggregate_function12557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_aggregate_function12557	= { FOLLOW_expression_list_in_aggregate_function12557_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_aggregate_function12559  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_aggregate_function12559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_aggregate_function12559	= { FOLLOW_order_by_clause_in_aggregate_function12559_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function12563  */
static	ANTLR3_BITWORD FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function12563_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function12563	= { FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function12563_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_aggregate_function12565  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_aggregate_function12565_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_aggregate_function12565	= { FOLLOW_text_string_in_aggregate_function12565_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12569  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12569	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_in_aggregate_expression12578  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_in_aggregate_expression12578_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_in_aggregate_expression12578	= { FOLLOW_ALL_SYMBOL_in_in_aggregate_expression12578_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_in_aggregate_expression12581  */
static	ANTLR3_BITWORD FOLLOW_expression_in_in_aggregate_expression12581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_in_aggregate_expression12581	= { FOLLOW_expression_in_in_aggregate_expression12581_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COUNT_SYMBOL_in_count_function12590  */
static	ANTLR3_BITWORD FOLLOW_COUNT_SYMBOL_in_count_function12590_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COUNT_SYMBOL_in_count_function12590	= { FOLLOW_COUNT_SYMBOL_in_count_function12590_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_count_function12592  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_count_function12592_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE013FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000820000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159128482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_count_function12592	= { FOLLOW_OPEN_PAR_SYMBOL_in_count_function12592_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_count_function12599  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_count_function12599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_count_function12599	= { FOLLOW_ALL_SYMBOL_in_count_function12599_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_count_function12602  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_count_function12602_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_count_function12602	= { FOLLOW_MULT_OPERATOR_in_count_function12602_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_aggregate_expression_in_count_function12608  */
static	ANTLR3_BITWORD FOLLOW_in_aggregate_expression_in_count_function12608_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_aggregate_expression_in_count_function12608	= { FOLLOW_in_aggregate_expression_in_count_function12608_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_count_function12614  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_count_function12614_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_count_function12614	= { FOLLOW_DISTINCT_SYMBOL_in_count_function12614_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_count_function12616  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_count_function12616_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_count_function12616	= { FOLLOW_expression_list_in_count_function12616_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_count_function12622  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_count_function12622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_count_function12622	= { FOLLOW_CLOSE_PAR_SYMBOL_in_count_function12622_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_call_expression_in_udf_call12631  */
static	ANTLR3_BITWORD FOLLOW_udf_call_expression_in_udf_call12631_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_call_expression_in_udf_call12631	= { FOLLOW_udf_call_expression_in_udf_call12631_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_udf_call_expression12648  */
static	ANTLR3_BITWORD FOLLOW_set_in_udf_call_expression12648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_udf_call_expression12648	= { FOLLOW_set_in_udf_call_expression12648_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_udf_call_expression12656  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_udf_call_expression12656_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600090C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_udf_call_expression12656	= { FOLLOW_OPEN_PAR_SYMBOL_in_udf_call_expression12656_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_list_in_udf_call_expression12658  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_list_in_udf_call_expression12658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_aliased_expression_list_in_udf_call_expression12658	= { FOLLOW_aliased_expression_list_in_udf_call_expression12658_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_udf_call_expression12661  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_udf_call_expression12661_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_udf_call_expression12661	= { FOLLOW_CLOSE_PAR_SYMBOL_in_udf_call_expression12661_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_stored_function_call_expression_in_stored_function_call12670  */
static	ANTLR3_BITWORD FOLLOW_stored_function_call_expression_in_stored_function_call12670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_stored_function_call_expression_in_stored_function_call12670	= { FOLLOW_stored_function_call_expression_in_stored_function_call12670_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_stored_function_call_expression12687  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_stored_function_call_expression12687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_stored_function_call_expression12687	= { FOLLOW_qualified_identifier_in_stored_function_call_expression12687_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_stored_function_call_expression12689  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_stored_function_call_expression12689_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600090C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_stored_function_call_expression12689	= { FOLLOW_OPEN_PAR_SYMBOL_in_stored_function_call_expression12689_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_stored_function_call_expression12691  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_stored_function_call_expression12691_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_stored_function_call_expression12691	= { FOLLOW_expression_list_in_stored_function_call_expression12691_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_stored_function_call_expression12694  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_stored_function_call_expression12694_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_stored_function_call_expression12694	= { FOLLOW_CLOSE_PAR_SYMBOL_in_stored_function_call_expression12694_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_in_aliased_expression_list12703  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_in_aliased_expression_list12703_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_aliased_expression_in_aliased_expression_list12703	= { FOLLOW_aliased_expression_in_aliased_expression_list12703_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_aliased_expression_list12706  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_aliased_expression_list12706_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_aliased_expression_list12706	= { FOLLOW_COMMA_SYMBOL_in_aliased_expression_list12706_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_in_aliased_expression_list12708  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_in_aliased_expression_list12708_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_aliased_expression_in_aliased_expression_list12708	= { FOLLOW_aliased_expression_in_aliased_expression_list12708_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aliased_expression12719  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aliased_expression12719_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x1003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aliased_expression12719	= { FOLLOW_expression_in_aliased_expression12719_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_alias_in_aliased_expression12721  */
static	ANTLR3_BITWORD FOLLOW_select_alias_in_aliased_expression12721_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_alias_in_aliased_expression12721	= { FOLLOW_select_alias_in_aliased_expression12721_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_variable12742  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_variable12742_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_variable12742	= { FOLLOW_user_variable_in_variable12742_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASSIGN_OPERATOR_in_variable12745  */
static	ANTLR3_BITWORD FOLLOW_ASSIGN_OPERATOR_in_variable12745_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ASSIGN_OPERATOR_in_variable12745	= { FOLLOW_ASSIGN_OPERATOR_in_variable12745_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable12748  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable12748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable12748	= { FOLLOW_expression_in_variable12748_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_system_variable_in_variable12755  */
static	ANTLR3_BITWORD FOLLOW_system_variable_in_variable12755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_system_variable_in_variable12755	= { FOLLOW_system_variable_in_variable12755_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_user_variable12765  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_user_variable12765_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_user_variable12765	= { FOLLOW_AT_SIGN_SYMBOL_in_user_variable12765_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user_variable12767  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user_variable12767_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user_variable12767	= { FOLLOW_text_or_identifier_in_user_variable12767_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_TEXT_SUFFIX_in_user_variable12781  */
static	ANTLR3_BITWORD FOLLOW_AT_TEXT_SUFFIX_in_user_variable12781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_TEXT_SUFFIX_in_user_variable12781	= { FOLLOW_AT_TEXT_SUFFIX_in_user_variable12781_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable12791  */
static	ANTLR3_BITWORD FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable12791_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable12791	= { FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable12791_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_system_variable12807  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_system_variable12807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_system_variable12807	= { FOLLOW_option_type_in_system_variable12807_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_system_variable12809  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_system_variable12809_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_system_variable12809	= { FOLLOW_DOT_SYMBOL_in_system_variable12809_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_system_variable12813  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_system_variable12813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_system_variable12813	= { FOLLOW_variable_name_in_system_variable12813_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name12822  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name12822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name12822	= { FOLLOW_identifier_in_variable_name12822_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_variable_name12825  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_variable_name12825_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_variable_name12825	= { FOLLOW_DOT_SYMBOL_in_variable_name12825_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name12827  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name12827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name12827	= { FOLLOW_identifier_in_variable_name12827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_variable_name12838  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_variable_name12838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_variable_name12838	= { FOLLOW_DEFAULT_SYMBOL_in_variable_name12838_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_variable_name12840  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_variable_name12840_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_variable_name12840	= { FOLLOW_DOT_SYMBOL_in_variable_name12840_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name12842  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name12842_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name12842	= { FOLLOW_identifier_in_variable_name12842_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MATCH_SYMBOL_in_match_expression12851  */
static	ANTLR3_BITWORD FOLLOW_MATCH_SYMBOL_in_match_expression12851_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MATCH_SYMBOL_in_match_expression12851	= { FOLLOW_MATCH_SYMBOL_in_match_expression12851_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12854  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12854_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12854	= { FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12854_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_list_in_match_expression12856  */
static	ANTLR3_BITWORD FOLLOW_field_name_list_in_match_expression12856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_list_in_match_expression12856	= { FOLLOW_field_name_list_in_match_expression12856_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12858  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12858_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12858	= { FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12858_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AGAINST_SYMBOL_in_match_expression12860  */
static	ANTLR3_BITWORD FOLLOW_AGAINST_SYMBOL_in_match_expression12860_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AGAINST_SYMBOL_in_match_expression12860	= { FOLLOW_AGAINST_SYMBOL_in_match_expression12860_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12862  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12862_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C151108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12862	= { FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12862_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_match_expression12864  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_match_expression12864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_match_expression12864	= { FOLLOW_bitwise_or_expression_in_match_expression12864_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_match_expression12873  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_match_expression12873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_match_expression12873	= { FOLLOW_IN_SYMBOL_in_match_expression12873_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOLEAN_SYMBOL_in_match_expression12875  */
static	ANTLR3_BITWORD FOLLOW_BOOLEAN_SYMBOL_in_match_expression12875_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOLEAN_SYMBOL_in_match_expression12875	= { FOLLOW_BOOLEAN_SYMBOL_in_match_expression12875_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_match_expression12877  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_match_expression12877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_match_expression12877	= { FOLLOW_MODE_SYMBOL_in_match_expression12877_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_match_expression12885  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_match_expression12885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_match_expression12885	= { FOLLOW_IN_SYMBOL_in_match_expression12885_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATURAL_SYMBOL_in_match_expression12887  */
static	ANTLR3_BITWORD FOLLOW_NATURAL_SYMBOL_in_match_expression12887_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATURAL_SYMBOL_in_match_expression12887	= { FOLLOW_NATURAL_SYMBOL_in_match_expression12887_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LANGUAGE_SYMBOL_in_match_expression12889  */
static	ANTLR3_BITWORD FOLLOW_LANGUAGE_SYMBOL_in_match_expression12889_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_LANGUAGE_SYMBOL_in_match_expression12889	= { FOLLOW_LANGUAGE_SYMBOL_in_match_expression12889_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_match_expression12891  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_match_expression12891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_match_expression12891	= { FOLLOW_MODE_SYMBOL_in_match_expression12891_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_match_expression12896  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_match_expression12896_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_match_expression12896	= { FOLLOW_WITH_SYMBOL_in_match_expression12896_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_match_expression12898  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_match_expression12898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_match_expression12898	= { FOLLOW_QUERY_SYMBOL_in_match_expression12898_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPANSION_SYMBOL_in_match_expression12900  */
static	ANTLR3_BITWORD FOLLOW_EXPANSION_SYMBOL_in_match_expression12900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPANSION_SYMBOL_in_match_expression12900	= { FOLLOW_EXPANSION_SYMBOL_in_match_expression12900_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12910  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12910_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12910	= { FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12910_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_expression12920  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_expression12920_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000809) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_expression12920	= { FOLLOW_CASE_SYMBOL_in_case_expression12920_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_case_expression12922  */
static	ANTLR3_BITWORD FOLLOW_expression_in_case_expression12922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_case_expression12922	= { FOLLOW_expression_in_case_expression12922_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_when_expression_in_case_expression12926  */
static	ANTLR3_BITWORD FOLLOW_when_expression_in_case_expression12926_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_when_expression_in_case_expression12926	= { FOLLOW_when_expression_in_case_expression12926_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_expression_in_case_expression12928  */
static	ANTLR3_BITWORD FOLLOW_then_expression_in_case_expression12928_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_then_expression_in_case_expression12928	= { FOLLOW_then_expression_in_case_expression12928_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_else_expression_in_case_expression12932  */
static	ANTLR3_BITWORD FOLLOW_else_expression_in_case_expression12932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_else_expression_in_case_expression12932	= { FOLLOW_else_expression_in_case_expression12932_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_case_expression12935  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_case_expression12935_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_case_expression12935	= { FOLLOW_END_SYMBOL_in_case_expression12935_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHEN_SYMBOL_in_when_expression12944  */
static	ANTLR3_BITWORD FOLLOW_WHEN_SYMBOL_in_when_expression12944_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_WHEN_SYMBOL_in_when_expression12944	= { FOLLOW_WHEN_SYMBOL_in_when_expression12944_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_when_expression12947  */
static	ANTLR3_BITWORD FOLLOW_expression_in_when_expression12947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_when_expression12947	= { FOLLOW_expression_in_when_expression12947_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THEN_SYMBOL_in_then_expression12956  */
static	ANTLR3_BITWORD FOLLOW_THEN_SYMBOL_in_then_expression12956_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_THEN_SYMBOL_in_then_expression12956	= { FOLLOW_THEN_SYMBOL_in_then_expression12956_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_then_expression12959  */
static	ANTLR3_BITWORD FOLLOW_expression_in_then_expression12959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_then_expression12959	= { FOLLOW_expression_in_then_expression12959_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_else_expression12968  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_else_expression12968_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_else_expression12968	= { FOLLOW_ELSE_SYMBOL_in_else_expression12968_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_else_expression12971  */
static	ANTLR3_BITWORD FOLLOW_expression_in_else_expression12971_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_else_expression12971	= { FOLLOW_expression_in_else_expression12971_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_cast_expression12980  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_cast_expression12980_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E1A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x0000800002080C31), ANTLR3_UINT64_LIT(0x200C150108402800), ANTLR3_UINT64_LIT(0x0008000004180002), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_cast_expression12980	= { FOLLOW_BINARY_SYMBOL_in_cast_expression12980_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_cast_expression12982  */
static	ANTLR3_BITWORD FOLLOW_primary_in_cast_expression12982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_cast_expression12982	= { FOLLOW_primary_in_cast_expression12982_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CAST_SYMBOL_in_cast_expression12987  */
static	ANTLR3_BITWORD FOLLOW_CAST_SYMBOL_in_cast_expression12987_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CAST_SYMBOL_in_cast_expression12987	= { FOLLOW_CAST_SYMBOL_in_cast_expression12987_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression12989  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression12989_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression12989	= { FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression12989_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_cast_expression12991  */
static	ANTLR3_BITWORD FOLLOW_expression_in_cast_expression12991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_cast_expression12991	= { FOLLOW_expression_in_cast_expression12991_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_cast_expression12993  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_cast_expression12993_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000180000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000010000020), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_cast_expression12993	= { FOLLOW_AS_SYMBOL_in_cast_expression12993_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_type_in_cast_expression12995  */
static	ANTLR3_BITWORD FOLLOW_cast_type_in_cast_expression12995_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_cast_type_in_cast_expression12995	= { FOLLOW_cast_type_in_cast_expression12995_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression12997  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression12997_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression12997	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression12997_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_cast_expression13002  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_cast_expression13002_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONVERT_SYMBOL_in_cast_expression13002	= { FOLLOW_CONVERT_SYMBOL_in_cast_expression13002_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression13004  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression13004_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression13004	= { FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression13004_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_cast_expression13006  */
static	ANTLR3_BITWORD FOLLOW_expression_in_cast_expression13006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_cast_expression13006	= { FOLLOW_expression_in_cast_expression13006_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_cast_expression13009  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_cast_expression13009_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000180000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000010000020), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_cast_expression13009	= { FOLLOW_COMMA_SYMBOL_in_cast_expression13009_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_type_in_cast_expression13011  */
static	ANTLR3_BITWORD FOLLOW_cast_type_in_cast_expression13011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_cast_type_in_cast_expression13011	= { FOLLOW_cast_type_in_cast_expression13011_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_cast_expression13015  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_cast_expression13015_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_cast_expression13015	= { FOLLOW_USING_SYMBOL_in_cast_expression13015_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_cast_expression13017  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_cast_expression13017_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_cast_expression13017	= { FOLLOW_charset_name_in_cast_expression13017_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression13020  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression13020_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression13020	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression13020_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_cast_type13029  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_cast_type13029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_cast_type13029	= { FOLLOW_BINARY_SYMBOL_in_cast_type13029_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type13031  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type13031_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type13031	= { FOLLOW_field_length_in_cast_type13031_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_cast_type13037  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_cast_type13037_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_cast_type13037	= { FOLLOW_CHAR_SYMBOL_in_cast_type13037_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type13039  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type13039_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type13039	= { FOLLOW_field_length_in_cast_type13039_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_encoding_in_cast_type13042  */
static	ANTLR3_BITWORD FOLLOW_encoding_in_cast_type13042_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_encoding_in_cast_type13042	= { FOLLOW_encoding_in_cast_type13042_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_cast_type13048  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_cast_type13048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_cast_type13048	= { FOLLOW_NCHAR_SYMBOL_in_cast_type13048_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type13050  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type13050_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type13050	= { FOLLOW_field_length_in_cast_type13050_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SIGNED_SYMBOL_in_cast_type13056  */
static	ANTLR3_BITWORD FOLLOW_SIGNED_SYMBOL_in_cast_type13056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SIGNED_SYMBOL_in_cast_type13056	= { FOLLOW_SIGNED_SYMBOL_in_cast_type13056_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_SYMBOL_in_cast_type13058  */
static	ANTLR3_BITWORD FOLLOW_INT_SYMBOL_in_cast_type13058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INT_SYMBOL_in_cast_type13058	= { FOLLOW_INT_SYMBOL_in_cast_type13058_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNSIGNED_SYMBOL_in_cast_type13064  */
static	ANTLR3_BITWORD FOLLOW_UNSIGNED_SYMBOL_in_cast_type13064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNSIGNED_SYMBOL_in_cast_type13064	= { FOLLOW_UNSIGNED_SYMBOL_in_cast_type13064_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_SYMBOL_in_cast_type13066  */
static	ANTLR3_BITWORD FOLLOW_INT_SYMBOL_in_cast_type13066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INT_SYMBOL_in_cast_type13066	= { FOLLOW_INT_SYMBOL_in_cast_type13066_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_cast_type13072  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_cast_type13072_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_cast_type13072	= { FOLLOW_DATE_SYMBOL_in_cast_type13072_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_cast_type13077  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_cast_type13077_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_cast_type13077	= { FOLLOW_TIME_SYMBOL_in_cast_type13077_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_cast_type13079  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_cast_type13079_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_cast_type13079	= { FOLLOW_type_datetime_precision_in_cast_type13079_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATETIME_SYMBOL_in_cast_type13085  */
static	ANTLR3_BITWORD FOLLOW_DATETIME_SYMBOL_in_cast_type13085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATETIME_SYMBOL_in_cast_type13085	= { FOLLOW_DATETIME_SYMBOL_in_cast_type13085_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_cast_type13087  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_cast_type13087_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_cast_type13087	= { FOLLOW_type_datetime_precision_in_cast_type13087_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECIMAL_SYMBOL_in_cast_type13093  */
static	ANTLR3_BITWORD FOLLOW_DECIMAL_SYMBOL_in_cast_type13093_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DECIMAL_SYMBOL_in_cast_type13093	= { FOLLOW_DECIMAL_SYMBOL_in_cast_type13093_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_cast_type13095  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_cast_type13095_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_cast_type13095	= { FOLLOW_float_options_in_cast_type13095_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_encoding13105  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_encoding13105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_encoding13105	= { FOLLOW_ASCII_SYMBOL_in_encoding13105_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding13107  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding13107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding13107	= { FOLLOW_BINARY_SYMBOL_in_encoding13107_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding13113  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding13113_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000212), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding13113	= { FOLLOW_BINARY_SYMBOL_in_encoding13113_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_encoding13116  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_encoding13116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_encoding13116	= { FOLLOW_ASCII_SYMBOL_in_encoding13116_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_encoding13120  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_encoding13120_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_encoding13120	= { FOLLOW_UNICODE_SYMBOL_in_encoding13120_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_encoding13124  */
static	ANTLR3_BITWORD FOLLOW_charset_in_encoding13124_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_encoding13124	= { FOLLOW_charset_in_encoding13124_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_encoding13126  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_encoding13126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_encoding13126	= { FOLLOW_charset_name_in_encoding13126_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_encoding13133  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_encoding13133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_encoding13133	= { FOLLOW_UNICODE_SYMBOL_in_encoding13133_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding13135  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding13135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding13135	= { FOLLOW_BINARY_SYMBOL_in_encoding13135_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BYTE_SYMBOL_in_encoding13141  */
static	ANTLR3_BITWORD FOLLOW_BYTE_SYMBOL_in_encoding13141_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BYTE_SYMBOL_in_encoding13141	= { FOLLOW_BYTE_SYMBOL_in_encoding13141_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_encoding13146  */
static	ANTLR3_BITWORD FOLLOW_charset_in_encoding13146_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_encoding13146	= { FOLLOW_charset_in_encoding13146_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_encoding13148  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_encoding13148_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_encoding13148	= { FOLLOW_charset_name_in_encoding13148_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding13150  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding13150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding13150	= { FOLLOW_BINARY_SYMBOL_in_encoding13150_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_charset13160  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_charset13160_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_charset13160	= { FOLLOW_CHAR_SYMBOL_in_charset13160_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_charset13162  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_charset13162_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_charset13162	= { FOLLOW_SET_SYMBOL_in_charset13162_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_charset13166  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_charset13166_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_charset13166	= { FOLLOW_CHARSET_SYMBOL_in_charset13166_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval13247  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval13247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x00000000008A0000), ANTLR3_UINT64_LIT(0x0000010000000004), ANTLR3_UINT64_LIT(0x0002080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x004000000000000F), ANTLR3_UINT64_LIT(0x0000000000000380), ANTLR3_UINT64_LIT(0x0000000000300000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_interval13247	= { FOLLOW_expression_in_interval13247_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_unit_in_interval13249  */
static	ANTLR3_BITWORD FOLLOW_interval_unit_in_interval13249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_unit_in_interval13249	= { FOLLOW_interval_unit_in_interval13249_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_timestamp_unit_in_interval_unit13259  */
static	ANTLR3_BITWORD FOLLOW_interval_timestamp_unit_in_interval_unit13259_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_timestamp_unit_in_interval_unit13259	= { FOLLOW_interval_timestamp_unit_in_interval_unit13259_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit13264  */
static	ANTLR3_BITWORD FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit13264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit13264	= { FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit13264_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit13269  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit13269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit13269	= { FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit13269_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit13274  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit13274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit13274	= { FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit13274_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit13279  */
static	ANTLR3_BITWORD FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit13279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit13279	= { FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit13279_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit13284  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit13284_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit13284	= { FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit13284_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit13289  */
static	ANTLR3_BITWORD FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit13289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit13289	= { FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit13289_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit13294  */
static	ANTLR3_BITWORD FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit13294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit13294	= { FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit13294_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit13299  */
static	ANTLR3_BITWORD FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit13299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit13299	= { FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit13299_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit13304  */
static	ANTLR3_BITWORD FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit13304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit13304	= { FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit13304_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit13309  */
static	ANTLR3_BITWORD FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit13309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit13309	= { FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit13309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit13314  */
static	ANTLR3_BITWORD FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit13314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit13314	= { FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit13314_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit13324  */
static	ANTLR3_BITWORD FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit13324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit13324	= { FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit13324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit13333  */
static	ANTLR3_BITWORD FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit13333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit13333	= { FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit13333_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit13338  */
static	ANTLR3_BITWORD FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit13338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit13338	= { FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit13338_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit13343  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit13343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit13343	= { FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit13343_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit13348  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit13348_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit13348	= { FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit13348_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit13353  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit13353_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit13353	= { FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit13353_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit13361  */
static	ANTLR3_BITWORD FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit13361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit13361	= { FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit13361_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit13366  */
static	ANTLR3_BITWORD FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit13366_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit13366	= { FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit13366_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit13371  */
static	ANTLR3_BITWORD FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit13371_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit13371	= { FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit13371_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit13376  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit13376_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit13376	= { FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit13376_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses13385  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses13385_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses13385	= { FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses13385_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_expression_list_with_parentheses13387  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_expression_list_with_parentheses13387_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_expression_list_with_parentheses13387	= { FOLLOW_expression_list_in_expression_list_with_parentheses13387_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses13389  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses13389_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses13389	= { FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses13389_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list13410  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list13410_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list13410	= { FOLLOW_expression_in_expression_list13410_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_list13413  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_list13413_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_list13413	= { FOLLOW_COMMA_SYMBOL_in_expression_list13413_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list13415  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list13415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list13415	= { FOLLOW_expression_in_expression_list13415_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list_with_direction13426  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list_with_direction13426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list_with_direction13426	= { FOLLOW_expression_in_expression_list_with_direction13426_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_expression_list_with_direction13428  */
static	ANTLR3_BITWORD FOLLOW_direction_in_expression_list_with_direction13428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_expression_list_with_direction13428	= { FOLLOW_direction_in_expression_list_with_direction13428_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction13445  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction13445_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction13445	= { FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction13445_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list_with_direction13447  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list_with_direction13447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list_with_direction13447	= { FOLLOW_expression_in_expression_list_with_direction13447_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_expression_list_with_direction13449  */
static	ANTLR3_BITWORD FOLLOW_direction_in_expression_list_with_direction13449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_expression_list_with_direction13449	= { FOLLOW_direction_in_expression_list_with_direction13449_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_channel13465  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_channel13465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_channel13465	= { FOLLOW_FROM_SYMBOL_in_channel13465_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANNEL_SYMBOL_in_channel13467  */
static	ANTLR3_BITWORD FOLLOW_CHANNEL_SYMBOL_in_channel13467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANNEL_SYMBOL_in_channel13467	= { FOLLOW_CHANNEL_SYMBOL_in_channel13467_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_no_linebreak_in_channel13469  */
static	ANTLR3_BITWORD FOLLOW_string_literal_no_linebreak_in_channel13469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_no_linebreak_in_channel13469	= { FOLLOW_string_literal_no_linebreak_in_channel13469_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_in_compound_statement13481  */
static	ANTLR3_BITWORD FOLLOW_label_in_compound_statement13481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_label_in_compound_statement13481	= { FOLLOW_label_in_compound_statement13481_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_begin_end_block_in_compound_statement13493  */
static	ANTLR3_BITWORD FOLLOW_begin_end_block_in_compound_statement13493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_begin_end_block_in_compound_statement13493	= { FOLLOW_begin_end_block_in_compound_statement13493_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_loop_block_in_compound_statement13500  */
static	ANTLR3_BITWORD FOLLOW_loop_block_in_compound_statement13500_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_loop_block_in_compound_statement13500	= { FOLLOW_loop_block_in_compound_statement13500_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repeat_until_block_in_compound_statement13507  */
static	ANTLR3_BITWORD FOLLOW_repeat_until_block_in_compound_statement13507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_repeat_until_block_in_compound_statement13507	= { FOLLOW_repeat_until_block_in_compound_statement13507_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_while_do_block_in_compound_statement13514  */
static	ANTLR3_BITWORD FOLLOW_while_do_block_in_compound_statement13514_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_while_do_block_in_compound_statement13514	= { FOLLOW_while_do_block_in_compound_statement13514_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_case_statement_in_compound_statement13523  */
static	ANTLR3_BITWORD FOLLOW_case_statement_in_compound_statement13523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_case_statement_in_compound_statement13523	= { FOLLOW_case_statement_in_compound_statement13523_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_statement_in_compound_statement13528  */
static	ANTLR3_BITWORD FOLLOW_if_statement_in_compound_statement13528_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_if_statement_in_compound_statement13528	= { FOLLOW_if_statement_in_compound_statement13528_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_iterate_statement_in_compound_statement13533  */
static	ANTLR3_BITWORD FOLLOW_iterate_statement_in_compound_statement13533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_iterate_statement_in_compound_statement13533	= { FOLLOW_iterate_statement_in_compound_statement13533_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_leave_statement_in_compound_statement13538  */
static	ANTLR3_BITWORD FOLLOW_leave_statement_in_compound_statement13538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_leave_statement_in_compound_statement13538	= { FOLLOW_leave_statement_in_compound_statement13538_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_return_statement_in_compound_statement13543  */
static	ANTLR3_BITWORD FOLLOW_return_statement_in_compound_statement13543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_return_statement_in_compound_statement13543	= { FOLLOW_return_statement_in_compound_statement13543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_open_in_compound_statement13550  */
static	ANTLR3_BITWORD FOLLOW_cursor_open_in_compound_statement13550_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_open_in_compound_statement13550	= { FOLLOW_cursor_open_in_compound_statement13550_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_fetch_in_compound_statement13555  */
static	ANTLR3_BITWORD FOLLOW_cursor_fetch_in_compound_statement13555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_fetch_in_compound_statement13555	= { FOLLOW_cursor_fetch_in_compound_statement13555_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_close_in_compound_statement13560  */
static	ANTLR3_BITWORD FOLLOW_cursor_close_in_compound_statement13560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_close_in_compound_statement13560	= { FOLLOW_cursor_close_in_compound_statement13560_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_in_compound_statement13567  */
static	ANTLR3_BITWORD FOLLOW_statement_in_compound_statement13567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_in_compound_statement13567	= { FOLLOW_statement_in_compound_statement13567_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_get_diagnostics_in_compound_statement13576  */
static	ANTLR3_BITWORD FOLLOW_get_diagnostics_in_compound_statement13576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_get_diagnostics_in_compound_statement13576	= { FOLLOW_get_diagnostics_in_compound_statement13576_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_statement_in_compound_statement13585  */
static	ANTLR3_BITWORD FOLLOW_signal_statement_in_compound_statement13585_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_statement_in_compound_statement13585	= { FOLLOW_signal_statement_in_compound_statement13585_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_resignal_statement_in_compound_statement13594  */
static	ANTLR3_BITWORD FOLLOW_resignal_statement_in_compound_statement13594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_resignal_statement_in_compound_statement13594	= { FOLLOW_resignal_statement_in_compound_statement13594_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_compound_statement_list13604  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_compound_statement_list13604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_compound_statement_list13604	= { FOLLOW_compound_statement_in_compound_statement_list13604_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list13606  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list13606_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD62), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list13606	= { FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list13606_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_label13619  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_label13619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_label13619	= { FOLLOW_label_identifier_in_label13619_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLON_SYMBOL_in_label13621  */
static	ANTLR3_BITWORD FOLLOW_COLON_SYMBOL_in_label13621_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_COLON_SYMBOL_in_label13621	= { FOLLOW_COLON_SYMBOL_in_label13621_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_label_identifier13640  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_label_identifier13640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_label_identifier13640	= { FOLLOW_pure_identifier_in_label_identifier13640_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_sp_in_label_identifier13644  */
static	ANTLR3_BITWORD FOLLOW_keyword_sp_in_label_identifier13644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_sp_in_label_identifier13644	= { FOLLOW_keyword_sp_in_label_identifier13644_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEGIN_SYMBOL_in_begin_end_block13654  */
static	ANTLR3_BITWORD FOLLOW_BEGIN_SYMBOL_in_begin_end_block13654_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CFAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C40), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_BEGIN_SYMBOL_in_begin_end_block13654	= { FOLLOW_BEGIN_SYMBOL_in_begin_end_block13654_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_declarations_in_begin_end_block13657  */
static	ANTLR3_BITWORD FOLLOW_declarations_in_begin_end_block13657_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CFAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_declarations_in_begin_end_block13657	= { FOLLOW_declarations_in_begin_end_block13657_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_begin_end_block13659  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_begin_end_block13659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_begin_end_block13659	= { FOLLOW_compound_statement_list_in_begin_end_block13659_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_begin_end_block13662  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_begin_end_block13662_bits[]	= { ANTLR3_UINT64_LIT(0xFF00000000000002), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_begin_end_block13662	= { FOLLOW_END_SYMBOL_in_begin_end_block13662_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_begin_end_block13664  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_begin_end_block13664_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_begin_end_block13664	= { FOLLOW_label_identifier_in_begin_end_block13664_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOOP_SYMBOL_in_loop_block13674  */
static	ANTLR3_BITWORD FOLLOW_LOOP_SYMBOL_in_loop_block13674_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOOP_SYMBOL_in_loop_block13674	= { FOLLOW_LOOP_SYMBOL_in_loop_block13674_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_loop_block13677  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_loop_block13677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_loop_block13677	= { FOLLOW_compound_statement_list_in_loop_block13677_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_loop_block13679  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_loop_block13679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_loop_block13679	= { FOLLOW_END_SYMBOL_in_loop_block13679_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOOP_SYMBOL_in_loop_block13681  */
static	ANTLR3_BITWORD FOLLOW_LOOP_SYMBOL_in_loop_block13681_bits[]	= { ANTLR3_UINT64_LIT(0xFF00000000000002), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_LOOP_SYMBOL_in_loop_block13681	= { FOLLOW_LOOP_SYMBOL_in_loop_block13681_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_loop_block13683  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_loop_block13683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_loop_block13683	= { FOLLOW_label_identifier_in_loop_block13683_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13693  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13693_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13693	= { FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13693_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_repeat_until_block13696  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_repeat_until_block13696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_repeat_until_block13696	= { FOLLOW_compound_statement_list_in_repeat_until_block13696_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNTIL_SYMBOL_in_repeat_until_block13698  */
static	ANTLR3_BITWORD FOLLOW_UNTIL_SYMBOL_in_repeat_until_block13698_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_UNTIL_SYMBOL_in_repeat_until_block13698	= { FOLLOW_UNTIL_SYMBOL_in_repeat_until_block13698_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_repeat_until_block13700  */
static	ANTLR3_BITWORD FOLLOW_expression_in_repeat_until_block13700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_repeat_until_block13700	= { FOLLOW_expression_in_repeat_until_block13700_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_repeat_until_block13702  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_repeat_until_block13702_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_repeat_until_block13702	= { FOLLOW_END_SYMBOL_in_repeat_until_block13702_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13704  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13704_bits[]	= { ANTLR3_UINT64_LIT(0xFF00000000000002), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13704	= { FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13704_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_repeat_until_block13706  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_repeat_until_block13706_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_repeat_until_block13706	= { FOLLOW_label_identifier_in_repeat_until_block13706_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHILE_SYMBOL_in_while_do_block13716  */
static	ANTLR3_BITWORD FOLLOW_WHILE_SYMBOL_in_while_do_block13716_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_WHILE_SYMBOL_in_while_do_block13716	= { FOLLOW_WHILE_SYMBOL_in_while_do_block13716_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_while_do_block13719  */
static	ANTLR3_BITWORD FOLLOW_expression_in_while_do_block13719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_while_do_block13719	= { FOLLOW_expression_in_while_do_block13719_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_while_do_block13721  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_while_do_block13721_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_while_do_block13721	= { FOLLOW_DO_SYMBOL_in_while_do_block13721_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_while_do_block13723  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_while_do_block13723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_while_do_block13723	= { FOLLOW_compound_statement_list_in_while_do_block13723_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_while_do_block13725  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_while_do_block13725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_while_do_block13725	= { FOLLOW_END_SYMBOL_in_while_do_block13725_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHILE_SYMBOL_in_while_do_block13727  */
static	ANTLR3_BITWORD FOLLOW_WHILE_SYMBOL_in_while_do_block13727_bits[]	= { ANTLR3_UINT64_LIT(0xFF00000000000002), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_WHILE_SYMBOL_in_while_do_block13727	= { FOLLOW_WHILE_SYMBOL_in_while_do_block13727_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_while_do_block13729  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_while_do_block13729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_while_do_block13729	= { FOLLOW_label_identifier_in_while_do_block13729_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_declarations13754  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_declarations13754_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_declarations13754	= { FOLLOW_DECLARE_SYMBOL_in_declarations13754_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_declarations13756  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_declarations13756_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800180000000680), ANTLR3_UINT64_LIT(0x00000800000D0000), ANTLR3_UINT64_LIT(0x0300020187000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000001220000), ANTLR3_UINT64_LIT(0x0000048010010030), ANTLR3_UINT64_LIT(0x0004000001000020), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x000020000001C058), ANTLR3_UINT64_LIT(0x0020080000004000), ANTLR3_UINT64_LIT(0xA000000380000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_declarations13756	= { FOLLOW_identifier_in_declarations13756_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_declaration_in_declarations13759  */
static	ANTLR3_BITWORD FOLLOW_variable_declaration_in_declarations13759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_declaration_in_declarations13759	= { FOLLOW_variable_declaration_in_declarations13759_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_declaration_in_declarations13763  */
static	ANTLR3_BITWORD FOLLOW_condition_declaration_in_declarations13763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_declaration_in_declarations13763	= { FOLLOW_condition_declaration_in_declarations13763_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_declaration_in_declarations13770  */
static	ANTLR3_BITWORD FOLLOW_cursor_declaration_in_declarations13770_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_declaration_in_declarations13770	= { FOLLOW_cursor_declaration_in_declarations13770_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_declaration_in_declarations13773  */
static	ANTLR3_BITWORD FOLLOW_handler_declaration_in_declarations13773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_declaration_in_declarations13773	= { FOLLOW_handler_declaration_in_declarations13773_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_variable_declaration13784  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_variable_declaration13784_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_variable_declaration13784	= { FOLLOW_COMMA_SYMBOL_in_variable_declaration13784_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_declaration13786  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_declaration13786_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800180000000680), ANTLR3_UINT64_LIT(0x00000800000D0000), ANTLR3_UINT64_LIT(0x0300020187000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000001220000), ANTLR3_UINT64_LIT(0x0000008010010030), ANTLR3_UINT64_LIT(0x0004000001000020), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x000020000001C058), ANTLR3_UINT64_LIT(0x0020080000004000), ANTLR3_UINT64_LIT(0xA000000380000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_declaration13786	= { FOLLOW_identifier_in_variable_declaration13786_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_variable_declaration13790  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_variable_declaration13790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_variable_declaration13790	= { FOLLOW_data_type_in_variable_declaration13790_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_variable_declaration13793  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_variable_declaration13793_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_variable_declaration13793	= { FOLLOW_DEFAULT_SYMBOL_in_variable_declaration13793_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_declaration13795  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_declaration13795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable_declaration13795	= { FOLLOW_expression_in_variable_declaration13795_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration13799  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration13799_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration13799	= { FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration13799_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONDITION_SYMBOL_in_condition_declaration13808  */
static	ANTLR3_BITWORD FOLLOW_CONDITION_SYMBOL_in_condition_declaration13808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONDITION_SYMBOL_in_condition_declaration13808	= { FOLLOW_CONDITION_SYMBOL_in_condition_declaration13808_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_condition_declaration13810  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_condition_declaration13810_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_condition_declaration13810	= { FOLLOW_FOR_SYMBOL_in_condition_declaration13810_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_condition_declaration13813  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_condition_declaration13813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_condition_declaration13813	= { FOLLOW_INTEGER_in_condition_declaration13813_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration13817  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration13817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration13817	= { FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration13817_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_condition_declaration13819  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_condition_declaration13819_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_condition_declaration13819	= { FOLLOW_VALUE_SYMBOL_in_condition_declaration13819_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_condition_declaration13822  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_condition_declaration13822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_condition_declaration13822	= { FOLLOW_string_literal_in_condition_declaration13822_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration13825  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration13825_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration13825	= { FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration13825_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_cursor_declaration13834  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_cursor_declaration13834_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_cursor_declaration13834	= { FOLLOW_DECLARE_SYMBOL_in_cursor_declaration13834_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_declaration13836  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_declaration13836_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_declaration13836	= { FOLLOW_identifier_in_cursor_declaration13836_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURSOR_SYMBOL_in_cursor_declaration13838  */
static	ANTLR3_BITWORD FOLLOW_CURSOR_SYMBOL_in_cursor_declaration13838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURSOR_SYMBOL_in_cursor_declaration13838	= { FOLLOW_CURSOR_SYMBOL_in_cursor_declaration13838_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_cursor_declaration13840  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_cursor_declaration13840_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_cursor_declaration13840	= { FOLLOW_FOR_SYMBOL_in_cursor_declaration13840_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_cursor_declaration13842  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_cursor_declaration13842_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_cursor_declaration13842	= { FOLLOW_select_statement_in_cursor_declaration13842_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration13844  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration13844_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration13844	= { FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration13844_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_handler_declaration13853  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_handler_declaration13853_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_handler_declaration13853	= { FOLLOW_DECLARE_SYMBOL_in_handler_declaration13853_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_declaration13855  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_declaration13855_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_declaration13855	= { FOLLOW_set_in_handler_declaration13855_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HANDLER_SYMBOL_in_handler_declaration13867  */
static	ANTLR3_BITWORD FOLLOW_HANDLER_SYMBOL_in_handler_declaration13867_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HANDLER_SYMBOL_in_handler_declaration13867	= { FOLLOW_HANDLER_SYMBOL_in_handler_declaration13867_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_handler_declaration13871  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_handler_declaration13871_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000002000400), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0700000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_handler_declaration13871	= { FOLLOW_FOR_SYMBOL_in_handler_declaration13871_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_condition_in_handler_declaration13873  */
static	ANTLR3_BITWORD FOLLOW_handler_condition_in_handler_declaration13873_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001008022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_condition_in_handler_declaration13873	= { FOLLOW_handler_condition_in_handler_declaration13873_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_handler_declaration13876  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_handler_declaration13876_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000002000400), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0700000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_handler_declaration13876	= { FOLLOW_COMMA_SYMBOL_in_handler_declaration13876_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_condition_in_handler_declaration13878  */
static	ANTLR3_BITWORD FOLLOW_handler_condition_in_handler_declaration13878_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001008022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_condition_in_handler_declaration13878	= { FOLLOW_handler_condition_in_handler_declaration13878_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_handler_declaration13882  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_handler_declaration13882_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_handler_declaration13882	= { FOLLOW_compound_statement_in_handler_declaration13882_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration13884  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration13884_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration13884	= { FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration13884_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_handler_condition13893  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_handler_condition13893_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_handler_condition13893	= { FOLLOW_INTEGER_in_handler_condition13893_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_handler_condition13898  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_handler_condition13898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_handler_condition13898	= { FOLLOW_SQLSTATE_SYMBOL_in_handler_condition13898_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_handler_condition13900  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_handler_condition13900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_handler_condition13900	= { FOLLOW_VALUE_SYMBOL_in_handler_condition13900_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_handler_condition13903  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_handler_condition13903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_handler_condition13903	= { FOLLOW_string_literal_in_handler_condition13903_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_condition13908  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_condition13908_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_condition13908	= { FOLLOW_identifier_in_handler_condition13908_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLWARNING_SYMBOL_in_handler_condition13913  */
static	ANTLR3_BITWORD FOLLOW_SQLWARNING_SYMBOL_in_handler_condition13913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLWARNING_SYMBOL_in_handler_condition13913	= { FOLLOW_SQLWARNING_SYMBOL_in_handler_condition13913_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_handler_condition13918  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_handler_condition13918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_handler_condition13918	= { FOLLOW_NOT_SYMBOL_in_handler_condition13918_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOUND_SYMBOL_in_handler_condition13920  */
static	ANTLR3_BITWORD FOLLOW_FOUND_SYMBOL_in_handler_condition13920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FOUND_SYMBOL_in_handler_condition13920	= { FOLLOW_FOUND_SYMBOL_in_handler_condition13920_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition13925  */
static	ANTLR3_BITWORD FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition13925_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition13925	= { FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition13925_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_statement13935  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_statement13935_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000809) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_statement13935	= { FOLLOW_CASE_SYMBOL_in_case_statement13935_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_case_statement13938  */
static	ANTLR3_BITWORD FOLLOW_expression_in_case_statement13938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_case_statement13938	= { FOLLOW_expression_in_case_statement13938_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_when_expression_in_case_statement13942  */
static	ANTLR3_BITWORD FOLLOW_when_expression_in_case_statement13942_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_when_expression_in_case_statement13942	= { FOLLOW_when_expression_in_case_statement13942_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_statement_in_case_statement13944  */
static	ANTLR3_BITWORD FOLLOW_then_statement_in_case_statement13944_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_then_statement_in_case_statement13944	= { FOLLOW_then_statement_in_case_statement13944_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_else_statement_in_case_statement13948  */
static	ANTLR3_BITWORD FOLLOW_else_statement_in_case_statement13948_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_else_statement_in_case_statement13948	= { FOLLOW_else_statement_in_case_statement13948_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_case_statement13951  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_case_statement13951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_case_statement13951	= { FOLLOW_END_SYMBOL_in_case_statement13951_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_statement13953  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_statement13953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_statement13953	= { FOLLOW_CASE_SYMBOL_in_case_statement13953_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THEN_SYMBOL_in_then_statement13962  */
static	ANTLR3_BITWORD FOLLOW_THEN_SYMBOL_in_then_statement13962_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_THEN_SYMBOL_in_then_statement13962	= { FOLLOW_THEN_SYMBOL_in_then_statement13962_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_then_statement13965  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_then_statement13965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_then_statement13965	= { FOLLOW_compound_statement_list_in_then_statement13965_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_else_statement13974  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_else_statement13974_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_else_statement13974	= { FOLLOW_ELSE_SYMBOL_in_else_statement13974_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_else_statement13977  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_else_statement13977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_else_statement13977	= { FOLLOW_compound_statement_list_in_else_statement13977_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_statement13986  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_statement13986_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_statement13986	= { FOLLOW_IF_SYMBOL_in_if_statement13986_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_body_in_if_statement13989  */
static	ANTLR3_BITWORD FOLLOW_if_body_in_if_statement13989_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_if_body_in_if_statement13989	= { FOLLOW_if_body_in_if_statement13989_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_if_statement13991  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_if_statement13991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_if_statement13991	= { FOLLOW_END_SYMBOL_in_if_statement13991_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_statement13993  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_statement13993_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_statement13993	= { FOLLOW_IF_SYMBOL_in_if_statement13993_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_if_body14002  */
static	ANTLR3_BITWORD FOLLOW_expression_in_if_body14002_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_if_body14002	= { FOLLOW_expression_in_if_body14002_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_statement_in_if_body14004  */
static	ANTLR3_BITWORD FOLLOW_then_statement_in_if_body14004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000030000000) };
static  ANTLR3_BITSET_LIST FOLLOW_then_statement_in_if_body14004	= { FOLLOW_then_statement_in_if_body14004_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSEIF_SYMBOL_in_if_body14007  */
static	ANTLR3_BITWORD FOLLOW_ELSEIF_SYMBOL_in_if_body14007_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSEIF_SYMBOL_in_if_body14007	= { FOLLOW_ELSEIF_SYMBOL_in_if_body14007_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_body_in_if_body14009  */
static	ANTLR3_BITWORD FOLLOW_if_body_in_if_body14009_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_if_body_in_if_body14009	= { FOLLOW_if_body_in_if_body14009_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_if_body14013  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_if_body14013_bits[]	= { ANTLR3_UINT64_LIT(0xFF9703E912CDAD60), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0023FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0001000022500002), ANTLR3_UINT64_LIT(0x3000200002801C00), ANTLR3_UINT64_LIT(0x1100481000080C00), ANTLR3_UINT64_LIT(0x0028000000000080), ANTLR3_UINT64_LIT(0x00018820035E0200), ANTLR3_UINT64_LIT(0x0054000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_if_body14013	= { FOLLOW_ELSE_SYMBOL_in_if_body14013_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_if_body14015  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_if_body14015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_if_body14015	= { FOLLOW_compound_statement_list_in_if_body14015_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ITERATE_SYMBOL_in_iterate_statement14026  */
static	ANTLR3_BITWORD FOLLOW_ITERATE_SYMBOL_in_iterate_statement14026_bits[]	= { ANTLR3_UINT64_LIT(0xFF00000000000000), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ITERATE_SYMBOL_in_iterate_statement14026	= { FOLLOW_ITERATE_SYMBOL_in_iterate_statement14026_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_iterate_statement14028  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_iterate_statement14028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_iterate_statement14028	= { FOLLOW_label_identifier_in_iterate_statement14028_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEAVE_SYMBOL_in_leave_statement14037  */
static	ANTLR3_BITWORD FOLLOW_LEAVE_SYMBOL_in_leave_statement14037_bits[]	= { ANTLR3_UINT64_LIT(0xFF00000000000000), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_LEAVE_SYMBOL_in_leave_statement14037	= { FOLLOW_LEAVE_SYMBOL_in_leave_statement14037_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_leave_statement14039  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_leave_statement14039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_leave_statement14039	= { FOLLOW_label_identifier_in_leave_statement14039_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURN_SYMBOL_in_return_statement14048  */
static	ANTLR3_BITWORD FOLLOW_RETURN_SYMBOL_in_return_statement14048_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURN_SYMBOL_in_return_statement14048	= { FOLLOW_RETURN_SYMBOL_in_return_statement14048_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_return_statement14050  */
static	ANTLR3_BITWORD FOLLOW_expression_in_return_statement14050_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_return_statement14050	= { FOLLOW_expression_in_return_statement14050_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GET_SYMBOL_in_get_diagnostics14059  */
static	ANTLR3_BITWORD FOLLOW_GET_SYMBOL_in_get_diagnostics14059_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004008000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GET_SYMBOL_in_get_diagnostics14059	= { FOLLOW_GET_SYMBOL_in_get_diagnostics14059_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_SYMBOL_in_get_diagnostics14066  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_SYMBOL_in_get_diagnostics14066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_SYMBOL_in_get_diagnostics14066	= { FOLLOW_CURRENT_SYMBOL_in_get_diagnostics14066_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STACKED_SYMBOL_in_get_diagnostics14076  */
static	ANTLR3_BITWORD FOLLOW_STACKED_SYMBOL_in_get_diagnostics14076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STACKED_SYMBOL_in_get_diagnostics14076	= { FOLLOW_STACKED_SYMBOL_in_get_diagnostics14076_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics14082  */
static	ANTLR3_BITWORD FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics14082_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000040000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics14082	= { FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics14082_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_information_item_in_get_diagnostics14089  */
static	ANTLR3_BITWORD FOLLOW_statement_information_item_in_get_diagnostics14089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_information_item_in_get_diagnostics14089	= { FOLLOW_statement_information_item_in_get_diagnostics14089_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_get_diagnostics14092  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_get_diagnostics14092_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_get_diagnostics14092	= { FOLLOW_COMMA_SYMBOL_in_get_diagnostics14092_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_information_item_in_get_diagnostics14094  */
static	ANTLR3_BITWORD FOLLOW_statement_information_item_in_get_diagnostics14094_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_information_item_in_get_diagnostics14094	= { FOLLOW_statement_information_item_in_get_diagnostics14094_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONDITION_SYMBOL_in_get_diagnostics14102  */
static	ANTLR3_BITWORD FOLLOW_CONDITION_SYMBOL_in_get_diagnostics14102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONDITION_SYMBOL_in_get_diagnostics14102	= { FOLLOW_CONDITION_SYMBOL_in_get_diagnostics14102_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_get_diagnostics14104  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_get_diagnostics14104_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_get_diagnostics14104	= { FOLLOW_INTEGER_in_get_diagnostics14104_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_in_get_diagnostics14106  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_in_get_diagnostics14106_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_information_item_in_get_diagnostics14106	= { FOLLOW_condition_information_item_in_get_diagnostics14106_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_get_diagnostics14109  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_get_diagnostics14109_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_get_diagnostics14109	= { FOLLOW_COMMA_SYMBOL_in_get_diagnostics14109_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_in_get_diagnostics14111  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_in_get_diagnostics14111_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_information_item_in_get_diagnostics14111	= { FOLLOW_condition_information_item_in_get_diagnostics14111_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_statement_information_item14126  */
static	ANTLR3_BITWORD FOLLOW_variable_in_statement_information_item14126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_in_statement_information_item14126	= { FOLLOW_variable_in_statement_information_item14126_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_statement_information_item14130  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_statement_information_item14130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_statement_information_item14130	= { FOLLOW_identifier_in_statement_information_item14130_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_statement_information_item14133  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_statement_information_item14133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_statement_information_item14133	= { FOLLOW_EQUAL_OPERATOR_in_statement_information_item14133_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_statement_information_item14135  */
static	ANTLR3_BITWORD FOLLOW_set_in_statement_information_item14135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_statement_information_item14135	= { FOLLOW_set_in_statement_information_item14135_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_condition_information_item14151  */
static	ANTLR3_BITWORD FOLLOW_variable_in_condition_information_item14151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_in_condition_information_item14151	= { FOLLOW_variable_in_condition_information_item14151_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_condition_information_item14155  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_condition_information_item14155_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_condition_information_item14155	= { FOLLOW_identifier_in_condition_information_item14155_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_condition_information_item14158  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_condition_information_item14158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010700442000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010010000), ANTLR3_UINT64_LIT(0x0000008010000000), ANTLR3_UINT64_LIT(0x0000000000000804) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_condition_information_item14158	= { FOLLOW_EQUAL_OPERATOR_in_condition_information_item14158_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_name_in_condition_information_item14161  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_name_in_condition_information_item14161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_name_in_condition_information_item14161	= { FOLLOW_signal_information_item_name_in_condition_information_item14161_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNED_SQLSTATE_SYMBOL_in_condition_information_item14165  */
static	ANTLR3_BITWORD FOLLOW_RETURNED_SQLSTATE_SYMBOL_in_condition_information_item14165_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNED_SQLSTATE_SYMBOL_in_condition_information_item14165	= { FOLLOW_RETURNED_SQLSTATE_SYMBOL_in_condition_information_item14165_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SIGNAL_SYMBOL_in_signal_statement14239  */
static	ANTLR3_BITWORD FOLLOW_SIGNAL_SYMBOL_in_signal_statement14239_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SIGNAL_SYMBOL_in_signal_statement14239	= { FOLLOW_SIGNAL_SYMBOL_in_signal_statement14239_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_signal_statement14248  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_signal_statement14248_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_signal_statement14248	= { FOLLOW_identifier_in_signal_statement14248_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_signal_statement14255  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_signal_statement14255_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_signal_statement14255	= { FOLLOW_SQLSTATE_SYMBOL_in_signal_statement14255_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_signal_statement14257  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_signal_statement14257_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_signal_statement14257	= { FOLLOW_VALUE_SYMBOL_in_signal_statement14257_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_signal_statement14260  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_signal_statement14260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_signal_statement14260	= { FOLLOW_text_or_identifier_in_signal_statement14260_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_signal_statement14269  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_signal_statement14269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010700442000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010010000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000804) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_signal_statement14269	= { FOLLOW_SET_SYMBOL_in_signal_statement14269_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_signal_statement14271  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_signal_statement14271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_signal_statement14271	= { FOLLOW_signal_information_item_in_signal_statement14271_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_signal_statement14274  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_signal_statement14274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010700442000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010010000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000804) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_signal_statement14274	= { FOLLOW_COMMA_SYMBOL_in_signal_statement14274_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_signal_statement14276  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_signal_statement14276_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_signal_statement14276	= { FOLLOW_signal_information_item_in_signal_statement14276_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement14289  */
static	ANTLR3_BITWORD FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement14289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement14289	= { FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement14289_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement14292  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement14292_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement14292	= { FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement14292_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_resignal_statement14294  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_resignal_statement14294_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_resignal_statement14294	= { FOLLOW_VALUE_SYMBOL_in_resignal_statement14294_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_resignal_statement14297  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_resignal_statement14297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_resignal_statement14297	= { FOLLOW_text_or_identifier_in_resignal_statement14297_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_resignal_statement14304  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_resignal_statement14304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010700442000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010010000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000804) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_resignal_statement14304	= { FOLLOW_SET_SYMBOL_in_resignal_statement14304_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_resignal_statement14306  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_resignal_statement14306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_resignal_statement14306	= { FOLLOW_signal_information_item_in_resignal_statement14306_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_resignal_statement14309  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_resignal_statement14309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010700442000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010010000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000000000804) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_resignal_statement14309	= { FOLLOW_COMMA_SYMBOL_in_resignal_statement14309_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_resignal_statement14311  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_resignal_statement14311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_resignal_statement14311	= { FOLLOW_signal_information_item_in_resignal_statement14311_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_name_in_signal_information_item14324  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_name_in_signal_information_item14324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_name_in_signal_information_item14324	= { FOLLOW_signal_information_item_name_in_signal_information_item14324_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_signal_information_item14326  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_signal_information_item14326_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000182), ANTLR3_UINT64_LIT(0x0000900000800000), ANTLR3_UINT64_LIT(0x0000000002000430), ANTLR3_UINT64_LIT(0x0000140100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000410000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_signal_information_item14326	= { FOLLOW_EQUAL_OPERATOR_in_signal_information_item14326_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_signal_information_item14329  */
static	ANTLR3_BITWORD FOLLOW_literal_in_signal_information_item14329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_signal_information_item14329	= { FOLLOW_literal_in_signal_information_item14329_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_signal_information_item14333  */
static	ANTLR3_BITWORD FOLLOW_variable_in_signal_information_item14333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_in_signal_information_item14333	= { FOLLOW_variable_in_signal_information_item14333_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_signal_information_item14337  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_signal_information_item14337_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_signal_information_item14337	= { FOLLOW_identifier_in_signal_information_item14337_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_SYMBOL_in_cursor_close14347  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_SYMBOL_in_cursor_close14347_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_SYMBOL_in_cursor_close14347	= { FOLLOW_CLOSE_SYMBOL_in_cursor_close14347_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_close14349  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_close14349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_close14349	= { FOLLOW_identifier_in_cursor_close14349_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FETCH_SYMBOL_in_cursor_fetch14358  */
static	ANTLR3_BITWORD FOLLOW_FETCH_SYMBOL_in_cursor_fetch14358_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FETCH_SYMBOL_in_cursor_fetch14358	= { FOLLOW_FETCH_SYMBOL_in_cursor_fetch14358_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_fetch14360  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_fetch14360_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_fetch14360	= { FOLLOW_identifier_in_cursor_fetch14360_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_cursor_fetch14362  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_cursor_fetch14362_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_cursor_fetch14362	= { FOLLOW_INTO_SYMBOL_in_cursor_fetch14362_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_cursor_fetch14364  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_cursor_fetch14364_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_cursor_fetch14364	= { FOLLOW_identifier_list_in_cursor_fetch14364_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_cursor_open14373  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_cursor_open14373_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_cursor_open14373	= { FOLLOW_OPEN_SYMBOL_in_cursor_open14373_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_open14375  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_open14375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_open14375	= { FOLLOW_identifier_in_cursor_open14375_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SYMBOL_in_schedule14387  */
static	ANTLR3_BITWORD FOLLOW_AT_SYMBOL_in_schedule14387_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SYMBOL_in_schedule14387	= { FOLLOW_AT_SYMBOL_in_schedule14387_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule14389  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule14389_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule14389	= { FOLLOW_expression_in_schedule14389_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVERY_SYMBOL_in_schedule14394  */
static	ANTLR3_BITWORD FOLLOW_EVERY_SYMBOL_in_schedule14394_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_EVERY_SYMBOL_in_schedule14394	= { FOLLOW_EVERY_SYMBOL_in_schedule14394_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_schedule14396  */
static	ANTLR3_BITWORD FOLLOW_interval_in_schedule14396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_schedule14396	= { FOLLOW_interval_in_schedule14396_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STARTS_SYMBOL_in_schedule14399  */
static	ANTLR3_BITWORD FOLLOW_STARTS_SYMBOL_in_schedule14399_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_STARTS_SYMBOL_in_schedule14399	= { FOLLOW_STARTS_SYMBOL_in_schedule14399_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule14401  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule14401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule14401	= { FOLLOW_expression_in_schedule14401_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENDS_SYMBOL_in_schedule14406  */
static	ANTLR3_BITWORD FOLLOW_ENDS_SYMBOL_in_schedule14406_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_ENDS_SYMBOL_in_schedule14406	= { FOLLOW_ENDS_SYMBOL_in_schedule14406_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule14408  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule14408_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule14408	= { FOLLOW_expression_in_schedule14408_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_database_option14419  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_database_option14419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000110000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_database_option14419	= { FOLLOW_DEFAULT_SYMBOL_in_database_option14419_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_database_option14429  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_database_option14429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_database_option14429	= { FOLLOW_CHAR_SYMBOL_in_database_option14429_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_database_option14431  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_database_option14431_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_database_option14431	= { FOLLOW_SET_SYMBOL_in_database_option14431_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_database_option14433  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_database_option14433_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_database_option14433	= { FOLLOW_EQUAL_OPERATOR_in_database_option14433_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_database_option14436  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_database_option14436_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_database_option14436	= { FOLLOW_charset_name_or_default_in_database_option14436_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_database_option14443  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_database_option14443_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_database_option14443	= { FOLLOW_COLLATE_SYMBOL_in_database_option14443_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_database_option14445  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_database_option14445_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_database_option14445	= { FOLLOW_EQUAL_OPERATOR_in_database_option14445_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_database_option14448  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_database_option14448_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_database_option14448	= { FOLLOW_collation_name_or_default_in_database_option14448_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_column_definition14461  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_column_definition14461_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_column_definition14461	= { FOLLOW_field_spec_in_column_definition14461_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_column_definition14464  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_column_definition14464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_column_definition14464	= { FOLLOW_reference_definition_in_column_definition14464_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_column_definition14469  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_column_definition14469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_column_definition14469	= { FOLLOW_CHECK_SYMBOL_in_column_definition14469_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_column_definition14471  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_column_definition14471_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_column_definition14471	= { FOLLOW_OPEN_PAR_SYMBOL_in_column_definition14471_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_definition14473  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_definition14473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_definition14473	= { FOLLOW_expression_in_column_definition14473_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition14475  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition14475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition14475	= { FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition14475_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_name_in_field_spec14487  */
static	ANTLR3_BITWORD FOLLOW_column_name_in_field_spec14487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800180000000680), ANTLR3_UINT64_LIT(0x00000800000D0000), ANTLR3_UINT64_LIT(0x0300020187000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000001220000), ANTLR3_UINT64_LIT(0x0000000010010030), ANTLR3_UINT64_LIT(0x0004000001000020), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x000020000001C058), ANTLR3_UINT64_LIT(0x0020080000004000), ANTLR3_UINT64_LIT(0xA000000380000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_name_in_field_spec14487	= { FOLLOW_column_name_in_field_spec14487_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_field_spec14489  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_field_spec14489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000800004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0002148000000000), ANTLR3_UINT64_LIT(0x0000000000008010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_field_spec14489	= { FOLLOW_data_type_in_field_spec14489_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_attribute_in_field_spec14491  */
static	ANTLR3_BITWORD FOLLOW_attribute_in_field_spec14491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000000000800004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0002148000000000), ANTLR3_UINT64_LIT(0x0000000000008010), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_attribute_in_field_spec14491	= { FOLLOW_attribute_in_field_spec14491_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_field_spec14508  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_field_spec14508_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_field_spec14508	= { FOLLOW_reference_definition_in_field_spec14508_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_attribute14519  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_attribute14519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000140000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_attribute14519	= { FOLLOW_NOT_SYMBOL_in_attribute14519_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_attribute14522  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_attribute14522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_attribute14522	= { FOLLOW_null_literal_in_attribute14522_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_attribute14527  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_attribute14527_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001200000), ANTLR3_UINT64_LIT(0x0000000000000180), ANTLR3_UINT64_LIT(0x0000900000800000), ANTLR3_UINT64_LIT(0x0000000002000030), ANTLR3_UINT64_LIT(0x0000150100080000), ANTLR3_UINT64_LIT(0x0008000000000001), ANTLR3_UINT64_LIT(0x0000410000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_attribute14527	= { FOLLOW_DEFAULT_SYMBOL_in_attribute14527_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signed_literal_in_attribute14530  */
static	ANTLR3_BITWORD FOLLOW_signed_literal_in_attribute14530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_signed_literal_in_attribute14530	= { FOLLOW_signed_literal_in_attribute14530_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_attribute14534  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_attribute14534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_attribute14534	= { FOLLOW_NOW_SYMBOL_in_attribute14534_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_attribute14536  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_attribute14536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_attribute14536	= { FOLLOW_time_function_parameters_in_attribute14536_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_attribute14543  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_attribute14543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_attribute14543	= { FOLLOW_ON_SYMBOL_in_attribute14543_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_attribute14545  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_attribute14545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_attribute14545	= { FOLLOW_UPDATE_SYMBOL_in_attribute14545_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_attribute14547  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_attribute14547_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_attribute14547	= { FOLLOW_NOW_SYMBOL_in_attribute14547_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_attribute14549  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_attribute14549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_attribute14549	= { FOLLOW_time_function_parameters_in_attribute14549_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute14555  */
static	ANTLR3_BITWORD FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute14555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute14555	= { FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute14555_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIAL_SYMBOL_in_attribute14560  */
static	ANTLR3_BITWORD FOLLOW_SERIAL_SYMBOL_in_attribute14560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIAL_SYMBOL_in_attribute14560	= { FOLLOW_SERIAL_SYMBOL_in_attribute14560_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_attribute14562  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_attribute14562_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_attribute14562	= { FOLLOW_DEFAULT_SYMBOL_in_attribute14562_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_attribute14564  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_attribute14564_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_attribute14564	= { FOLLOW_VALUE_SYMBOL_in_attribute14564_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_attribute14571  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_attribute14571_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_attribute14571	= { FOLLOW_UNIQUE_SYMBOL_in_attribute14571_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute14576  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute14576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute14576	= { FOLLOW_set_in_attribute14576_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_attribute14584  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_attribute14584_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_attribute14584	= { FOLLOW_KEY_SYMBOL_in_attribute14584_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_attribute14589  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_attribute14589_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_attribute14589	= { FOLLOW_KEY_SYMBOL_in_attribute14589_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_attribute14594  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_attribute14594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_attribute14594	= { FOLLOW_COMMENT_SYMBOL_in_attribute14594_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_attribute14596  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_attribute14596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_attribute14596	= { FOLLOW_string_literal_in_attribute14596_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_attribute14601  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_attribute14601_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_attribute14601	= { FOLLOW_COLLATE_SYMBOL_in_attribute14601_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_attribute14603  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_attribute14603_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_attribute14603	= { FOLLOW_text_or_identifier_in_attribute14603_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute14608  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute14608_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute14608	= { FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute14608_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute14610  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute14610_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute14610	= { FOLLOW_set_in_attribute14610_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_attribute14625  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_attribute14625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_attribute14625	= { FOLLOW_STORAGE_SYMBOL_in_attribute14625_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute14627  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute14627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute14627	= { FOLLOW_set_in_attribute14627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REFERENCES_SYMBOL_in_reference_definition14646  */
static	ANTLR3_BITWORD FOLLOW_REFERENCES_SYMBOL_in_reference_definition14646_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_REFERENCES_SYMBOL_in_reference_definition14646	= { FOLLOW_REFERENCES_SYMBOL_in_reference_definition14646_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_reference_definition14649  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_reference_definition14649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000A000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_reference_definition14649	= { FOLLOW_table_ref_in_reference_definition14649_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_reference_definition14651  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_reference_definition14651_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_reference_definition14651	= { FOLLOW_index_columns_in_reference_definition14651_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MATCH_SYMBOL_in_reference_definition14657  */
static	ANTLR3_BITWORD FOLLOW_MATCH_SYMBOL_in_reference_definition14657_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MATCH_SYMBOL_in_reference_definition14657	= { FOLLOW_MATCH_SYMBOL_in_reference_definition14657_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_reference_definition14659  */
static	ANTLR3_BITWORD FOLLOW_set_in_reference_definition14659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_reference_definition14659	= { FOLLOW_set_in_reference_definition14659_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_reference_definition14676  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_reference_definition14676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_reference_definition14676	= { FOLLOW_ON_SYMBOL_in_reference_definition14676_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_reference_definition14678  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_reference_definition14678_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_reference_definition14678	= { FOLLOW_DELETE_SYMBOL_in_reference_definition14678_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_option_in_reference_definition14680  */
static	ANTLR3_BITWORD FOLLOW_reference_option_in_reference_definition14680_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_option_in_reference_definition14680	= { FOLLOW_reference_option_in_reference_definition14680_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_reference_definition14687  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_reference_definition14687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_reference_definition14687	= { FOLLOW_ON_SYMBOL_in_reference_definition14687_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_reference_definition14689  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_reference_definition14689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_reference_definition14689	= { FOLLOW_UPDATE_SYMBOL_in_reference_definition14689_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_option_in_reference_definition14691  */
static	ANTLR3_BITWORD FOLLOW_reference_option_in_reference_definition14691_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_option_in_reference_definition14691	= { FOLLOW_reference_option_in_reference_definition14691_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_columns14702  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_columns14702_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_columns14702	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_columns14702_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_index_columns14704  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_index_columns14704_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_column_in_index_columns14704	= { FOLLOW_index_column_in_index_columns14704_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_columns14707  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_columns14707_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_columns14707	= { FOLLOW_COMMA_SYMBOL_in_index_columns14707_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_index_columns14709  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_index_columns14709_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_column_in_index_columns14709	= { FOLLOW_index_column_in_index_columns14709_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns14713  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns14713_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns14713	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns14713_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_index_column14722  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_index_column14722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_index_column14722	= { FOLLOW_identifier_in_index_column14722_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_index_column14724  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_index_column14724_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_index_column14724	= { FOLLOW_field_length_in_index_column14724_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_index_column14727  */
static	ANTLR3_BITWORD FOLLOW_direction_in_index_column14727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_index_column14727	= { FOLLOW_direction_in_index_column14727_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_index_type14737  */
static	ANTLR3_BITWORD FOLLOW_set_in_index_type14737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_index_type14737	= { FOLLOW_set_in_index_type14737_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_index_type14745  */
static	ANTLR3_BITWORD FOLLOW_set_in_index_type14745_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_index_type14745	= { FOLLOW_set_in_index_type14745_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_index_option14764  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_index_option14764_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_index_option14764	= { FOLLOW_index_type_in_index_option14764_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_index_option14769  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_index_option14769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_index_option14769	= { FOLLOW_spatial_index_option_in_index_option14769_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_fulltext_index_option14778  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_fulltext_index_option14778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_fulltext_index_option14778	= { FOLLOW_WITH_SYMBOL_in_fulltext_index_option14778_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARSER_SYMBOL_in_fulltext_index_option14780  */
static	ANTLR3_BITWORD FOLLOW_PARSER_SYMBOL_in_fulltext_index_option14780_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARSER_SYMBOL_in_fulltext_index_option14780	= { FOLLOW_PARSER_SYMBOL_in_fulltext_index_option14780_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_fulltext_index_option14782  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_fulltext_index_option14782_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_fulltext_index_option14782	= { FOLLOW_identifier_in_fulltext_index_option14782_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_fulltext_index_option14787  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_fulltext_index_option14787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_fulltext_index_option14787	= { FOLLOW_spatial_index_option_in_fulltext_index_option14787_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option14796  */
static	ANTLR3_BITWORD FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option14796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option14796	= { FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option14796_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_spatial_index_option14798  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_spatial_index_option14798_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_spatial_index_option14798	= { FOLLOW_EQUAL_OPERATOR_in_spatial_index_option14798_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_spatial_index_option14801  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_spatial_index_option14801_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_spatial_index_option14801	= { FOLLOW_INTEGER_in_spatial_index_option14801_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_spatial_index_option14810  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_spatial_index_option14810_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_spatial_index_option14810	= { FOLLOW_COMMENT_SYMBOL_in_spatial_index_option14810_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_spatial_index_option14812  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_spatial_index_option14812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_spatial_index_option14812	= { FOLLOW_string_literal_in_spatial_index_option14812_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESTRICT_SYMBOL_in_reference_option14821  */
static	ANTLR3_BITWORD FOLLOW_RESTRICT_SYMBOL_in_reference_option14821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RESTRICT_SYMBOL_in_reference_option14821	= { FOLLOW_RESTRICT_SYMBOL_in_reference_option14821_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASCADE_SYMBOL_in_reference_option14825  */
static	ANTLR3_BITWORD FOLLOW_CASCADE_SYMBOL_in_reference_option14825_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CASCADE_SYMBOL_in_reference_option14825	= { FOLLOW_CASCADE_SYMBOL_in_reference_option14825_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_reference_option14829  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_reference_option14829_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000140000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_reference_option14829	= { FOLLOW_SET_SYMBOL_in_reference_option14829_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_reference_option14831  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_reference_option14831_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_reference_option14831	= { FOLLOW_null_literal_in_reference_option14831_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_reference_option14835  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_reference_option14835_bits[]	= { ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_reference_option14835	= { FOLLOW_NO_SYMBOL_in_reference_option14835_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ACTION_SYMBOL_in_reference_option14837  */
static	ANTLR3_BITWORD FOLLOW_ACTION_SYMBOL_in_reference_option14837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ACTION_SYMBOL_in_reference_option14837	= { FOLLOW_ACTION_SYMBOL_in_reference_option14837_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_elements_in_data_type14846  */
static	ANTLR3_BITWORD FOLLOW_data_type_elements_in_data_type14846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_elements_in_data_type14846	= { FOLLOW_data_type_elements_in_data_type14846_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_elements_in_data_type_definition14864  */
static	ANTLR3_BITWORD FOLLOW_data_type_elements_in_data_type_definition14864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_elements_in_data_type_definition14864	= { FOLLOW_data_type_elements_in_data_type_definition14864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_data_type_definition14866  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_data_type_definition14866_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_data_type_definition14866	= { FOLLOW_EOF_in_data_type_definition14866_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_integer_type_in_data_type_elements14875  */
static	ANTLR3_BITWORD FOLLOW_integer_type_in_data_type_elements14875_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_integer_type_in_data_type_elements14875	= { FOLLOW_integer_type_in_data_type_elements14875_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14877  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14877_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14877	= { FOLLOW_field_length_in_data_type_elements14877_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements14880  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements14880_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements14880	= { FOLLOW_field_options_in_data_type_elements14880_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_real_literal_in_data_type_elements14887  */
static	ANTLR3_BITWORD FOLLOW_real_literal_in_data_type_elements14887_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_real_literal_in_data_type_elements14887	= { FOLLOW_real_literal_in_data_type_elements14887_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_precision_in_data_type_elements14889  */
static	ANTLR3_BITWORD FOLLOW_precision_in_data_type_elements14889_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_precision_in_data_type_elements14889	= { FOLLOW_precision_in_data_type_elements14889_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements14892  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements14892_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements14892	= { FOLLOW_field_options_in_data_type_elements14892_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FLOAT_SYMBOL_in_data_type_elements14898  */
static	ANTLR3_BITWORD FOLLOW_FLOAT_SYMBOL_in_data_type_elements14898_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_FLOAT_SYMBOL_in_data_type_elements14898	= { FOLLOW_FLOAT_SYMBOL_in_data_type_elements14898_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements14900  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements14900_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements14900	= { FOLLOW_float_options_in_data_type_elements14900_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements14903  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements14903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements14903	= { FOLLOW_field_options_in_data_type_elements14903_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_SYMBOL_in_data_type_elements14911  */
static	ANTLR3_BITWORD FOLLOW_BIT_SYMBOL_in_data_type_elements14911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_SYMBOL_in_data_type_elements14911	= { FOLLOW_BIT_SYMBOL_in_data_type_elements14911_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14913  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14913	= { FOLLOW_field_length_in_data_type_elements14913_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOL_SYMBOL_in_data_type_elements14919  */
static	ANTLR3_BITWORD FOLLOW_BOOL_SYMBOL_in_data_type_elements14919_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOL_SYMBOL_in_data_type_elements14919	= { FOLLOW_BOOL_SYMBOL_in_data_type_elements14919_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements14924  */
static	ANTLR3_BITWORD FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements14924_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements14924	= { FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements14924_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_data_type_elements14931  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_data_type_elements14931_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_data_type_elements14931	= { FOLLOW_CHAR_SYMBOL_in_data_type_elements14931_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14933  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14933_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14933	= { FOLLOW_field_length_in_data_type_elements14933_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements14936  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements14936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements14936	= { FOLLOW_string_binary_in_data_type_elements14936_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_nchar_literal_in_data_type_elements14942  */
static	ANTLR3_BITWORD FOLLOW_nchar_literal_in_data_type_elements14942_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_nchar_literal_in_data_type_elements14942	= { FOLLOW_nchar_literal_in_data_type_elements14942_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14944  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14944_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14944	= { FOLLOW_field_length_in_data_type_elements14944_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements14947  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements14947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements14947	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements14947_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements14953  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements14953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements14953	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements14953_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14955  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14955_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14955	= { FOLLOW_field_length_in_data_type_elements14955_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_varchar_literal_in_data_type_elements14961  */
static	ANTLR3_BITWORD FOLLOW_varchar_literal_in_data_type_elements14961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_varchar_literal_in_data_type_elements14961	= { FOLLOW_varchar_literal_in_data_type_elements14961_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14963  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14963_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14963	= { FOLLOW_field_length_in_data_type_elements14963_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements14965  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements14965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements14965	= { FOLLOW_string_binary_in_data_type_elements14965_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_nvarchar_literal_in_data_type_elements14971  */
static	ANTLR3_BITWORD FOLLOW_nvarchar_literal_in_data_type_elements14971_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_nvarchar_literal_in_data_type_elements14971	= { FOLLOW_nvarchar_literal_in_data_type_elements14971_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14973  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14973	= { FOLLOW_field_length_in_data_type_elements14973_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements14975  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements14975_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements14975	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements14975_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARBINARY_SYMBOL_in_data_type_elements14982  */
static	ANTLR3_BITWORD FOLLOW_VARBINARY_SYMBOL_in_data_type_elements14982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VARBINARY_SYMBOL_in_data_type_elements14982	= { FOLLOW_VARBINARY_SYMBOL_in_data_type_elements14982_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14984  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14984_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14984	= { FOLLOW_field_length_in_data_type_elements14984_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_data_type_elements14990  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_data_type_elements14990_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_data_type_elements14990	= { FOLLOW_YEAR_SYMBOL_in_data_type_elements14990_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements14992  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements14992_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements14992	= { FOLLOW_field_length_in_data_type_elements14992_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements14995  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements14995_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements14995	= { FOLLOW_field_options_in_data_type_elements14995_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_data_type_elements15001  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_data_type_elements15001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_data_type_elements15001	= { FOLLOW_DATE_SYMBOL_in_data_type_elements15001_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_data_type_elements15006  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_data_type_elements15006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_data_type_elements15006	= { FOLLOW_TIME_SYMBOL_in_data_type_elements15006_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements15008  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements15008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements15008	= { FOLLOW_type_datetime_precision_in_data_type_elements15008_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements15014  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements15014_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements15014	= { FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements15014_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements15016  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements15016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements15016	= { FOLLOW_type_datetime_precision_in_data_type_elements15016_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATETIME_SYMBOL_in_data_type_elements15022  */
static	ANTLR3_BITWORD FOLLOW_DATETIME_SYMBOL_in_data_type_elements15022_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATETIME_SYMBOL_in_data_type_elements15022	= { FOLLOW_DATETIME_SYMBOL_in_data_type_elements15022_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements15024  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements15024_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements15024	= { FOLLOW_type_datetime_precision_in_data_type_elements15024_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements15031  */
static	ANTLR3_BITWORD FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements15031_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements15031	= { FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements15031_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BLOB_SYMBOL_in_data_type_elements15036  */
static	ANTLR3_BITWORD FOLLOW_BLOB_SYMBOL_in_data_type_elements15036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BLOB_SYMBOL_in_data_type_elements15036	= { FOLLOW_BLOB_SYMBOL_in_data_type_elements15036_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements15038  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements15038_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements15038	= { FOLLOW_field_length_in_data_type_elements15038_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements15044  */
static	ANTLR3_BITWORD FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements15044_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements15044	= { FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements15044_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements15049  */
static	ANTLR3_BITWORD FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements15049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements15049	= { FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements15049_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONG_SYMBOL_in_data_type_elements15054  */
static	ANTLR3_BITWORD FOLLOW_LONG_SYMBOL_in_data_type_elements15054_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LONG_SYMBOL_in_data_type_elements15054	= { FOLLOW_LONG_SYMBOL_in_data_type_elements15054_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARBINARY_SYMBOL_in_data_type_elements15056  */
static	ANTLR3_BITWORD FOLLOW_VARBINARY_SYMBOL_in_data_type_elements15056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARBINARY_SYMBOL_in_data_type_elements15056	= { FOLLOW_VARBINARY_SYMBOL_in_data_type_elements15056_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONG_SYMBOL_in_data_type_elements15061  */
static	ANTLR3_BITWORD FOLLOW_LONG_SYMBOL_in_data_type_elements15061_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LONG_SYMBOL_in_data_type_elements15061	= { FOLLOW_LONG_SYMBOL_in_data_type_elements15061_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_varchar_literal_in_data_type_elements15063  */
static	ANTLR3_BITWORD FOLLOW_varchar_literal_in_data_type_elements15063_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_varchar_literal_in_data_type_elements15063	= { FOLLOW_varchar_literal_in_data_type_elements15063_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15066  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15066	= { FOLLOW_string_binary_in_data_type_elements15066_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements15073  */
static	ANTLR3_BITWORD FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements15073_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements15073	= { FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements15073_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15075  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15075	= { FOLLOW_string_binary_in_data_type_elements15075_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEXT_SYMBOL_in_data_type_elements15081  */
static	ANTLR3_BITWORD FOLLOW_TEXT_SYMBOL_in_data_type_elements15081_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEXT_SYMBOL_in_data_type_elements15081	= { FOLLOW_TEXT_SYMBOL_in_data_type_elements15081_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements15083  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements15083_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements15083	= { FOLLOW_field_length_in_data_type_elements15083_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15086  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15086	= { FOLLOW_string_binary_in_data_type_elements15086_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements15092  */
static	ANTLR3_BITWORD FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements15092_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements15092	= { FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements15092_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15094  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15094_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15094	= { FOLLOW_string_binary_in_data_type_elements15094_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements15100  */
static	ANTLR3_BITWORD FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements15100_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements15100	= { FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements15100_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15102  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15102	= { FOLLOW_string_binary_in_data_type_elements15102_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECIMAL_SYMBOL_in_data_type_elements15110  */
static	ANTLR3_BITWORD FOLLOW_DECIMAL_SYMBOL_in_data_type_elements15110_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_DECIMAL_SYMBOL_in_data_type_elements15110	= { FOLLOW_DECIMAL_SYMBOL_in_data_type_elements15110_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements15112  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements15112_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements15112	= { FOLLOW_float_options_in_data_type_elements15112_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements15115  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements15115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements15115	= { FOLLOW_field_options_in_data_type_elements15115_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NUMERIC_SYMBOL_in_data_type_elements15121  */
static	ANTLR3_BITWORD FOLLOW_NUMERIC_SYMBOL_in_data_type_elements15121_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_NUMERIC_SYMBOL_in_data_type_elements15121	= { FOLLOW_NUMERIC_SYMBOL_in_data_type_elements15121_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements15123  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements15123_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements15123	= { FOLLOW_float_options_in_data_type_elements15123_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements15126  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements15126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements15126	= { FOLLOW_field_options_in_data_type_elements15126_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIXED_SYMBOL_in_data_type_elements15132  */
static	ANTLR3_BITWORD FOLLOW_FIXED_SYMBOL_in_data_type_elements15132_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_FIXED_SYMBOL_in_data_type_elements15132	= { FOLLOW_FIXED_SYMBOL_in_data_type_elements15132_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements15134  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements15134_bits[]	= { ANTLR3_UINT64_LIT(0x0000100000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements15134	= { FOLLOW_float_options_in_data_type_elements15134_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements15137  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements15137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements15137	= { FOLLOW_field_options_in_data_type_elements15137_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENUM_SYMBOL_in_data_type_elements15145  */
static	ANTLR3_BITWORD FOLLOW_ENUM_SYMBOL_in_data_type_elements15145_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENUM_SYMBOL_in_data_type_elements15145	= { FOLLOW_ENUM_SYMBOL_in_data_type_elements15145_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_list_in_data_type_elements15147  */
static	ANTLR3_BITWORD FOLLOW_string_list_in_data_type_elements15147_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_string_list_in_data_type_elements15147	= { FOLLOW_string_list_in_data_type_elements15147_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15149  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15149	= { FOLLOW_string_binary_in_data_type_elements15149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_data_type_elements15155  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_data_type_elements15155_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_data_type_elements15155	= { FOLLOW_SET_SYMBOL_in_data_type_elements15155_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_list_in_data_type_elements15157  */
static	ANTLR3_BITWORD FOLLOW_string_list_in_data_type_elements15157_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000292), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000020) };
static  ANTLR3_BITSET_LIST FOLLOW_string_list_in_data_type_elements15157	= { FOLLOW_string_list_in_data_type_elements15157_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements15159  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements15159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements15159	= { FOLLOW_string_binary_in_data_type_elements15159_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIAL_SYMBOL_in_data_type_elements15165  */
static	ANTLR3_BITWORD FOLLOW_SERIAL_SYMBOL_in_data_type_elements15165_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIAL_SYMBOL_in_data_type_elements15165	= { FOLLOW_SERIAL_SYMBOL_in_data_type_elements15165_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_type_in_data_type_elements15170  */
static	ANTLR3_BITWORD FOLLOW_spatial_type_in_data_type_elements15170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_type_in_data_type_elements15170	= { FOLLOW_spatial_type_in_data_type_elements15170_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_field_length15179  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_field_length15179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_field_length15179	= { FOLLOW_OPEN_PAR_SYMBOL_in_field_length15179_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_field_length15181  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_field_length15181_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_field_length15181	= { FOLLOW_INTEGER_in_field_length15181_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_field_length15183  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_field_length15183_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_field_length15183	= { FOLLOW_CLOSE_PAR_SYMBOL_in_field_length15183_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ascii_in_string_binary15212  */
static	ANTLR3_BITWORD FOLLOW_ascii_in_string_binary15212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ascii_in_string_binary15212	= { FOLLOW_ascii_in_string_binary15212_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unicode_in_string_binary15217  */
static	ANTLR3_BITWORD FOLLOW_unicode_in_string_binary15217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_unicode_in_string_binary15217	= { FOLLOW_unicode_in_string_binary15217_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BYTE_SYMBOL_in_string_binary15222  */
static	ANTLR3_BITWORD FOLLOW_BYTE_SYMBOL_in_string_binary15222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BYTE_SYMBOL_in_string_binary15222	= { FOLLOW_BYTE_SYMBOL_in_string_binary15222_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_string_binary15227  */
static	ANTLR3_BITWORD FOLLOW_charset_in_string_binary15227_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_string_binary15227	= { FOLLOW_charset_in_string_binary15227_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_string_binary15229  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_string_binary15229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_string_binary15229	= { FOLLOW_charset_name_in_string_binary15229_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_string_binary15231  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_string_binary15231_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_string_binary15231	= { FOLLOW_BINARY_SYMBOL_in_string_binary15231_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_string_binary15237  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_string_binary15237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_string_binary15237	= { FOLLOW_BINARY_SYMBOL_in_string_binary15237_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_string_binary15240  */
static	ANTLR3_BITWORD FOLLOW_charset_in_string_binary15240_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_string_binary15240	= { FOLLOW_charset_in_string_binary15240_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_string_binary15242  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_string_binary15242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_string_binary15242	= { FOLLOW_charset_name_in_string_binary15242_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_ascii15253  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_ascii15253_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_ascii15253	= { FOLLOW_ASCII_SYMBOL_in_ascii15253_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_ascii15255  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_ascii15255_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_ascii15255	= { FOLLOW_BINARY_SYMBOL_in_ascii15255_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_ascii15265  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_ascii15265_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_ascii15265	= { FOLLOW_BINARY_SYMBOL_in_ascii15265_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_ascii15267  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_ascii15267_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_ascii15267	= { FOLLOW_ASCII_SYMBOL_in_ascii15267_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_unicode15276  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_unicode15276_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_unicode15276	= { FOLLOW_UNICODE_SYMBOL_in_unicode15276_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_unicode15278  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_unicode15278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_unicode15278	= { FOLLOW_BINARY_SYMBOL_in_unicode15278_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_unicode15288  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_unicode15288_bits[]	= { ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_unicode15288	= { FOLLOW_BINARY_SYMBOL_in_unicode15288_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_unicode15290  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_unicode15290_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_unicode15290	= { FOLLOW_UNICODE_SYMBOL_in_unicode15290_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision15303  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision15303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision15303	= { FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision15303_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_type_datetime_precision15305  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_type_datetime_precision15305_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_type_datetime_precision15305	= { FOLLOW_INTEGER_in_type_datetime_precision15305_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision15307  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision15307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision15307	= { FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision15307_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_charset_name15316  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_charset_name15316_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_charset_name15316	= { FOLLOW_text_or_identifier_in_charset_name15316_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_charset_name15321  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_charset_name15321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_charset_name15321	= { FOLLOW_BINARY_SYMBOL_in_charset_name15321_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_charset_name_or_default15330  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_charset_name_or_default15330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_charset_name_or_default15330	= { FOLLOW_charset_name_in_charset_name_or_default15330_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default15335  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default15335_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default15335	= { FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default15335_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_collation_name_or_default15344  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_collation_name_or_default15344_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_collation_name_or_default15344	= { FOLLOW_text_or_identifier_in_collation_name_or_default15344_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default15349  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default15349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default15349	= { FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default15349_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_alter_table_options15402  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_alter_table_options15402_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001602), ANTLR3_UINT64_LIT(0x1001020040000014), ANTLR3_UINT64_LIT(0x0002006000000000), ANTLR3_UINT64_LIT(0x0008400000100000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x0000000004006001), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_alter_table_options15402	= { FOLLOW_create_table_option_in_alter_table_options15402_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_create_table_options15412  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_create_table_options15412_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001602), ANTLR3_UINT64_LIT(0x1001020040000014), ANTLR3_UINT64_LIT(0x0002006000000000), ANTLR3_UINT64_LIT(0x0008400000100000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x0000000004006001), ANTLR3_UINT64_LIT(0x0000008110000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_create_table_options15412	= { FOLLOW_create_table_option_in_create_table_options15412_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_table_options15415  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_table_options15415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001600), ANTLR3_UINT64_LIT(0x1001020040000014), ANTLR3_UINT64_LIT(0x0002006000000000), ANTLR3_UINT64_LIT(0x0008400000100000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x0000000004006001), ANTLR3_UINT64_LIT(0x0000000110000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_table_options15415	= { FOLLOW_COMMA_SYMBOL_in_create_table_options15415_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_create_table_options15418  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_create_table_options15418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001602), ANTLR3_UINT64_LIT(0x1001020040000014), ANTLR3_UINT64_LIT(0x0002006000000000), ANTLR3_UINT64_LIT(0x0008400000100000), ANTLR3_UINT64_LIT(0x7000000800000000), ANTLR3_UINT64_LIT(0x0000000004006001), ANTLR3_UINT64_LIT(0x0000008110000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_create_table_options15418	= { FOLLOW_create_table_option_in_create_table_options15418_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_create_table_option15431  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_create_table_option15431_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_create_table_option15431	= { FOLLOW_ENGINE_SYMBOL_in_create_table_option15431_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TYPE_SYMBOL_in_create_table_option15439  */
static	ANTLR3_BITWORD FOLLOW_TYPE_SYMBOL_in_create_table_option15439_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TYPE_SYMBOL_in_create_table_option15439	= { FOLLOW_TYPE_SYMBOL_in_create_table_option15439_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15442  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15442_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15442	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15442_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_create_table_option15445  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_create_table_option15445_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_create_table_option15445	= { FOLLOW_engine_ref_in_create_table_option15445_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option15450  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option15450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option15450	= { FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option15450_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15452  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15452_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15452	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15452_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option15455  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option15455_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option15455	= { FOLLOW_int_or_param_marker_in_create_table_option15455_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option15460  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option15460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option15460	= { FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option15460_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15462  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15462	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15462_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option15465  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option15465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option15465	= { FOLLOW_int_or_param_marker_in_create_table_option15465_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option15470  */
static	ANTLR3_BITWORD FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option15470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option15470	= { FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option15470_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15472  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15472	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15472_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option15475  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option15475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option15475	= { FOLLOW_int_or_param_marker_in_create_table_option15475_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_create_table_option15480  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_create_table_option15480_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_create_table_option15480	= { FOLLOW_PASSWORD_SYMBOL_in_create_table_option15480_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15482  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15482	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15482_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option15485  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option15485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option15485	= { FOLLOW_text_or_param_marker_in_create_table_option15485_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_table_option15490  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_table_option15490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_table_option15490	= { FOLLOW_COMMENT_SYMBOL_in_create_table_option15490_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15492  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15492_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15492	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15492_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option15495  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option15495_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option15495	= { FOLLOW_text_or_param_marker_in_create_table_option15495_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option15500  */
static	ANTLR3_BITWORD FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option15500_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option15500	= { FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option15500_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15502  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15502	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15502_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option15505  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option15505_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option15505	= { FOLLOW_int_or_param_marker_in_create_table_option15505_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option15510  */
static	ANTLR3_BITWORD FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option15510_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000100), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option15510	= { FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option15510_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15512  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15512_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15512	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15512_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option15515  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option15515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option15515	= { FOLLOW_set_in_create_table_option15515_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option15530  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option15530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000100), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option15530	= { FOLLOW_set_in_create_table_option15530_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15544  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15544_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15544	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15544_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option15548  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option15548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option15548	= { FOLLOW_int_or_param_marker_in_create_table_option15548_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_create_table_option15552  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_create_table_option15552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_create_table_option15552	= { FOLLOW_DEFAULT_SYMBOL_in_create_table_option15552_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option15558  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option15558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option15558	= { FOLLOW_set_in_create_table_option15558_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15566  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15566	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15566_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_create_table_option15569  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_create_table_option15569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_create_table_option15569	= { FOLLOW_INTEGER_in_create_table_option15569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option15575  */
static	ANTLR3_BITWORD FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option15575_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option15575	= { FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option15575_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15577  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15577	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15577_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_create_table_option15580  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_create_table_option15580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_create_table_option15580	= { FOLLOW_INTEGER_in_create_table_option15580_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option15585  */
static	ANTLR3_BITWORD FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option15585_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000014000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000100) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option15585	= { FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option15585_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15587  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15587_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000014000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15587	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15587_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option15590  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option15590_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option15590	= { FOLLOW_set_in_create_table_option15590_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_create_table_option15617  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_create_table_option15617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_create_table_option15617	= { FOLLOW_UNION_SYMBOL_in_create_table_option15617_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15620  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15620_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15620	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15620_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option15623  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option15623_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option15623	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option15623_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_create_table_option15625  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_create_table_option15625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_create_table_option15625	= { FOLLOW_qualified_identifier_list_in_create_table_option15625_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option15627  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option15627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option15627	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option15627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_create_table_option15632  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_create_table_option15632_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000110000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_create_table_option15632	= { FOLLOW_DEFAULT_SYMBOL_in_create_table_option15632_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_create_table_option15642  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_create_table_option15642_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_create_table_option15642	= { FOLLOW_COLLATE_SYMBOL_in_create_table_option15642_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15644  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15644_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15644	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15644_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_create_table_option15647  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_create_table_option15647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_create_table_option15647	= { FOLLOW_collation_name_or_default_in_create_table_option15647_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_create_table_option15654  */
static	ANTLR3_BITWORD FOLLOW_charset_in_create_table_option15654_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000100800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_create_table_option15654	= { FOLLOW_charset_in_create_table_option15654_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15656  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15656_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15656	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15656_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_create_table_option15659  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_create_table_option15659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_create_table_option15659	= { FOLLOW_charset_name_or_default_in_create_table_option15659_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option15669  */
static	ANTLR3_BITWORD FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option15669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option15669	= { FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option15669_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15671  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15671_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15671	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15671_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option15674  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option15674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option15674	= { FOLLOW_set_in_create_table_option15674_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_create_table_option15689  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_create_table_option15689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_create_table_option15689	= { FOLLOW_DATA_SYMBOL_in_create_table_option15689_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15691  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15691_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15691	= { FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15691_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15693  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15693_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15693	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15693_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option15696  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option15696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option15696	= { FOLLOW_text_or_param_marker_in_create_table_option15696_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_table_option15701  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_table_option15701_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_table_option15701	= { FOLLOW_INDEX_SYMBOL_in_create_table_option15701_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15703  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15703_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15703	= { FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15703_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15705  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15705	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15705_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option15708  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option15708_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option15708	= { FOLLOW_text_or_param_marker_in_create_table_option15708_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_create_table_option15713  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_create_table_option15713_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_create_table_option15713	= { FOLLOW_TABLESPACE_SYMBOL_in_create_table_option15713_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_table_option15715  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_table_option15715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_table_option15715	= { FOLLOW_identifier_in_create_table_option15715_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_create_table_option15720  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_create_table_option15720_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_create_table_option15720	= { FOLLOW_STORAGE_SYMBOL_in_create_table_option15720_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option15722  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option15722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option15722	= { FOLLOW_set_in_create_table_option15722_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONNECTION_SYMBOL_in_create_table_option15733  */
static	ANTLR3_BITWORD FOLLOW_CONNECTION_SYMBOL_in_create_table_option15733_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONNECTION_SYMBOL_in_create_table_option15733	= { FOLLOW_CONNECTION_SYMBOL_in_create_table_option15733_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15735  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15735_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15735	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15735_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option15738  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option15738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option15738	= { FOLLOW_text_or_param_marker_in_create_table_option15738_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option15743  */
static	ANTLR3_BITWORD FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option15743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option15743	= { FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option15743_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option15745  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option15745_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option15745	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option15745_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option15748  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option15748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option15748	= { FOLLOW_int_or_param_marker_in_create_table_option15748_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partitioning15762  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partitioning15762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partitioning15762	= { FOLLOW_PARTITION_SYMBOL_in_partitioning15762_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_partitioning15765  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_partitioning15765_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_partitioning15765	= { FOLLOW_BY_SYMBOL_in_partitioning15765_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning15772  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning15772_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning15772	= { FOLLOW_LINEAR_SYMBOL_in_partitioning15772_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HASH_SYMBOL_in_partitioning15775  */
static	ANTLR3_BITWORD FOLLOW_HASH_SYMBOL_in_partitioning15775_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HASH_SYMBOL_in_partitioning15775	= { FOLLOW_HASH_SYMBOL_in_partitioning15775_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15777  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15777_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15777	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15777_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning15779  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning15779_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partitioning15779	= { FOLLOW_expression_in_partitioning15779_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15781  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15781	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15781_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning15787  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning15787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning15787	= { FOLLOW_LINEAR_SYMBOL_in_partitioning15787_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_partitioning15790  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_partitioning15790_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_partitioning15790	= { FOLLOW_KEY_SYMBOL_in_partitioning15790_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_key_algorithm_in_partitioning15792  */
static	ANTLR3_BITWORD FOLLOW_partition_key_algorithm_in_partitioning15792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_key_algorithm_in_partitioning15792	= { FOLLOW_partition_key_algorithm_in_partitioning15792_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning15795  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning15795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_partitioning15795	= { FOLLOW_identifier_list_with_parentheses_in_partitioning15795_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_partitioning15801  */
static	ANTLR3_BITWORD FOLLOW_set_in_partitioning15801_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_partitioning15801	= { FOLLOW_set_in_partitioning15801_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15819  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15819_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15819	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15819_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning15821  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning15821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partitioning15821	= { FOLLOW_expression_in_partitioning15821_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15823  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15823_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15823	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15823_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_partitioning15835  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_partitioning15835_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_partitioning15835	= { FOLLOW_COLUMNS_SYMBOL_in_partitioning15835_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning15837  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning15837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_partitioning15837	= { FOLLOW_identifier_list_with_parentheses_in_partitioning15837_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_partitioning15849  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_partitioning15849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_partitioning15849	= { FOLLOW_PARTITIONS_SYMBOL_in_partitioning15849_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partitioning15851  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partitioning15851_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partitioning15851	= { FOLLOW_INTEGER_in_partitioning15851_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITION_SYMBOL_in_partitioning15860  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITION_SYMBOL_in_partitioning15860_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITION_SYMBOL_in_partitioning15860	= { FOLLOW_SUBPARTITION_SYMBOL_in_partitioning15860_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_partitioning15862  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_partitioning15862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020040000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_partitioning15862	= { FOLLOW_BY_SYMBOL_in_partitioning15862_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning15864  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning15864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning15864	= { FOLLOW_LINEAR_SYMBOL_in_partitioning15864_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HASH_SYMBOL_in_partitioning15881  */
static	ANTLR3_BITWORD FOLLOW_HASH_SYMBOL_in_partitioning15881_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HASH_SYMBOL_in_partitioning15881	= { FOLLOW_HASH_SYMBOL_in_partitioning15881_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15883  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15883_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15883	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15883_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning15885  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning15885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partitioning15885	= { FOLLOW_expression_in_partitioning15885_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15887  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15887_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15887	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15887_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_partitioning15895  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_partitioning15895_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_partitioning15895	= { FOLLOW_KEY_SYMBOL_in_partitioning15895_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_key_algorithm_in_partitioning15897  */
static	ANTLR3_BITWORD FOLLOW_partition_key_algorithm_in_partitioning15897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_key_algorithm_in_partitioning15897	= { FOLLOW_partition_key_algorithm_in_partitioning15897_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning15900  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning15900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_partitioning15900	= { FOLLOW_identifier_list_with_parentheses_in_partitioning15900_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning15911  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning15911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning15911	= { FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning15911_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partitioning15913  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partitioning15913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partitioning15913	= { FOLLOW_INTEGER_in_partitioning15913_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definitions_in_partitioning15933  */
static	ANTLR3_BITWORD FOLLOW_partition_definitions_in_partitioning15933_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definitions_in_partitioning15933	= { FOLLOW_partition_definitions_in_partitioning15933_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_partition_key_algorithm15948  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_partition_key_algorithm15948_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALGORITHM_SYMBOL_in_partition_key_algorithm15948	= { FOLLOW_ALGORITHM_SYMBOL_in_partition_key_algorithm15948_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_key_algorithm15950  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_key_algorithm15950_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_key_algorithm15950	= { FOLLOW_EQUAL_OPERATOR_in_partition_key_algorithm15950_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partition_key_algorithm15952  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partition_key_algorithm15952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partition_key_algorithm15952	= { FOLLOW_INTEGER_in_partition_key_algorithm15952_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions15961  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions15961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions15961	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions15961_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_partition_definitions15963  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_partition_definitions15963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definition_in_partition_definitions15963	= { FOLLOW_partition_definition_in_partition_definitions15963_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_definitions15966  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_definitions15966_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_partition_definitions15966	= { FOLLOW_COMMA_SYMBOL_in_partition_definitions15966_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_partition_definitions15968  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_partition_definitions15968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definition_in_partition_definitions15968	= { FOLLOW_partition_definition_in_partition_definitions15968_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions15972  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions15972_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions15972	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions15972_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partition_definition15981  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partition_definition15981_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partition_definition15981	= { FOLLOW_PARTITION_SYMBOL_in_partition_definition15981_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition15983  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition15983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_partition_definition15983	= { FOLLOW_identifier_in_partition_definition15983_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUES_SYMBOL_in_partition_definition15990  */
static	ANTLR3_BITWORD FOLLOW_VALUES_SYMBOL_in_partition_definition15990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUES_SYMBOL_in_partition_definition15990	= { FOLLOW_VALUES_SYMBOL_in_partition_definition15990_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LESS_SYMBOL_in_partition_definition15999  */
static	ANTLR3_BITWORD FOLLOW_LESS_SYMBOL_in_partition_definition15999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_LESS_SYMBOL_in_partition_definition15999	= { FOLLOW_LESS_SYMBOL_in_partition_definition15999_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THAN_SYMBOL_in_partition_definition16001  */
static	ANTLR3_BITWORD FOLLOW_THAN_SYMBOL_in_partition_definition16001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_THAN_SYMBOL_in_partition_definition16001	= { FOLLOW_THAN_SYMBOL_in_partition_definition16001_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_value_list_in_partition_definition16004  */
static	ANTLR3_BITWORD FOLLOW_partition_value_list_in_partition_definition16004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_value_list_in_partition_definition16004	= { FOLLOW_partition_value_list_in_partition_definition16004_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_definition16008  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_definition16008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_definition16008	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_definition16008_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_partition_definition16016  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_partition_definition16016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_partition_definition16016	= { FOLLOW_IN_SYMBOL_in_partition_definition16016_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_value_list_in_partition_definition16018  */
static	ANTLR3_BITWORD FOLLOW_partition_value_list_in_partition_definition16018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_value_list_in_partition_definition16018	= { FOLLOW_partition_value_list_in_partition_definition16018_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_option_in_partition_definition16030  */
static	ANTLR3_BITWORD FOLLOW_partition_option_in_partition_definition16030_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_option_in_partition_definition16030	= { FOLLOW_partition_option_in_partition_definition16030_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition16036  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition16036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition16036	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition16036_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subpartition_definition_in_partition_definition16038  */
static	ANTLR3_BITWORD FOLLOW_subpartition_definition_in_partition_definition16038_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_subpartition_definition_in_partition_definition16038	= { FOLLOW_subpartition_definition_in_partition_definition16038_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_definition16041  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_definition16041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_partition_definition16041	= { FOLLOW_COMMA_SYMBOL_in_partition_definition16041_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subpartition_definition_in_partition_definition16043  */
static	ANTLR3_BITWORD FOLLOW_subpartition_definition_in_partition_definition16043_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_subpartition_definition_in_partition_definition16043	= { FOLLOW_subpartition_definition_in_partition_definition16043_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition16047  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition16047_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition16047	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition16047_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_partition_option16058  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_partition_option16058_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_partition_option16058	= { FOLLOW_TABLESPACE_SYMBOL_in_partition_option16058_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_option16060  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_option16060_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_option16060	= { FOLLOW_EQUAL_OPERATOR_in_partition_option16060_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_partition_option16063  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_partition_option16063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_partition_option16063	= { FOLLOW_text_or_identifier_in_partition_option16063_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_partition_option16068  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_partition_option16068_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_partition_option16068	= { FOLLOW_STORAGE_SYMBOL_in_partition_option16068_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_partition_option16071  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_partition_option16071_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_partition_option16071	= { FOLLOW_ENGINE_SYMBOL_in_partition_option16071_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_option16073  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_option16073_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_option16073	= { FOLLOW_EQUAL_OPERATOR_in_partition_option16073_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_engine_ref_in_partition_option16076  */
static	ANTLR3_BITWORD FOLLOW_engine_ref_in_partition_option16076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_engine_ref_in_partition_option16076	= { FOLLOW_engine_ref_in_partition_option16076_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_partition_option16081  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_partition_option16081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_partition_option16081	= { FOLLOW_NODEGROUP_SYMBOL_in_partition_option16081_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_option16083  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_option16083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_option16083	= { FOLLOW_EQUAL_OPERATOR_in_partition_option16083_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_partition_option16086  */
static	ANTLR3_BITWORD FOLLOW_number_in_partition_option16086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_in_partition_option16086	= { FOLLOW_number_in_partition_option16086_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_partition_option16091  */
static	ANTLR3_BITWORD FOLLOW_set_in_partition_option16091_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_partition_option16091	= { FOLLOW_set_in_partition_option16091_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_option16099  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_option16099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_option16099	= { FOLLOW_EQUAL_OPERATOR_in_partition_option16099_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_in_partition_option16102  */
static	ANTLR3_BITWORD FOLLOW_number_in_partition_option16102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_in_partition_option16102	= { FOLLOW_number_in_partition_option16102_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_partition_option16107  */
static	ANTLR3_BITWORD FOLLOW_set_in_partition_option16107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_partition_option16107	= { FOLLOW_set_in_partition_option16107_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_partition_option16115  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_partition_option16115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_partition_option16115	= { FOLLOW_DIRECTORY_SYMBOL_in_partition_option16115_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_option16117  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_option16117_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_option16117	= { FOLLOW_EQUAL_OPERATOR_in_partition_option16117_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_option16120  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_option16120_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_option16120	= { FOLLOW_string_literal_in_partition_option16120_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_partition_option16125  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_partition_option16125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_partition_option16125	= { FOLLOW_COMMENT_SYMBOL_in_partition_option16125_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_option16127  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_option16127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_option16127	= { FOLLOW_EQUAL_OPERATOR_in_partition_option16127_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_option16130  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_option16130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_option16130	= { FOLLOW_string_literal_in_partition_option16130_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition16139  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition16139_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition16139	= { FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition16139_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition16141  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition16141_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x1000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition16141	= { FOLLOW_identifier_in_subpartition_definition16141_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_subpartition_definition16146  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_subpartition_definition16146_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_subpartition_definition16146	= { FOLLOW_STORAGE_SYMBOL_in_subpartition_definition16146_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_subpartition_definition16149  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_subpartition_definition16149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_subpartition_definition16149	= { FOLLOW_ENGINE_SYMBOL_in_subpartition_definition16149_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16151  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16151	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16151_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_subpartition_definition16154  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_subpartition_definition16154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001002), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_subpartition_definition16154	= { FOLLOW_IDENTIFIER_in_subpartition_definition16154_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_subpartition_definition16161  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_subpartition_definition16161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_subpartition_definition16161	= { FOLLOW_COMMENT_SYMBOL_in_subpartition_definition16161_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16163  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16163	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16163_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition16166  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition16166_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition16166	= { FOLLOW_string_literal_in_subpartition_definition16166_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_subpartition_definition16173  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_subpartition_definition16173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_subpartition_definition16173	= { FOLLOW_DATA_SYMBOL_in_subpartition_definition16173_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16175  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16175	= { FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16175_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16177  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16177	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16177_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition16180  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition16180_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition16180	= { FOLLOW_string_literal_in_subpartition_definition16180_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_subpartition_definition16187  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_subpartition_definition16187_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_subpartition_definition16187	= { FOLLOW_INDEX_SYMBOL_in_subpartition_definition16187_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16189  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16189	= { FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16189_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16191  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16191_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16191	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16191_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition16194  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition16194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition16194	= { FOLLOW_string_literal_in_subpartition_definition16194_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition16201  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition16201_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition16201	= { FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition16201_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16203  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16203	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16203_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_subpartition_definition16206  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_subpartition_definition16206_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_subpartition_definition16206	= { FOLLOW_INTEGER_in_subpartition_definition16206_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition16213  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition16213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition16213	= { FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition16213_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16215  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16215_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16215	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16215_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_subpartition_definition16218  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_subpartition_definition16218_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_subpartition_definition16218	= { FOLLOW_INTEGER_in_subpartition_definition16218_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition16225  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition16225_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition16225	= { FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition16225_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16227  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16227_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16227	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16227_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition16230  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition16230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition16230	= { FOLLOW_identifier_in_subpartition_definition16230_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition16237  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition16237_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000100800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition16237	= { FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition16237_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16239  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16239_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16239	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16239_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition16242  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition16242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition16242	= { FOLLOW_identifier_in_subpartition_definition16242_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list16253  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list16253_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108483802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list16253	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list16253_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partition_value_list16256  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partition_value_list16256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partition_value_list16256	= { FOLLOW_expression_in_partition_value_list16256_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16260  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16260	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16260_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_value_list16264  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_value_list16264_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108483802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_partition_value_list16264	= { FOLLOW_COMMA_SYMBOL_in_partition_value_list16264_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partition_value_list16267  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partition_value_list16267_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partition_value_list16267	= { FOLLOW_expression_in_partition_value_list16267_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16271  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16271	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16271_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list16276  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list16276_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list16276	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list16276_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFINER_SYMBOL_in_definer_clause16285  */
static	ANTLR3_BITWORD FOLLOW_DEFINER_SYMBOL_in_definer_clause16285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFINER_SYMBOL_in_definer_clause16285	= { FOLLOW_DEFINER_SYMBOL_in_definer_clause16285_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_definer_clause16288  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_definer_clause16288_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_definer_clause16288	= { FOLLOW_EQUAL_OPERATOR_in_definer_clause16288_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_definer_clause16290  */
static	ANTLR3_BITWORD FOLLOW_user_in_definer_clause16290_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_definer_clause16290	= { FOLLOW_user_in_definer_clause16290_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_exists16299  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_exists16299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_exists16299	= { FOLLOW_IF_SYMBOL_in_if_exists16299_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_if_exists16301  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_if_exists16301_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_if_exists16301	= { FOLLOW_EXISTS_SYMBOL_in_if_exists16301_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_not_exists16310  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_not_exists16310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_not_exists16310	= { FOLLOW_IF_SYMBOL_in_if_not_exists16310_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_if_not_exists16312  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_if_not_exists16312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_if_not_exists16312	= { FOLLOW_NOT_SYMBOL_in_if_not_exists16312_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_if_not_exists16314  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_if_not_exists16314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_if_not_exists16314	= { FOLLOW_EXISTS_SYMBOL_in_if_not_exists16314_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_procedure_parameter16336  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_procedure_parameter16336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_procedure_parameter16336	= { FOLLOW_function_parameter_in_procedure_parameter16336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_function_parameter16345  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_function_parameter16345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800180000000680), ANTLR3_UINT64_LIT(0x00000800000D0000), ANTLR3_UINT64_LIT(0x0300020187000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0002000001220000), ANTLR3_UINT64_LIT(0x0000000010010030), ANTLR3_UINT64_LIT(0x0004000001000020), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x000020000001C058), ANTLR3_UINT64_LIT(0x0020080000004000), ANTLR3_UINT64_LIT(0xA000000380000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_function_parameter16345	= { FOLLOW_identifier_in_function_parameter16345_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_function_parameter16347  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_function_parameter16347_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_function_parameter16347	= { FOLLOW_data_type_in_function_parameter16347_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_schema_identifier_pair16356  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_schema_identifier_pair16356_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_schema_identifier_pair16356	= { FOLLOW_OPEN_PAR_SYMBOL_in_schema_identifier_pair16356_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_schema_identifier_pair16358  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_schema_identifier_pair16358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_schema_identifier_pair16358	= { FOLLOW_schema_ref_in_schema_identifier_pair16358_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_schema_identifier_pair16360  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_schema_identifier_pair16360_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_schema_identifier_pair16360	= { FOLLOW_COMMA_SYMBOL_in_schema_identifier_pair16360_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schema_ref_in_schema_identifier_pair16362  */
static	ANTLR3_BITWORD FOLLOW_schema_ref_in_schema_identifier_pair16362_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schema_ref_in_schema_identifier_pair16362	= { FOLLOW_schema_ref_in_schema_identifier_pair16362_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_schema_identifier_pair16364  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_schema_identifier_pair16364_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_schema_identifier_pair16364	= { FOLLOW_CLOSE_PAR_SYMBOL_in_schema_identifier_pair16364_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_table_identifier_list16373  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_table_identifier_list16373_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_table_identifier_list16373	= { FOLLOW_table_ref_in_table_identifier_list16373_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_identifier_list16376  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_identifier_list16376_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000900000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_identifier_list16376	= { FOLLOW_COMMA_SYMBOL_in_table_identifier_list16376_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_ref_in_table_identifier_list16378  */
static	ANTLR3_BITWORD FOLLOW_table_ref_in_table_identifier_list16378_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_ref_in_table_identifier_list16378	= { FOLLOW_table_ref_in_table_identifier_list16378_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_ref_in_view_identifier_list16396  */
static	ANTLR3_BITWORD FOLLOW_view_ref_in_view_identifier_list16396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_ref_in_view_identifier_list16396	= { FOLLOW_view_ref_in_view_identifier_list16396_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_view_identifier_list16399  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_view_identifier_list16399_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_view_identifier_list16399	= { FOLLOW_COMMA_SYMBOL_in_view_identifier_list16399_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_ref_in_view_identifier_list16401  */
static	ANTLR3_BITWORD FOLLOW_view_ref_in_view_identifier_list16401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_ref_in_view_identifier_list16401	= { FOLLOW_view_ref_in_view_identifier_list16401_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_field_name_list16419  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_field_name_list16419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_field_name_list16419	= { FOLLOW_column_ref_in_field_name_list16419_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_field_name_list16422  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_field_name_list16422_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_field_name_list16422	= { FOLLOW_COMMA_SYMBOL_in_field_name_list16422_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_field_name_list16424  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_field_name_list16424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_field_name_list16424	= { FOLLOW_column_ref_in_field_name_list16424_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16435  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16435_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16435	= { FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16435_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default16438  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default16438_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default16438	= { FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default16438_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16440  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16440	= { FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16440_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_in_column_assignment_with_default16468  */
static	ANTLR3_BITWORD FOLLOW_column_ref_in_column_assignment_with_default16468_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_in_column_assignment_with_default16468	= { FOLLOW_column_ref_in_column_assignment_with_default16468_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default16470  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default16470_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800100), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default16470	= { FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default16470_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_assignment_with_default16473  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_assignment_with_default16473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_assignment_with_default16473	= { FOLLOW_expression_in_column_assignment_with_default16473_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default16477  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default16477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default16477	= { FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default16477_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_charset_clause16487  */
static	ANTLR3_BITWORD FOLLOW_charset_in_charset_clause16487_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000022), ANTLR3_UINT64_LIT(0x0000000000800100), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_charset_clause16487	= { FOLLOW_charset_in_charset_clause16487_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_charset_clause16490  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_charset_clause16490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_charset_clause16490	= { FOLLOW_text_or_identifier_in_charset_clause16490_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_charset_clause16494  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_charset_clause16494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_charset_clause16494	= { FOLLOW_DEFAULT_SYMBOL_in_charset_clause16494_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_charset_clause16498  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_charset_clause16498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_charset_clause16498	= { FOLLOW_BINARY_SYMBOL_in_charset_clause16498_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_fields_clause16508  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_fields_clause16508_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000240000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_fields_clause16508	= { FOLLOW_COLUMNS_SYMBOL_in_fields_clause16508_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_term_in_fields_clause16510  */
static	ANTLR3_BITWORD FOLLOW_field_term_in_fields_clause16510_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000240000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_term_in_fields_clause16510	= { FOLLOW_field_term_in_fields_clause16510_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TERMINATED_SYMBOL_in_field_term16520  */
static	ANTLR3_BITWORD FOLLOW_TERMINATED_SYMBOL_in_field_term16520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_TERMINATED_SYMBOL_in_field_term16520	= { FOLLOW_TERMINATED_SYMBOL_in_field_term16520_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term16522  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term16522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term16522	= { FOLLOW_BY_SYMBOL_in_field_term16522_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_field_term16524  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_field_term16524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_field_term16524	= { FOLLOW_text_string_in_field_term16524_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIONALLY_SYMBOL_in_field_term16529  */
static	ANTLR3_BITWORD FOLLOW_OPTIONALLY_SYMBOL_in_field_term16529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIONALLY_SYMBOL_in_field_term16529	= { FOLLOW_OPTIONALLY_SYMBOL_in_field_term16529_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENCLOSED_SYMBOL_in_field_term16532  */
static	ANTLR3_BITWORD FOLLOW_ENCLOSED_SYMBOL_in_field_term16532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENCLOSED_SYMBOL_in_field_term16532	= { FOLLOW_ENCLOSED_SYMBOL_in_field_term16532_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term16534  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term16534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term16534	= { FOLLOW_BY_SYMBOL_in_field_term16534_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_field_term16536  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_field_term16536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_field_term16536	= { FOLLOW_text_string_in_field_term16536_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ESCAPED_SYMBOL_in_field_term16541  */
static	ANTLR3_BITWORD FOLLOW_ESCAPED_SYMBOL_in_field_term16541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_ESCAPED_SYMBOL_in_field_term16541	= { FOLLOW_ESCAPED_SYMBOL_in_field_term16541_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term16543  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term16543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term16543	= { FOLLOW_BY_SYMBOL_in_field_term16543_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_field_term16545  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_field_term16545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_field_term16545	= { FOLLOW_text_string_in_field_term16545_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINES_SYMBOL_in_lines_clause16554  */
static	ANTLR3_BITWORD FOLLOW_LINES_SYMBOL_in_lines_clause16554_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000200) };
static  ANTLR3_BITSET_LIST FOLLOW_LINES_SYMBOL_in_lines_clause16554	= { FOLLOW_LINES_SYMBOL_in_lines_clause16554_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_line_term_in_lines_clause16556  */
static	ANTLR3_BITWORD FOLLOW_line_term_in_lines_clause16556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000200) };
static  ANTLR3_BITSET_LIST FOLLOW_line_term_in_lines_clause16556	= { FOLLOW_line_term_in_lines_clause16556_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_line_term16566  */
static	ANTLR3_BITWORD FOLLOW_set_in_line_term16566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_line_term16566	= { FOLLOW_set_in_line_term16566_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_line_term16574  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_line_term16574_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_line_term16574	= { FOLLOW_BY_SYMBOL_in_line_term16574_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_line_term16576  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_line_term16576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_line_term16576	= { FOLLOW_text_string_in_line_term16576_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_list16585  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_list16585_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_list16585	= { FOLLOW_user_in_user_list16585_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_user_list16588  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_user_list16588_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0010000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_user_list16588	= { FOLLOW_COMMA_SYMBOL_in_user_list16588_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_list16590  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_list16590_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_list16590	= { FOLLOW_user_in_user_list16590_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_specification16601  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_specification16601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_specification16601	= { FOLLOW_user_in_user_specification16601_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIED_SYMBOL_in_user_specification16608  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIED_SYMBOL_in_user_specification16608_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIED_SYMBOL_in_user_specification16608	= { FOLLOW_IDENTIFIED_SYMBOL_in_user_specification16608_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_user_specification16617  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_user_specification16617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_user_specification16617	= { FOLLOW_BY_SYMBOL_in_user_specification16617_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_user_specification16619  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_user_specification16619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_user_specification16619	= { FOLLOW_PASSWORD_SYMBOL_in_user_specification16619_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_user_specification16622  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_user_specification16622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_user_specification16622	= { FOLLOW_string_literal_in_user_specification16622_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_user_specification16629  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_user_specification16629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_user_specification16629	= { FOLLOW_WITH_SYMBOL_in_user_specification16629_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_user_specification16631  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_user_specification16631_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_user_specification16631	= { FOLLOW_pure_identifier_in_user_specification16631_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_user_specification16634  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_user_specification16634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_user_specification16634	= { FOLLOW_AS_SYMBOL_in_user_specification16634_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_user_specification16636  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_user_specification16636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_user_specification16636	= { FOLLOW_string_literal_in_user_specification16636_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user16655  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user16655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xC000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user16655	= { FOLLOW_text_or_identifier_in_user16655_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_user16658  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_user16658_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_user16658	= { FOLLOW_AT_SIGN_SYMBOL_in_user16658_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user16660  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user16660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user16660	= { FOLLOW_text_or_identifier_in_user16660_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_TEXT_SUFFIX_in_user16664  */
static	ANTLR3_BITWORD FOLLOW_AT_TEXT_SUFFIX_in_user16664_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_TEXT_SUFFIX_in_user16664	= { FOLLOW_AT_TEXT_SUFFIX_in_user16664_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_USER_SYMBOL_in_user16671  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_USER_SYMBOL_in_user16671_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_USER_SYMBOL_in_user16671	= { FOLLOW_CURRENT_USER_SYMBOL_in_user16671_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_user16673  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_user16673_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_user16673	= { FOLLOW_parentheses_in_user16673_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_like_clause16683  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_like_clause16683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000100000000), ANTLR3_UINT64_LIT(0x0008000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_like_clause16683	= { FOLLOW_LIKE_SYMBOL_in_like_clause16683_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_like_clause16685  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_like_clause16685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_like_clause16685	= { FOLLOW_text_or_param_marker_in_like_clause16685_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_clause_in_like_or_where16694  */
static	ANTLR3_BITWORD FOLLOW_like_clause_in_like_or_where16694_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_clause_in_like_or_where16694	= { FOLLOW_like_clause_in_like_or_where16694_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_like_or_where16698  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_like_or_where16698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_like_or_where16698	= { FOLLOW_where_clause_in_like_or_where16698_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_online_option16711  */
static	ANTLR3_BITWORD FOLLOW_set_in_online_option16711_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_online_option16711	= { FOLLOW_set_in_online_option16711_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log16730  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log16730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log16730	= { FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log16730_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log16736  */
static	ANTLR3_BITWORD FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log16736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log16736	= { FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log16736_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_use_partition16749  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_use_partition16749_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_use_partition16749	= { FOLLOW_PARTITION_SYMBOL_in_use_partition16749_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_use_partition16751  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_use_partition16751_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_use_partition16751	= { FOLLOW_identifier_list_with_parentheses_in_use_partition16751_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_column_name16768  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_column_name16768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_column_name16768	= { FOLLOW_identifier_in_column_name16768_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_column_ref16785  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_column_ref16785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_column_ref16785	= { FOLLOW_qualified_identifier_in_column_ref16785_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_column_ref16788  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_column_ref16788_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_column_ref16788	= { FOLLOW_DOT_SYMBOL_in_column_ref16788_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_column_ref16790  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_column_ref16790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_column_ref16790	= { FOLLOW_identifier_in_column_ref16790_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_column_internal_ref16816  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_column_internal_ref16816_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_column_internal_ref16816	= { FOLLOW_identifier_in_column_internal_ref16816_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_ref_with_wildcard2_in_column_ref_with_wildcard16833  */
static	ANTLR3_BITWORD FOLLOW_column_ref_with_wildcard2_in_column_ref_with_wildcard16833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_ref_with_wildcard2_in_column_ref_with_wildcard16833	= { FOLLOW_column_ref_with_wildcard2_in_column_ref_with_wildcard16833_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_column_ref_with_wildcard216852  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_column_ref_with_wildcard216852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_column_ref_with_wildcard216852	= { FOLLOW_qualified_identifier_in_column_ref_with_wildcard216852_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_column_ref_with_wildcard216855  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_column_ref_with_wildcard216855_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_column_ref_with_wildcard216855	= { FOLLOW_DOT_SYMBOL_in_column_ref_with_wildcard216855_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_column_ref_with_wildcard216858  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_column_ref_with_wildcard216858_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_column_ref_with_wildcard216858	= { FOLLOW_identifier_in_column_ref_with_wildcard216858_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_column_ref_with_wildcard216862  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_column_ref_with_wildcard216862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_column_ref_with_wildcard216862	= { FOLLOW_MULT_OPERATOR_in_column_ref_with_wildcard216862_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_table_wild16875  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_table_wild16875_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_table_wild16875	= { FOLLOW_qualified_identifier_in_table_wild16875_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_wild16877  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_wild16877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_wild16877	= { FOLLOW_DOT_SYMBOL_in_table_wild16877_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_table_wild16879  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_table_wild16879_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_table_wild16879	= { FOLLOW_MULT_OPERATOR_in_table_wild16879_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_schema_name16895  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_schema_name16895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_schema_name16895	= { FOLLOW_identifier_in_schema_name16895_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_schema_ref16912  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_schema_ref16912_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_schema_ref16912	= { FOLLOW_identifier_in_schema_ref16912_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_procedure_name16929  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_procedure_name16929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_procedure_name16929	= { FOLLOW_qualified_identifier_in_procedure_name16929_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_procedure_ref16946  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_procedure_ref16946_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_procedure_ref16946	= { FOLLOW_qualified_identifier_in_procedure_ref16946_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_function_name16963  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_function_name16963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_function_name16963	= { FOLLOW_qualified_identifier_in_function_name16963_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_function_ref16980  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_function_ref16980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_function_ref16980	= { FOLLOW_qualified_identifier_in_function_ref16980_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_trigger_name16997  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_trigger_name16997_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_trigger_name16997	= { FOLLOW_qualified_identifier_in_trigger_name16997_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_trigger_ref17014  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_trigger_ref17014_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_trigger_ref17014	= { FOLLOW_qualified_identifier_in_trigger_ref17014_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_variants_in_view_name17031  */
static	ANTLR3_BITWORD FOLLOW_table_name_variants_in_view_name17031_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_name_variants_in_view_name17031	= { FOLLOW_table_name_variants_in_view_name17031_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_view_ref17048  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_view_ref17048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_view_ref17048	= { FOLLOW_qualified_identifier_in_view_ref17048_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_tablespace_name17065  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_tablespace_name17065_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_tablespace_name17065	= { FOLLOW_identifier_in_tablespace_name17065_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_tablespace_ref17082  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_tablespace_ref17082_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_tablespace_ref17082	= { FOLLOW_identifier_in_tablespace_ref17082_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_logfile_group_name17099  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_logfile_group_name17099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_logfile_group_name17099	= { FOLLOW_identifier_in_logfile_group_name17099_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_logfile_group_ref17116  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_logfile_group_ref17116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_logfile_group_ref17116	= { FOLLOW_identifier_in_logfile_group_ref17116_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_event_name17133  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_event_name17133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_event_name17133	= { FOLLOW_qualified_identifier_in_event_name17133_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_event_ref17150  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_event_ref17150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_event_ref17150	= { FOLLOW_qualified_identifier_in_event_ref17150_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_udf_name17168  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_udf_name17168_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_udf_name17168	= { FOLLOW_identifier_in_udf_name17168_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_engine_ref17185  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_engine_ref17185_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_engine_ref17185	= { FOLLOW_text_or_identifier_in_engine_ref17185_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_variants_in_table_name17194  */
static	ANTLR3_BITWORD FOLLOW_table_name_variants_in_table_name17194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_name_variants_in_table_name17194	= { FOLLOW_table_name_variants_in_table_name17194_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_filter_table_ref17212  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_filter_table_ref17212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_filter_table_ref17212	= { FOLLOW_identifier_in_filter_table_ref17212_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_filter_table_ref17214  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_filter_table_ref17214_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_filter_table_ref17214	= { FOLLOW_DOT_SYMBOL_in_filter_table_ref17214_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_filter_table_ref17216  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_filter_table_ref17216_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_filter_table_ref17216	= { FOLLOW_identifier_in_filter_table_ref17216_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_table_ref_with_wildcard17237  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_table_ref_with_wildcard17237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_table_ref_with_wildcard17237	= { FOLLOW_qualified_identifier_in_table_ref_with_wildcard17237_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_ref_with_wildcard17240  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_ref_with_wildcard17240_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_ref_with_wildcard17240	= { FOLLOW_DOT_SYMBOL_in_table_ref_with_wildcard17240_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_table_ref_with_wildcard17242  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_table_ref_with_wildcard17242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_table_ref_with_wildcard17242	= { FOLLOW_MULT_OPERATOR_in_table_ref_with_wildcard17242_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_variants_in_table_ref17268  */
static	ANTLR3_BITWORD FOLLOW_table_name_variants_in_table_ref17268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_name_variants_in_table_ref17268	= { FOLLOW_table_name_variants_in_table_ref17268_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_ref_no_db17285  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_ref_no_db17285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_ref_no_db17285	= { FOLLOW_identifier_in_table_ref_no_db17285_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_name_variants17306  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_name_variants17306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_name_variants17306	= { FOLLOW_identifier_in_table_name_variants17306_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_name_variants17322  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_name_variants17322_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_name_variants17322	= { FOLLOW_DOT_SYMBOL_in_table_name_variants17322_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_name_variants17324  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_name_variants17324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_name_variants17324	= { FOLLOW_identifier_in_table_name_variants17324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_name_variants17331  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_name_variants17331_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_name_variants17331	= { FOLLOW_DOT_SYMBOL_in_table_name_variants17331_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_name_variants17333  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_name_variants17333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_name_variants17333	= { FOLLOW_identifier_in_table_name_variants17333_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_pure_identifier17345  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_pure_identifier17345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_pure_identifier17345	= { FOLLOW_IDENTIFIER_in_pure_identifier17345_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier17350  */
static	ANTLR3_BITWORD FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier17350_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier17350	= { FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier17350_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier17359  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier17359_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier17359	= { FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier17359_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_identifier17369  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_identifier17369_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_identifier17369	= { FOLLOW_pure_identifier_in_identifier17369_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_in_identifier17374  */
static	ANTLR3_BITWORD FOLLOW_keyword_in_identifier17374_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_in_identifier17374	= { FOLLOW_keyword_in_identifier17374_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_identifier_list17383  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_identifier_list17383_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_identifier_list17383	= { FOLLOW_identifier_in_identifier_list17383_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_identifier_list17399  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_identifier_list17399_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_identifier_list17399	= { FOLLOW_COMMA_SYMBOL_in_identifier_list17399_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_identifier_list17401  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_identifier_list17401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_identifier_list17401	= { FOLLOW_identifier_in_identifier_list17401_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses17412  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses17412_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses17412	= { FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses17412_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_identifier_list_with_parentheses17414  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_identifier_list_with_parentheses17414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_identifier_list_with_parentheses17414	= { FOLLOW_identifier_list_in_identifier_list_with_parentheses17414_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses17416  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses17416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses17416	= { FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses17416_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_list17425  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_list17425_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_qualified_identifier_list17425	= { FOLLOW_qualified_identifier_in_qualified_identifier_list17425_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list17428  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list17428_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list17428	= { FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list17428_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_list17430  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_list17430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_qualified_identifier_list17430	= { FOLLOW_qualified_identifier_in_qualified_identifier_list17430_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_qualified_identifier17448  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_qualified_identifier17448_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_qualified_identifier17448	= { FOLLOW_identifier_in_qualified_identifier17448_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_qualified_identifier17464  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_qualified_identifier17464_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_qualified_identifier17464	= { FOLLOW_DOT_SYMBOL_in_qualified_identifier17464_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_qualified_identifier17466  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_qualified_identifier17466_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_qualified_identifier17466	= { FOLLOW_identifier_in_qualified_identifier17466_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_integer_list17477  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_integer_list17477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_integer_list17477	= { FOLLOW_INTEGER_in_integer_list17477_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_integer_list17480  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_integer_list17480_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_integer_list17480	= { FOLLOW_COMMA_SYMBOL_in_integer_list17480_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_integer_list17482  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_integer_list17482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_integer_list17482	= { FOLLOW_INTEGER_in_integer_list17482_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_string_list17493  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_string_list17493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_string_list17493	= { FOLLOW_OPEN_PAR_SYMBOL_in_string_list17493_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_string_list17495  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_string_list17495_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_string_list17495	= { FOLLOW_text_string_in_string_list17495_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_string_list17498  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_string_list17498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_string_list17498	= { FOLLOW_COMMA_SYMBOL_in_string_list17498_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_string_in_string_list17500  */
static	ANTLR3_BITWORD FOLLOW_text_string_in_string_list17500_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_string_in_string_list17500	= { FOLLOW_text_string_in_string_list17500_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_string_list17504  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_string_list17504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_string_list17504	= { FOLLOW_CLOSE_PAR_SYMBOL_in_string_list17504_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_literal17532  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_literal17532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_literal17532	= { FOLLOW_string_literal_in_literal17532_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_literal_in_literal17537  */
static	ANTLR3_BITWORD FOLLOW_number_literal_in_literal17537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_literal_in_literal17537	= { FOLLOW_number_literal_in_literal17537_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_hex_literal_in_literal17542  */
static	ANTLR3_BITWORD FOLLOW_hex_literal_in_literal17542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_hex_literal_in_literal17542	= { FOLLOW_hex_literal_in_literal17542_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bool_literal_in_literal17547  */
static	ANTLR3_BITWORD FOLLOW_bool_literal_in_literal17547_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bool_literal_in_literal17547	= { FOLLOW_bool_literal_in_literal17547_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bit_literal_in_literal17556  */
static	ANTLR3_BITWORD FOLLOW_bit_literal_in_literal17556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bit_literal_in_literal17556	= { FOLLOW_bit_literal_in_literal17556_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_literal17561  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_literal17561_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_literal17561	= { FOLLOW_null_literal_in_literal17561_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_temporal_literal_in_literal17573  */
static	ANTLR3_BITWORD FOLLOW_temporal_literal_in_literal17573_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_temporal_literal_in_literal17573	= { FOLLOW_temporal_literal_in_literal17573_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_signed_literal17582  */
static	ANTLR3_BITWORD FOLLOW_literal_in_signed_literal17582_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_signed_literal17582	= { FOLLOW_literal_in_signed_literal17582_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUS_OPERATOR_in_signed_literal17587  */
static	ANTLR3_BITWORD FOLLOW_PLUS_OPERATOR_in_signed_literal17587_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUS_OPERATOR_in_signed_literal17587	= { FOLLOW_PLUS_OPERATOR_in_signed_literal17587_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_literal_in_signed_literal17589  */
static	ANTLR3_BITWORD FOLLOW_number_literal_in_signed_literal17589_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_literal_in_signed_literal17589	= { FOLLOW_number_literal_in_signed_literal17589_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_OPERATOR_in_signed_literal17594  */
static	ANTLR3_BITWORD FOLLOW_MINUS_OPERATOR_in_signed_literal17594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUS_OPERATOR_in_signed_literal17594	= { FOLLOW_MINUS_OPERATOR_in_signed_literal17594_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_literal_in_signed_literal17596  */
static	ANTLR3_BITWORD FOLLOW_number_literal_in_signed_literal17596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_literal_in_signed_literal17596	= { FOLLOW_number_literal_in_signed_literal17596_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_string_literal17607  */
static	ANTLR3_BITWORD FOLLOW_string_in_string_literal17607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_in_string_literal17607	= { FOLLOW_string_in_string_literal17607_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_string_literal_no_linebreak17626  */
static	ANTLR3_BITWORD FOLLOW_string_in_string_literal_no_linebreak17626_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_in_string_literal_no_linebreak17626	= { FOLLOW_string_in_string_literal_no_linebreak17626_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_TEXT_in_string17643  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_TEXT_in_string17643_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_TEXT_in_string17643	= { FOLLOW_NCHAR_TEXT_in_string17643_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_string17648  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_string17648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_string17648	= { FOLLOW_UNDERSCORE_CHARSET_in_string17648_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_string17665  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_string17665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_string17665	= { FOLLOW_SINGLE_QUOTED_TEXT_in_string17665_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_QUOTED_TEXT_in_string17673  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_QUOTED_TEXT_in_string17673_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_QUOTED_TEXT_in_string17673	= { FOLLOW_DOUBLE_QUOTED_TEXT_in_string17673_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_hex_literal17698  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_hex_literal17698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000030) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_hex_literal17698	= { FOLLOW_UNDERSCORE_CHARSET_in_hex_literal17698_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_hex_literal17701  */
static	ANTLR3_BITWORD FOLLOW_set_in_hex_literal17701_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_hex_literal17701	= { FOLLOW_set_in_hex_literal17701_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_bit_literal17730  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_bit_literal17730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000180) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_bit_literal17730	= { FOLLOW_UNDERSCORE_CHARSET_in_bit_literal17730_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_bit_literal17733  */
static	ANTLR3_BITWORD FOLLOW_set_in_bit_literal17733_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_bit_literal17733	= { FOLLOW_set_in_bit_literal17733_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_temporal_literal17762  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_temporal_literal17762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_temporal_literal17762	= { FOLLOW_DATE_SYMBOL_in_temporal_literal17762_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17764  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17764_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17764	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17764_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_temporal_literal17769  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_temporal_literal17769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_temporal_literal17769	= { FOLLOW_TIME_SYMBOL_in_temporal_literal17769_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17771  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17771_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17771	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17771_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal17776  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal17776_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal17776	= { FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal17776_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17778  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17778	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17778_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REAL_SYMBOL_in_real_literal17818  */
static	ANTLR3_BITWORD FOLLOW_REAL_SYMBOL_in_real_literal17818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REAL_SYMBOL_in_real_literal17818	= { FOLLOW_REAL_SYMBOL_in_real_literal17818_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_SYMBOL_in_real_literal17822  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_SYMBOL_in_real_literal17822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_SYMBOL_in_real_literal17822	= { FOLLOW_DOUBLE_SYMBOL_in_real_literal17822_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRECISION_SYMBOL_in_real_literal17824  */
static	ANTLR3_BITWORD FOLLOW_PRECISION_SYMBOL_in_real_literal17824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRECISION_SYMBOL_in_real_literal17824	= { FOLLOW_PRECISION_SYMBOL_in_real_literal17824_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_float_options17836  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_float_options17836_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_float_options17836	= { FOLLOW_OPEN_PAR_SYMBOL_in_float_options17836_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_float_options17838  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_float_options17838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_float_options17838	= { FOLLOW_INTEGER_in_float_options17838_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_float_options17841  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_float_options17841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_float_options17841	= { FOLLOW_COMMA_SYMBOL_in_float_options17841_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_float_options17843  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_float_options17843_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_float_options17843	= { FOLLOW_INTEGER_in_float_options17843_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_float_options17847  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_float_options17847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_float_options17847	= { FOLLOW_CLOSE_PAR_SYMBOL_in_float_options17847_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_precision17856  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_precision17856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_precision17856	= { FOLLOW_OPEN_PAR_SYMBOL_in_precision17856_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_precision17858  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_precision17858_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_precision17858	= { FOLLOW_INTEGER_in_precision17858_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_precision17860  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_precision17860_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_precision17860	= { FOLLOW_COMMA_SYMBOL_in_precision17860_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_precision17862  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_precision17862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_precision17862	= { FOLLOW_INTEGER_in_precision17862_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_precision17864  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_precision17864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_precision17864	= { FOLLOW_CLOSE_PAR_SYMBOL_in_precision17864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nchar_literal17873  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nchar_literal17873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nchar_literal17873	= { FOLLOW_NCHAR_SYMBOL_in_nchar_literal17873_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nchar_literal17880  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nchar_literal17880_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATIONAL_SYMBOL_in_nchar_literal17880	= { FOLLOW_NATIONAL_SYMBOL_in_nchar_literal17880_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_nchar_literal17882  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_nchar_literal17882_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_nchar_literal17882	= { FOLLOW_CHAR_SYMBOL_in_nchar_literal17882_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_varchar_literal17892  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_varchar_literal17892_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_varchar_literal17892	= { FOLLOW_CHAR_SYMBOL_in_varchar_literal17892_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_varchar_literal17894  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_varchar_literal17894_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_varchar_literal17894	= { FOLLOW_VARYING_SYMBOL_in_varchar_literal17894_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_varchar_literal17899  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_varchar_literal17899_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_varchar_literal17899	= { FOLLOW_VARCHAR_SYMBOL_in_varchar_literal17899_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17908  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17908_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17908	= { FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17908_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17910  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17910_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17910	= { FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17910_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal17915  */
static	ANTLR3_BITWORD FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal17915_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal17915	= { FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal17915_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17920  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17920	= { FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17920_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17922  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17922	= { FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17922_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17927  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17927	= { FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17927_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_nvarchar_literal17929  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_nvarchar_literal17929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_nvarchar_literal17929	= { FOLLOW_CHAR_SYMBOL_in_nvarchar_literal17929_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17931  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17931	= { FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17931_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17936  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17936	= { FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17936_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17938  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17938	= { FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17938_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_text_or_param_marker17960  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_text_or_param_marker17960_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_text_or_param_marker17960	= { FOLLOW_string_literal_in_text_or_param_marker17960_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_text_or_param_marker17964  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_text_or_param_marker17964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_text_or_param_marker17964	= { FOLLOW_PARAM_MARKER_in_text_or_param_marker17964_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_text_or_identifier17973  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_text_or_identifier17973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_text_or_identifier17973	= { FOLLOW_SINGLE_QUOTED_TEXT_in_text_or_identifier17973_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_text_or_identifier17978  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_text_or_identifier17978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_text_or_identifier17978	= { FOLLOW_identifier_in_text_or_identifier17978_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_parentheses18037  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_parentheses18037_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_parentheses18037	= { FOLLOW_OPEN_PAR_SYMBOL_in_parentheses18037_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses18039  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses18039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses18039	= { FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses18039_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_sp_in_keyword18081  */
static	ANTLR3_BITWORD FOLLOW_keyword_sp_in_keyword18081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_sp_in_keyword18081	= { FOLLOW_keyword_sp_in_keyword18081_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_keyword18086  */
static	ANTLR3_BITWORD FOLLOW_set_in_keyword18086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_keyword18086	= { FOLLOW_set_in_keyword18086_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_synpred1_MySQL11031  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_synpred1_MySQL11031_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xE003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x5254600010C0E5A2), ANTLR3_UINT64_LIT(0x0000984000800000), ANTLR3_UINT64_LIT(0x000080000A080C31), ANTLR3_UINT64_LIT(0x200C159108482802), ANTLR3_UINT64_LIT(0x0008000004180003), ANTLR3_UINT64_LIT(0x1700418000342800), ANTLR3_UINT64_LIT(0x0000000000000009) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_synpred1_MySQL11031	= { FOLLOW_OPEN_PAR_SYMBOL_in_synpred1_MySQL11031_bits, 13	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_synpred1_MySQL11033  */
static	ANTLR3_BITWORD FOLLOW_expression_in_synpred1_MySQL11033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_synpred1_MySQL11033	= { FOLLOW_expression_in_synpred1_MySQL11033_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_synpred1_MySQL11035  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_synpred1_MySQL11035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_synpred1_MySQL11035	= { FOLLOW_COMMA_SYMBOL_in_synpred1_MySQL11035_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_stored_function_call_in_synpred2_MySQL11152  */
static	ANTLR3_BITWORD FOLLOW_stored_function_call_in_synpred2_MySQL11152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_stored_function_call_in_synpred2_MySQL11152	= { FOLLOW_stored_function_call_in_synpred2_MySQL11152_bits, 1	};


/* ==============================================
 * Parsing rules
 */
/**
 * $ANTLR start query
 * MySQL.g:301:1: query : ( statement ( SEMICOLON_SYMBOL )? )? EOF ;
 */
static MySQLParser_query_return
query(pMySQLParser ctx)
{
    MySQLParser_query_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2;
    pANTLR3_COMMON_TOKEN    EOF3;
    MySQLParser_statement_return statement1;
    #undef	RETURN_TYPE_statement1
    #define	RETURN_TYPE_statement1 MySQLParser_statement_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2_tree;
    pANTLR3_BASE_TREE EOF3_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL2       = NULL;
    EOF3       = NULL;
    statement1.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL2_tree   = NULL;
    EOF3_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:301:6: ( ( statement ( SEMICOLON_SYMBOL )? )? EOF )
        // MySQL.g:302:2: ( statement ( SEMICOLON_SYMBOL )? )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:302:2: ( statement ( SEMICOLON_SYMBOL )? )?
            {
                int alt2=2;
                {
                    int LA2_0 = LA(1);
                    if ( (LA2_0 == DO_SYMBOL || LA2_0 == HANDLER_SYMBOL || LA2_0 == TRUNCATE_SYMBOL || LA2_0 == ALTER_SYMBOL || LA2_0 == CALL_SYMBOL || LA2_0 == CREATE_SYMBOL || LA2_0 == DELETE_SYMBOL || LA2_0 == DROP_SYMBOL || LA2_0 == INSERT_SYMBOL || LA2_0 == LOAD_SYMBOL || LA2_0 == OPEN_PAR_SYMBOL || LA2_0 == RENAME_SYMBOL || LA2_0 == REPLACE_SYMBOL || LA2_0 == SELECT_SYMBOL || LA2_0 == UPDATE_SYMBOL))
                    {
                        alt2=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA2_0 == PARTITION_SYMBOL))
                    {
                        alt2=1;
                    }
                    else if ( (LA2_0 == BEGIN_SYMBOL || LA2_0 == CHECKSUM_SYMBOL || LA2_0 == COMMIT_SYMBOL || LA2_0 == DEALLOCATE_SYMBOL || LA2_0 == EXECUTE_SYMBOL || LA2_0 == PREPARE_SYMBOL || LA2_0 == REPAIR_SYMBOL || ((LA2_0 >= ROLLBACK_SYMBOL) && (LA2_0 <= SAVEPOINT_SYMBOL)) || ((LA2_0 >= START_SYMBOL) && (LA2_0 <= STOP_SYMBOL)) || LA2_0 == XA_SYMBOL || LA2_0 == ANALYZE_SYMBOL || LA2_0 == CHANGE_SYMBOL || LA2_0 == CHECK_SYMBOL || LA2_0 == GRANT_SYMBOL || LA2_0 == LOCK_SYMBOL || LA2_0 == OPTIMIZE_SYMBOL || LA2_0 == PURGE_SYMBOL || LA2_0 == RELEASE_SYMBOL || LA2_0 == REVOKE_SYMBOL || LA2_0 == SET_SYMBOL || LA2_0 == UNLOCK_SYMBOL))
                    {
                        alt2=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA2_0 == BACKUP_SYMBOL || LA2_0 == RESTORE_SYMBOL))
                    {
                        alt2=1;
                    }
                    else if ( (LA2_0 == CACHE_SYMBOL || LA2_0 == FLUSH_SYMBOL || LA2_0 == HELP_SYMBOL || LA2_0 == INSTALL_SYMBOL || LA2_0 == RESET_SYMBOL || LA2_0 == UNINSTALL_SYMBOL || LA2_0 == BINLOG_SYMBOL || ((LA2_0 >= DESCRIBE_SYMBOL) && (LA2_0 <= DESC_SYMBOL)) || LA2_0 == KILL_SYMBOL || LA2_0 == SHOW_SYMBOL || LA2_0 == USE_SYMBOL))
                    {
                        alt2=1;
                    }
                }
                switch (alt2)
                {
            	case 1:
            	    // MySQL.g:302:3: statement ( SEMICOLON_SYMBOL )?
            	    {
            	        FOLLOWPUSH(FOLLOW_statement_in_query414);
            	        statement1=statement(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequeryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement1.tree);

            	        // MySQL.g:302:13: ( SEMICOLON_SYMBOL )?
            	        {
            	            int alt1=2;
            	            switch ( LA(1) )
            	            {
            	                case SEMICOLON_SYMBOL:
            	                	{
            	                		alt1=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt1)
            	            {
            	        	case 1:
            	        	    // MySQL.g:302:13: SEMICOLON_SYMBOL
            	        	    {
            	        	        SEMICOLON_SYMBOL2 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_query416);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulequeryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SEMICOLON_SYMBOL2_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            EOF3 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_query421);
            if  (HASEXCEPTION())
            {
                goto rulequeryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF3_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF3));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF3_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulequeryEx; /* Prevent compiler warnings */
    rulequeryEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end query */

/**
 * $ANTLR start statement
 * MySQL.g:305:1: statement : ( alter_statement | create_statement | drop_statement | rename_table_statement | truncate_table_statement | call_statement | delete_statement | do_statement | handler_statement | insert_statement | load_statement | replace_statement | select_statement | update_statement | partitioning | transaction_or_locking_statement | replication_statement | prepared_statement | account_management_statement | table_administration_statement | install_uninstall_statment |{...}? set_statement | show_statement | miscellaneous_statement | utility_statement );
 */
static MySQLParser_statement_return
statement(pMySQLParser ctx)
{
    MySQLParser_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_alter_statement_return alter_statement4;
    #undef	RETURN_TYPE_alter_statement4
    #define	RETURN_TYPE_alter_statement4 MySQLParser_alter_statement_return

    MySQLParser_create_statement_return create_statement5;
    #undef	RETURN_TYPE_create_statement5
    #define	RETURN_TYPE_create_statement5 MySQLParser_create_statement_return

    MySQLParser_drop_statement_return drop_statement6;
    #undef	RETURN_TYPE_drop_statement6
    #define	RETURN_TYPE_drop_statement6 MySQLParser_drop_statement_return

    MySQLParser_rename_table_statement_return rename_table_statement7;
    #undef	RETURN_TYPE_rename_table_statement7
    #define	RETURN_TYPE_rename_table_statement7 MySQLParser_rename_table_statement_return

    MySQLParser_truncate_table_statement_return truncate_table_statement8;
    #undef	RETURN_TYPE_truncate_table_statement8
    #define	RETURN_TYPE_truncate_table_statement8 MySQLParser_truncate_table_statement_return

    MySQLParser_call_statement_return call_statement9;
    #undef	RETURN_TYPE_call_statement9
    #define	RETURN_TYPE_call_statement9 MySQLParser_call_statement_return

    MySQLParser_delete_statement_return delete_statement10;
    #undef	RETURN_TYPE_delete_statement10
    #define	RETURN_TYPE_delete_statement10 MySQLParser_delete_statement_return

    MySQLParser_do_statement_return do_statement11;
    #undef	RETURN_TYPE_do_statement11
    #define	RETURN_TYPE_do_statement11 MySQLParser_do_statement_return

    MySQLParser_handler_statement_return handler_statement12;
    #undef	RETURN_TYPE_handler_statement12
    #define	RETURN_TYPE_handler_statement12 MySQLParser_handler_statement_return

    MySQLParser_insert_statement_return insert_statement13;
    #undef	RETURN_TYPE_insert_statement13
    #define	RETURN_TYPE_insert_statement13 MySQLParser_insert_statement_return

    MySQLParser_load_statement_return load_statement14;
    #undef	RETURN_TYPE_load_statement14
    #define	RETURN_TYPE_load_statement14 MySQLParser_load_statement_return

    MySQLParser_replace_statement_return replace_statement15;
    #undef	RETURN_TYPE_replace_statement15
    #define	RETURN_TYPE_replace_statement15 MySQLParser_replace_statement_return

    MySQLParser_select_statement_return select_statement16;
    #undef	RETURN_TYPE_select_statement16
    #define	RETURN_TYPE_select_statement16 MySQLParser_select_statement_return

    MySQLParser_update_statement_return update_statement17;
    #undef	RETURN_TYPE_update_statement17
    #define	RETURN_TYPE_update_statement17 MySQLParser_update_statement_return

    MySQLParser_partitioning_return partitioning18;
    #undef	RETURN_TYPE_partitioning18
    #define	RETURN_TYPE_partitioning18 MySQLParser_partitioning_return

    MySQLParser_transaction_or_locking_statement_return transaction_or_locking_statement19;
    #undef	RETURN_TYPE_transaction_or_locking_statement19
    #define	RETURN_TYPE_transaction_or_locking_statement19 MySQLParser_transaction_or_locking_statement_return

    MySQLParser_replication_statement_return replication_statement20;
    #undef	RETURN_TYPE_replication_statement20
    #define	RETURN_TYPE_replication_statement20 MySQLParser_replication_statement_return

    MySQLParser_prepared_statement_return prepared_statement21;
    #undef	RETURN_TYPE_prepared_statement21
    #define	RETURN_TYPE_prepared_statement21 MySQLParser_prepared_statement_return

    MySQLParser_account_management_statement_return account_management_statement22;
    #undef	RETURN_TYPE_account_management_statement22
    #define	RETURN_TYPE_account_management_statement22 MySQLParser_account_management_statement_return

    MySQLParser_table_administration_statement_return table_administration_statement23;
    #undef	RETURN_TYPE_table_administration_statement23
    #define	RETURN_TYPE_table_administration_statement23 MySQLParser_table_administration_statement_return

    MySQLParser_install_uninstall_statment_return install_uninstall_statment24;
    #undef	RETURN_TYPE_install_uninstall_statment24
    #define	RETURN_TYPE_install_uninstall_statment24 MySQLParser_install_uninstall_statment_return

    MySQLParser_set_statement_return set_statement25;
    #undef	RETURN_TYPE_set_statement25
    #define	RETURN_TYPE_set_statement25 MySQLParser_set_statement_return

    MySQLParser_show_statement_return show_statement26;
    #undef	RETURN_TYPE_show_statement26
    #define	RETURN_TYPE_show_statement26 MySQLParser_show_statement_return

    MySQLParser_miscellaneous_statement_return miscellaneous_statement27;
    #undef	RETURN_TYPE_miscellaneous_statement27
    #define	RETURN_TYPE_miscellaneous_statement27 MySQLParser_miscellaneous_statement_return

    MySQLParser_utility_statement_return utility_statement28;
    #undef	RETURN_TYPE_utility_statement28
    #define	RETURN_TYPE_utility_statement28 MySQLParser_utility_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    alter_statement4.tree = NULL;

    create_statement5.tree = NULL;

    drop_statement6.tree = NULL;

    rename_table_statement7.tree = NULL;

    truncate_table_statement8.tree = NULL;

    call_statement9.tree = NULL;

    delete_statement10.tree = NULL;

    do_statement11.tree = NULL;

    handler_statement12.tree = NULL;

    insert_statement13.tree = NULL;

    load_statement14.tree = NULL;

    replace_statement15.tree = NULL;

    select_statement16.tree = NULL;

    update_statement17.tree = NULL;

    partitioning18.tree = NULL;

    transaction_or_locking_statement19.tree = NULL;

    replication_statement20.tree = NULL;

    prepared_statement21.tree = NULL;

    account_management_statement22.tree = NULL;

    table_administration_statement23.tree = NULL;

    install_uninstall_statment24.tree = NULL;

    set_statement25.tree = NULL;

    show_statement26.tree = NULL;

    miscellaneous_statement27.tree = NULL;

    utility_statement28.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:305:10: ( alter_statement | create_statement | drop_statement | rename_table_statement | truncate_table_statement | call_statement | delete_statement | do_statement | handler_statement | insert_statement | load_statement | replace_statement | select_statement | update_statement | partitioning | transaction_or_locking_statement | replication_statement | prepared_statement | account_management_statement | table_administration_statement | install_uninstall_statment |{...}? set_statement | show_statement | miscellaneous_statement | utility_statement )

            ANTLR3_UINT32 alt3;

            alt3=25;

            {
                int LA3_0 = LA(1);
                if ( (LA3_0 == ALTER_SYMBOL))
                {
                    {
                        int LA3_1 = LA(2);
                        if ( ((SERVER_VERSION >= 50606)) && (LA3_1 == USER_SYMBOL))
                        {
                            alt3=19;
                        }
                        else if ( (LA3_1 == SERVER_SYMBOL || LA3_1 == ALGORITHM_SYMBOL || LA3_1 == DEFINER_SYMBOL || LA3_1 == EVENT_SYMBOL || LA3_1 == LOGFILE_SYMBOL || LA3_1 == TABLESPACE_SYMBOL || LA3_1 == FUNCTION_SYMBOL || LA3_1 == VIEW_SYMBOL || LA3_1 == DATABASE_SYMBOL || LA3_1 == IGNORE_SYMBOL || ((LA3_1 >= OFFLINE_SYMBOL) && (LA3_1 <= ONLINE_SYMBOL)) || LA3_1 == PROCEDURE_SYMBOL || LA3_1 == SQL_SYMBOL || LA3_1 == TABLE_SYMBOL))
                        {
                            alt3=1;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 3;
                            EXCEPTION->state        = 1;


                            goto rulestatementEx;

                        }
                    }
                }
                else if ( (LA3_0 == CREATE_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case USER_SYMBOL:
                    	{
                    		alt3=19;
                    	}
                        break;
                    case SERVER_SYMBOL:
                    case AGGREGATE_SYMBOL:
                    case ALGORITHM_SYMBOL:
                    case DEFINER_SYMBOL:
                    case EVENT_SYMBOL:
                    case LOGFILE_SYMBOL:
                    case TABLESPACE_SYMBOL:
                    case TEMPORARY_SYMBOL:
                    case FUNCTION_SYMBOL:
                    case VIEW_SYMBOL:
                    case DATABASE_SYMBOL:
                    case FULLTEXT_SYMBOL:
                    case INDEX_SYMBOL:
                    case OFFLINE_SYMBOL:
                    case ONLINE_SYMBOL:
                    case OR_SYMBOL:
                    case PROCEDURE_SYMBOL:
                    case SPATIAL_SYMBOL:
                    case SQL_SYMBOL:
                    case TABLE_SYMBOL:
                    case TRIGGER_SYMBOL:
                    case UNIQUE_SYMBOL:
                    	{
                    		alt3=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 3;
                        EXCEPTION->state        = 2;


                        goto rulestatementEx;

                    }

                }
                else if ( (LA3_0 == DROP_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case PREPARE_SYMBOL:
                    	{
                    		alt3=18;
                    	}
                        break;
                    case USER_SYMBOL:
                    	{
                    		alt3=19;
                    	}
                        break;
                    case SERVER_SYMBOL:
                    case EVENT_SYMBOL:
                    case LOGFILE_SYMBOL:
                    case TABLES_SYMBOL:
                    case TABLESPACE_SYMBOL:
                    case TEMPORARY_SYMBOL:
                    case FUNCTION_SYMBOL:
                    case VIEW_SYMBOL:
                    case DATABASE_SYMBOL:
                    case INDEX_SYMBOL:
                    case OFFLINE_SYMBOL:
                    case ONLINE_SYMBOL:
                    case PROCEDURE_SYMBOL:
                    case TABLE_SYMBOL:
                    case TRIGGER_SYMBOL:
                    	{
                    		alt3=3;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 3;
                        EXCEPTION->state        = 3;


                        goto rulestatementEx;

                    }

                }
                else if ( (LA3_0 == RENAME_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case TABLES_SYMBOL:
                    case TABLE_SYMBOL:
                    	{
                    		alt3=4;
                    	}
                        break;
                    case USER_SYMBOL:
                    	{
                    		alt3=19;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 3;
                        EXCEPTION->state        = 4;


                        goto rulestatementEx;

                    }

                }
                else if ( (LA3_0 == TRUNCATE_SYMBOL))
                {
                    alt3=5;
                }
                else if ( (LA3_0 == CALL_SYMBOL))
                {
                    alt3=6;
                }
                else if ( (LA3_0 == DELETE_SYMBOL))
                {
                    alt3=7;
                }
                else if ( (LA3_0 == DO_SYMBOL))
                {
                    alt3=8;
                }
                else if ( (LA3_0 == HANDLER_SYMBOL))
                {
                    alt3=9;
                }
                else if ( (LA3_0 == INSERT_SYMBOL))
                {
                    alt3=10;
                }
                else if ( (LA3_0 == LOAD_SYMBOL))
                {
                    {
                        int LA3_11 = LA(2);
                        if ( (LA3_11 == INDEX_SYMBOL))
                        {
                            alt3=24;
                        }
                        else if ( (LA3_11 == DATA_SYMBOL))
                        {
                            {
                                int LA3_109 = LA(3);
                                if ( (!( ((SERVER_VERSION < 50500)) )))
                                {
                                    alt3=11;
                                }
                                else if ( ((SERVER_VERSION < 50500)))
                                {
                                    alt3=17;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 3;
                                    EXCEPTION->state        = 109;


                                    goto rulestatementEx;

                                }
                            }
                        }
                        else if ( (LA3_11 == XML_SYMBOL))
                        {
                            alt3=11;
                        }
                        else if ( ((SERVER_VERSION < 50500)) && (LA3_11 == TABLE_SYMBOL))
                        {
                            alt3=17;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 3;
                            EXCEPTION->state        = 11;


                            goto rulestatementEx;

                        }
                    }
                }
                else if ( (LA3_0 == REPLACE_SYMBOL))
                {
                    alt3=12;
                }
                else if ( (LA3_0 == OPEN_PAR_SYMBOL || LA3_0 == SELECT_SYMBOL))
                {
                    alt3=13;
                }
                else if ( (LA3_0 == UPDATE_SYMBOL))
                {
                    alt3=14;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA3_0 == PARTITION_SYMBOL))
                {
                    alt3=15;
                }
                else if ( (LA3_0 == START_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case TRANSACTION_SYMBOL:
                    	{
                    		alt3=16;
                    	}
                        break;
                    case SLAVE_SYMBOL:
                    	{
                    		alt3=17;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 3;
                        EXCEPTION->state        = 17;


                        goto rulestatementEx;

                    }

                }
                else if ( (LA3_0 == BEGIN_SYMBOL || LA3_0 == COMMIT_SYMBOL || ((LA3_0 >= ROLLBACK_SYMBOL) && (LA3_0 <= SAVEPOINT_SYMBOL)) || LA3_0 == XA_SYMBOL || LA3_0 == LOCK_SYMBOL || LA3_0 == RELEASE_SYMBOL || LA3_0 == UNLOCK_SYMBOL))
                {
                    alt3=16;
                }
                else if ( (LA3_0 == STOP_SYMBOL || LA3_0 == CHANGE_SYMBOL || LA3_0 == PURGE_SYMBOL))
                {
                    alt3=17;
                }
                else if ( (LA3_0 == DEALLOCATE_SYMBOL || LA3_0 == EXECUTE_SYMBOL || LA3_0 == PREPARE_SYMBOL))
                {
                    alt3=18;
                }
                else if ( (LA3_0 == GRANT_SYMBOL || LA3_0 == REVOKE_SYMBOL))
                {
                    alt3=19;
                }
                else if ( (LA3_0 == SET_SYMBOL))
                {
                    {
                        int LA3_34 = LA(2);
                        if ( (LA3_34 == PASSWORD_SYMBOL))
                        {
                            {
                                int LA3_114 = LA(3);
                                if ( (!( ((LA(1) == SET_SYMBOL && LA(2) != PASSWORD_SYMBOL)) )))
                                {
                                    alt3=19;
                                }
                                else if ( ((LA(1) == SET_SYMBOL && LA(2) != PASSWORD_SYMBOL)))
                                {
                                    alt3=22;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 3;
                                    EXCEPTION->state        = 114;


                                    goto rulestatementEx;

                                }
                            }
                        }
                        else if ( (((LA3_34 >= ASCII_SYMBOL) && (LA3_34 <= PARTITIONS_SYMBOL)) || ((LA3_34 >= PHASE_SYMBOL) && (LA3_34 <= YEAR_SYMBOL)) || ((LA3_34 >= AT_AT_SIGN_SYMBOL) && (LA3_34 <= AT_TEXT_SUFFIX)) || LA3_34 == BACK_TICK_QUOTED_ID || LA3_34 == CHAR_SYMBOL || LA3_34 == DEFAULT_SYMBOL || LA3_34 == DOUBLE_QUOTED_TEXT || LA3_34 == IDENTIFIER))
                        {
                            alt3=22;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 3;
                            EXCEPTION->state        = 34;


                            goto rulestatementEx;

                        }
                    }
                }
                else if ( (LA3_0 == CHECKSUM_SYMBOL || LA3_0 == REPAIR_SYMBOL || LA3_0 == ANALYZE_SYMBOL || LA3_0 == CHECK_SYMBOL || LA3_0 == OPTIMIZE_SYMBOL))
                {
                    alt3=20;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA3_0 == BACKUP_SYMBOL || LA3_0 == RESTORE_SYMBOL))
                {
                    alt3=20;
                }
                else if ( (LA3_0 == INSTALL_SYMBOL || LA3_0 == UNINSTALL_SYMBOL))
                {
                    alt3=21;
                }
                else if ( (LA3_0 == SHOW_SYMBOL))
                {
                    alt3=23;
                }
                else if ( (LA3_0 == CACHE_SYMBOL || LA3_0 == FLUSH_SYMBOL || LA3_0 == RESET_SYMBOL || LA3_0 == BINLOG_SYMBOL || LA3_0 == KILL_SYMBOL))
                {
                    alt3=24;
                }
                else if ( (LA3_0 == HELP_SYMBOL || ((LA3_0 >= DESCRIBE_SYMBOL) && (LA3_0 <= DESC_SYMBOL)) || LA3_0 == USE_SYMBOL))
                {
                    alt3=25;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 3;
                    EXCEPTION->state        = 0;


                    goto rulestatementEx;

                }
            }
            switch (alt3)
            {
        	case 1:
        	    // MySQL.g:307:2: alter_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_statement_in_statement432);
        	        alter_statement4=alter_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_statement4.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:308:4: create_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_statement_in_statement437);
        	        create_statement5=create_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_statement5.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:309:4: drop_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_drop_statement_in_statement442);
        	        drop_statement6=drop_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_statement6.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:310:4: rename_table_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_rename_table_statement_in_statement447);
        	        rename_table_statement7=rename_table_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, rename_table_statement7.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:311:4: truncate_table_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_truncate_table_statement_in_statement452);
        	        truncate_table_statement8=truncate_table_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, truncate_table_statement8.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:314:4: call_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_call_statement_in_statement461);
        	        call_statement9=call_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, call_statement9.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:315:4: delete_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_delete_statement_in_statement466);
        	        delete_statement10=delete_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, delete_statement10.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:316:4: do_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_do_statement_in_statement471);
        	        do_statement11=do_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, do_statement11.tree);

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:317:4: handler_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_handler_statement_in_statement476);
        	        handler_statement12=handler_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_statement12.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:318:4: insert_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_insert_statement_in_statement481);
        	        insert_statement13=insert_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_statement13.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:319:4: load_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_load_statement_in_statement486);
        	        load_statement14=load_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, load_statement14.tree);

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:320:4: replace_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_replace_statement_in_statement491);
        	        replace_statement15=replace_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, replace_statement15.tree);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:321:4: select_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_statement_in_statement496);
        	        select_statement16=select_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement16.tree);

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:322:4: update_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_update_statement_in_statement501);
        	        update_statement17=update_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, update_statement17.tree);

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:324:4: partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_partitioning_in_statement507);
        	        partitioning18=partitioning(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partitioning18.tree);

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:326:4: transaction_or_locking_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_transaction_or_locking_statement_in_statement516);
        	        transaction_or_locking_statement19=transaction_or_locking_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, transaction_or_locking_statement19.tree);

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:328:4: replication_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_replication_statement_in_statement523);
        	        replication_statement20=replication_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, replication_statement20.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:330:4: prepared_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_prepared_statement_in_statement530);
        	        prepared_statement21=prepared_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, prepared_statement21.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:333:4: account_management_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_account_management_statement_in_statement539);
        	        account_management_statement22=account_management_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, account_management_statement22.tree);

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:334:4: table_administration_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_administration_statement_in_statement544);
        	        table_administration_statement23=table_administration_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_administration_statement23.tree);

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:335:4: install_uninstall_statment
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_install_uninstall_statment_in_statement549);
        	        install_uninstall_statment24=install_uninstall_statment(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, install_uninstall_statment24.tree);

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:336:4: {...}? set_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == SET_SYMBOL && LA(2) != PASSWORD_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == SET_SYMBOL && LA(2) != PASSWORD_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_set_statement_in_statement556);
        	        set_statement25=set_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_statement25.tree);

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:337:4: show_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_show_statement_in_statement562);
        	        show_statement26=show_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, show_statement26.tree);

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:338:4: miscellaneous_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_miscellaneous_statement_in_statement567);
        	        miscellaneous_statement27=miscellaneous_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, miscellaneous_statement27.tree);

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:341:4: utility_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_utility_statement_in_statement576);
        	        utility_statement28=utility_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestatementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, utility_statement28.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulestatementEx; /* Prevent compiler warnings */
    rulestatementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end statement */

/**
 * $ANTLR start alter_statement
 * MySQL.g:346:1: alter_statement : ALTER_SYMBOL ^ ( alter_database | alter_log_file_group | FUNCTION_SYMBOL function_ref ( routine_alter_options )? | PROCEDURE_SYMBOL procedure_ref ( routine_alter_options )? | alter_server | alter_table | alter_tablespace |{...}? => alter_event | alter_view ) ;
 */
static MySQLParser_alter_statement_return
alter_statement(pMySQLParser ctx)
{
    MySQLParser_alter_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALTER_SYMBOL29;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL32;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL35;
    MySQLParser_alter_database_return alter_database30;
    #undef	RETURN_TYPE_alter_database30
    #define	RETURN_TYPE_alter_database30 MySQLParser_alter_database_return

    MySQLParser_alter_log_file_group_return alter_log_file_group31;
    #undef	RETURN_TYPE_alter_log_file_group31
    #define	RETURN_TYPE_alter_log_file_group31 MySQLParser_alter_log_file_group_return

    MySQLParser_function_ref_return function_ref33;
    #undef	RETURN_TYPE_function_ref33
    #define	RETURN_TYPE_function_ref33 MySQLParser_function_ref_return

    MySQLParser_routine_alter_options_return routine_alter_options34;
    #undef	RETURN_TYPE_routine_alter_options34
    #define	RETURN_TYPE_routine_alter_options34 MySQLParser_routine_alter_options_return

    MySQLParser_procedure_ref_return procedure_ref36;
    #undef	RETURN_TYPE_procedure_ref36
    #define	RETURN_TYPE_procedure_ref36 MySQLParser_procedure_ref_return

    MySQLParser_routine_alter_options_return routine_alter_options37;
    #undef	RETURN_TYPE_routine_alter_options37
    #define	RETURN_TYPE_routine_alter_options37 MySQLParser_routine_alter_options_return

    MySQLParser_alter_server_return alter_server38;
    #undef	RETURN_TYPE_alter_server38
    #define	RETURN_TYPE_alter_server38 MySQLParser_alter_server_return

    MySQLParser_alter_table_return alter_table39;
    #undef	RETURN_TYPE_alter_table39
    #define	RETURN_TYPE_alter_table39 MySQLParser_alter_table_return

    MySQLParser_alter_tablespace_return alter_tablespace40;
    #undef	RETURN_TYPE_alter_tablespace40
    #define	RETURN_TYPE_alter_tablespace40 MySQLParser_alter_tablespace_return

    MySQLParser_alter_event_return alter_event41;
    #undef	RETURN_TYPE_alter_event41
    #define	RETURN_TYPE_alter_event41 MySQLParser_alter_event_return

    MySQLParser_alter_view_return alter_view42;
    #undef	RETURN_TYPE_alter_view42
    #define	RETURN_TYPE_alter_view42 MySQLParser_alter_view_return

    pANTLR3_BASE_TREE ALTER_SYMBOL29_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL32_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL35_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALTER_SYMBOL29       = NULL;
    FUNCTION_SYMBOL32       = NULL;
    PROCEDURE_SYMBOL35       = NULL;
    alter_database30.tree = NULL;

    alter_log_file_group31.tree = NULL;

    function_ref33.tree = NULL;

    routine_alter_options34.tree = NULL;

    procedure_ref36.tree = NULL;

    routine_alter_options37.tree = NULL;

    alter_server38.tree = NULL;

    alter_table39.tree = NULL;

    alter_tablespace40.tree = NULL;

    alter_event41.tree = NULL;

    alter_view42.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALTER_SYMBOL29_tree   = NULL;
    FUNCTION_SYMBOL32_tree   = NULL;
    PROCEDURE_SYMBOL35_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:346:16: ( ALTER_SYMBOL ^ ( alter_database | alter_log_file_group | FUNCTION_SYMBOL function_ref ( routine_alter_options )? | PROCEDURE_SYMBOL procedure_ref ( routine_alter_options )? | alter_server | alter_table | alter_tablespace |{...}? => alter_event | alter_view ) )
        // MySQL.g:347:3: ALTER_SYMBOL ^ ( alter_database | alter_log_file_group | FUNCTION_SYMBOL function_ref ( routine_alter_options )? | PROCEDURE_SYMBOL procedure_ref ( routine_alter_options )? | alter_server | alter_table | alter_tablespace |{...}? => alter_event | alter_view )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALTER_SYMBOL29 = (pANTLR3_COMMON_TOKEN) MATCHT(ALTER_SYMBOL, &FOLLOW_ALTER_SYMBOL_in_alter_statement588);
            if  (HASEXCEPTION())
            {
                goto rulealter_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ALTER_SYMBOL29_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALTER_SYMBOL29))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ALTER_SYMBOL29_tree, root_0));
            }

            // MySQL.g:348:3: ( alter_database | alter_log_file_group | FUNCTION_SYMBOL function_ref ( routine_alter_options )? | PROCEDURE_SYMBOL procedure_ref ( routine_alter_options )? | alter_server | alter_table | alter_tablespace |{...}? => alter_event | alter_view )
            {
                int alt6=9;
                {
                    int LA6_0 = LA(1);
                    if ( (LA6_0 == DATABASE_SYMBOL))
                    {
                        alt6=1;
                    }
                    else if ( (LA6_0 == LOGFILE_SYMBOL))
                    {
                        alt6=2;
                    }
                    else if ( (LA6_0 == FUNCTION_SYMBOL))
                    {
                        alt6=3;
                    }
                    else if ( (LA6_0 == PROCEDURE_SYMBOL))
                    {
                        alt6=4;
                    }
                    else if ( (LA6_0 == SERVER_SYMBOL))
                    {
                        alt6=5;
                    }
                    else if ( ((SERVER_VERSION < 50600)) && (((LA6_0 >= OFFLINE_SYMBOL) && (LA6_0 <= ONLINE_SYMBOL))))
                    {
                        alt6=6;
                    }
                    else if ( (LA6_0 == IGNORE_SYMBOL || LA6_0 == TABLE_SYMBOL))
                    {
                        alt6=6;
                    }
                    else if ( (LA6_0 == TABLESPACE_SYMBOL))
                    {
                        alt6=7;
                    }
                    else if ( (LA6_0 == DEFINER_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case EQUAL_OPERATOR:
                        	{
                        		{
                        		    int LA6_15 = LA(3);
                        		    if ( ((SERVER_VERSION >= 50100)))
                        		    {
                        		        alt6=8;
                        		    }
                        		    else if ( (ANTLR3_TRUE))
                        		    {
                        		        alt6=9;
                        		    }
                        		    else
                        		    {
                        		        if (BACKTRACKING>0)
                        		        {
                        		            FAILEDFLAG = ANTLR3_TRUE;
                        		            return retval;
                        		        }


                        		        CONSTRUCTEX();
                        		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        		        EXCEPTION->message      = (void *)"";
                        		        EXCEPTION->decisionNum  = 6;
                        		        EXCEPTION->state        = 15;


                        		        goto rulealter_statementEx;

                        		    }
                        		}
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 6;
                            EXCEPTION->state        = 10;


                            goto rulealter_statementEx;

                        }

                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA6_0 == EVENT_SYMBOL))
                    {
                        alt6=8;
                    }
                    else if ( (LA6_0 == ALGORITHM_SYMBOL || LA6_0 == VIEW_SYMBOL || LA6_0 == SQL_SYMBOL))
                    {
                        alt6=9;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 6;
                        EXCEPTION->state        = 0;


                        goto rulealter_statementEx;

                    }
                }
                switch (alt6)
                {
            	case 1:
            	    // MySQL.g:349:2: alter_database
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_database_in_alter_statement596);
            	        alter_database30=alter_database(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_database30.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:350:4: alter_log_file_group
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_log_file_group_in_alter_statement601);
            	        alter_log_file_group31=alter_log_file_group(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_log_file_group31.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:351:4: FUNCTION_SYMBOL function_ref ( routine_alter_options )?
            	    {
            	        FUNCTION_SYMBOL32 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_alter_statement606);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL32_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL32));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL32_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_function_ref_in_alter_statement608);
            	        function_ref33=function_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_ref33.tree);

            	        // MySQL.g:351:33: ( routine_alter_options )?
            	        {
            	            int alt4=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMENT_SYMBOL:
            	                case CONTAINS_SYMBOL:
            	                case LANGUAGE_SYMBOL:
            	                case NO_SYMBOL:
            	                case DETERMINISTIC_SYMBOL:
            	                case MODIFIES_SYMBOL:
            	                case NOT_SYMBOL:
            	                case READS_SYMBOL:
            	                case SQL_SYMBOL:
            	                	{
            	                		alt4=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt4)
            	            {
            	        	case 1:
            	        	    // MySQL.g:351:33: routine_alter_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_routine_alter_options_in_alter_statement610);
            	        	        routine_alter_options34=routine_alter_options(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, routine_alter_options34.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:352:4: PROCEDURE_SYMBOL procedure_ref ( routine_alter_options )?
            	    {
            	        PROCEDURE_SYMBOL35 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_alter_statement616);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL35_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL35));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL35_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_procedure_ref_in_alter_statement618);
            	        procedure_ref36=procedure_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_ref36.tree);

            	        // MySQL.g:352:35: ( routine_alter_options )?
            	        {
            	            int alt5=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMENT_SYMBOL:
            	                case CONTAINS_SYMBOL:
            	                case LANGUAGE_SYMBOL:
            	                case NO_SYMBOL:
            	                case DETERMINISTIC_SYMBOL:
            	                case MODIFIES_SYMBOL:
            	                case NOT_SYMBOL:
            	                case READS_SYMBOL:
            	                case SQL_SYMBOL:
            	                	{
            	                		alt5=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt5)
            	            {
            	        	case 1:
            	        	    // MySQL.g:352:35: routine_alter_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_routine_alter_options_in_alter_statement620);
            	        	        routine_alter_options37=routine_alter_options(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, routine_alter_options37.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:353:4: alter_server
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_server_in_alter_statement626);
            	        alter_server38=alter_server(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_server38.tree);

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:354:4: alter_table
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_table_in_alter_statement631);
            	        alter_table39=alter_table(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_table39.tree);

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:355:4: alter_tablespace
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_tablespace_in_alter_statement636);
            	        alter_tablespace40=alter_tablespace(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_tablespace40.tree);

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:356:4: {...}? => alter_event
            	    {
            	        if ( !((SERVER_VERSION >= 50100)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50100";
            	                EXCEPTION->ruleName	 = (void *)"alter_statement";


            	        }

            	        FOLLOWPUSH(FOLLOW_alter_event_in_alter_statement645);
            	        alter_event41=alter_event(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_event41.tree);

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:357:4: alter_view
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_view_in_alter_statement650);
            	        alter_view42=alter_view(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_view42.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_statementEx; /* Prevent compiler warnings */
    rulealter_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_statement */

/**
 * $ANTLR start alter_database
 * MySQL.g:361:1: alter_database : DATABASE_SYMBOL ( ( schema_ref )? ( database_option )+ | schema_ref UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL ) ;
 */
static MySQLParser_alter_database_return
alter_database(pMySQLParser ctx)
{
    MySQLParser_alter_database_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL43;
    pANTLR3_COMMON_TOKEN    UPGRADE_SYMBOL47;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL48;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL49;
    pANTLR3_COMMON_TOKEN    NAME_SYMBOL50;
    MySQLParser_schema_ref_return schema_ref44;
    #undef	RETURN_TYPE_schema_ref44
    #define	RETURN_TYPE_schema_ref44 MySQLParser_schema_ref_return

    MySQLParser_database_option_return database_option45;
    #undef	RETURN_TYPE_database_option45
    #define	RETURN_TYPE_database_option45 MySQLParser_database_option_return

    MySQLParser_schema_ref_return schema_ref46;
    #undef	RETURN_TYPE_schema_ref46
    #define	RETURN_TYPE_schema_ref46 MySQLParser_schema_ref_return

    pANTLR3_BASE_TREE DATABASE_SYMBOL43_tree;
    pANTLR3_BASE_TREE UPGRADE_SYMBOL47_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL48_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL49_tree;
    pANTLR3_BASE_TREE NAME_SYMBOL50_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATABASE_SYMBOL43       = NULL;
    UPGRADE_SYMBOL47       = NULL;
    DATA_SYMBOL48       = NULL;
    DIRECTORY_SYMBOL49       = NULL;
    NAME_SYMBOL50       = NULL;
    schema_ref44.tree = NULL;

    database_option45.tree = NULL;

    schema_ref46.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATABASE_SYMBOL43_tree   = NULL;
    UPGRADE_SYMBOL47_tree   = NULL;
    DATA_SYMBOL48_tree   = NULL;
    DIRECTORY_SYMBOL49_tree   = NULL;
    NAME_SYMBOL50_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:361:15: ( DATABASE_SYMBOL ( ( schema_ref )? ( database_option )+ | schema_ref UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL ) )
        // MySQL.g:362:2: DATABASE_SYMBOL ( ( schema_ref )? ( database_option )+ | schema_ref UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DATABASE_SYMBOL43 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_alter_database663);
            if  (HASEXCEPTION())
            {
                goto rulealter_databaseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DATABASE_SYMBOL43_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL43));
            ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL43_tree);
            }

            // MySQL.g:363:2: ( ( schema_ref )? ( database_option )+ | schema_ref UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL )
            {
                int alt9=2;
                {
                    int LA9_0 = LA(1);
                    if ( (LA9_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                        case CHAR_SYMBOL:
                        case COLLATE_SYMBOL:
                        case DEFAULT_SYMBOL:
                        	{
                        		alt9=1;
                        	}
                            break;
                        case UPGRADE_SYMBOL:
                        	{
                        		alt9=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 9;
                            EXCEPTION->state        = 1;


                            goto rulealter_databaseEx;

                        }

                    }
                    else if ( (LA9_0 == BACK_TICK_QUOTED_ID))
                    {
                        switch ( LA(2) )
                        {
                        case CHAR_SYMBOL:
                        case COLLATE_SYMBOL:
                        case DEFAULT_SYMBOL:
                        	{
                        		alt9=1;
                        	}
                            break;
                        case UPGRADE_SYMBOL:
                        	{
                        		alt9=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 9;
                            EXCEPTION->state        = 2;


                            goto rulealter_databaseEx;

                        }

                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA9_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA9_3 = LA(2);
                            if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA9_3 == CHAR_SYMBOL || LA9_3 == COLLATE_SYMBOL || LA9_3 == DEFAULT_SYMBOL))
                            {
                                alt9=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA9_3 == UPGRADE_SYMBOL))
                            {
                                alt9=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 9;
                                EXCEPTION->state        = 3;


                                goto rulealter_databaseEx;

                            }
                        }
                    }
                    else if ( (((LA9_0 >= ACTION_SYMBOL) && (LA9_0 <= YEAR_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                        case CHAR_SYMBOL:
                        case COLLATE_SYMBOL:
                        case DEFAULT_SYMBOL:
                        	{
                        		alt9=1;
                        	}
                            break;
                        case UPGRADE_SYMBOL:
                        	{
                        		alt9=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 9;
                            EXCEPTION->state        = 4;


                            goto rulealter_databaseEx;

                        }

                    }
                    else if ( (((LA9_0 >= ASCII_SYMBOL) && (LA9_0 <= XA_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                        case CHAR_SYMBOL:
                        case COLLATE_SYMBOL:
                        case DEFAULT_SYMBOL:
                        	{
                        		alt9=1;
                        	}
                            break;
                        case UPGRADE_SYMBOL:
                        	{
                        		alt9=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 9;
                            EXCEPTION->state        = 5;


                            goto rulealter_databaseEx;

                        }

                    }
                    else if ( (LA9_0 == CHAR_SYMBOL || LA9_0 == COLLATE_SYMBOL || LA9_0 == DEFAULT_SYMBOL))
                    {
                        alt9=1;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 9;
                        EXCEPTION->state        = 0;


                        goto rulealter_databaseEx;

                    }
                }
                switch (alt9)
                {
            	case 1:
            	    // MySQL.g:364:3: ( schema_ref )? ( database_option )+
            	    {
            	        // MySQL.g:364:3: ( schema_ref )?
            	        {
            	            int alt7=2;
            	            {
            	                int LA7_0 = LA(1);
            	                if ( (LA7_0 == BACK_TICK_QUOTED_ID || LA7_0 == IDENTIFIER))
            	                {
            	                    alt7=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA7_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt7=1;
            	                }
            	                else if ( (((LA7_0 >= ASCII_SYMBOL) && (LA7_0 <= YEAR_SYMBOL))))
            	                {
            	                    alt7=1;
            	                }
            	            }
            	            switch (alt7)
            	            {
            	        	case 1:
            	        	    // MySQL.g:364:3: schema_ref
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_schema_ref_in_alter_database670);
            	        	        schema_ref44=schema_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_databaseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref44.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:364:15: ( database_option )+
            	        {
            	            int cnt8=0;

            	            for (;;)
            	            {
            	                int alt8=2;
            	        	switch ( LA(1) )
            	        	{
            	        	case CHAR_SYMBOL:
            	        	case COLLATE_SYMBOL:
            	        	case DEFAULT_SYMBOL:
            	        		{
            	        			alt8=1;
            	        		}
            	        	    break;

            	        	}

            	        	switch (alt8)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:364:15: database_option
            	        	        {
            	        	            FOLLOWPUSH(FOLLOW_database_option_in_alter_database673);
            	        	            database_option45=database_option(ctx);

            	        	            FOLLOWPOP();
            	        	            if  (HASEXCEPTION())
            	        	            {
            	        	                goto rulealter_databaseEx;
            	        	            }
            	        	            if (HASFAILED())
            	        	            {
            	        	                return retval;
            	        	            }

            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, database_option45.tree);

            	        	        }
            	        	        break;

            	        	    default:

            	        		if ( cnt8 >= 1 )
            	        		{
            	        		    goto loop8;
            	        		}
            	        		if (BACKTRACKING>0)
            	        		{
            	        		    FAILEDFLAG = ANTLR3_TRUE;
            	        		    return retval;
            	        		}

            	        		/* mismatchedSetEx()
            	        		 */
            	        		CONSTRUCTEX();
            	        		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            	        		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            	        		goto rulealter_databaseEx;
            	        	}
            	        	cnt8++;
            	            }
            	            loop8: ;	/* Jump to here if this rule does not match */
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:365:5: schema_ref UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_schema_ref_in_alter_database680);
            	        schema_ref46=schema_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_databaseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref46.tree);

            	        UPGRADE_SYMBOL47 = (pANTLR3_COMMON_TOKEN) MATCHT(UPGRADE_SYMBOL, &FOLLOW_UPGRADE_SYMBOL_in_alter_database682);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_databaseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UPGRADE_SYMBOL47_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPGRADE_SYMBOL47));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UPGRADE_SYMBOL47_tree);
            	        }

            	        DATA_SYMBOL48 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_alter_database684);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_databaseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL48_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL48));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL48_tree);
            	        }

            	        DIRECTORY_SYMBOL49 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_alter_database686);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_databaseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL49_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL49));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL49_tree);
            	        }

            	        NAME_SYMBOL50 = (pANTLR3_COMMON_TOKEN) MATCHT(NAME_SYMBOL, &FOLLOW_NAME_SYMBOL_in_alter_database688);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_databaseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NAME_SYMBOL50_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NAME_SYMBOL50));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NAME_SYMBOL50_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_databaseEx; /* Prevent compiler warnings */
    rulealter_databaseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_database */

/**
 * $ANTLR start alter_event
 * MySQL.g:369:1: alter_event : ( definer_clause )? EVENT_SYMBOL event_ref ( ON_SYMBOL SCHEDULE_SYMBOL schedule )? ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )? ( RENAME_SYMBOL TO_SYMBOL identifier )? ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )? ( COMMENT_SYMBOL string_literal )? ( DO_SYMBOL compound_statement )? ;
 */
static MySQLParser_alter_event_return
alter_event(pMySQLParser ctx)
{
    MySQLParser_alter_event_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL52;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL54;
    pANTLR3_COMMON_TOKEN    SCHEDULE_SYMBOL55;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL57;
    pANTLR3_COMMON_TOKEN    COMPLETION_SYMBOL58;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL59;
    pANTLR3_COMMON_TOKEN    PRESERVE_SYMBOL60;
    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL61;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL62;
    pANTLR3_COMMON_TOKEN    ENABLE_SYMBOL64;
    pANTLR3_COMMON_TOKEN    DISABLE_SYMBOL65;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL66;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL67;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL68;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL70;
    MySQLParser_definer_clause_return definer_clause51;
    #undef	RETURN_TYPE_definer_clause51
    #define	RETURN_TYPE_definer_clause51 MySQLParser_definer_clause_return

    MySQLParser_event_ref_return event_ref53;
    #undef	RETURN_TYPE_event_ref53
    #define	RETURN_TYPE_event_ref53 MySQLParser_event_ref_return

    MySQLParser_schedule_return schedule56;
    #undef	RETURN_TYPE_schedule56
    #define	RETURN_TYPE_schedule56 MySQLParser_schedule_return

    MySQLParser_identifier_return identifier63;
    #undef	RETURN_TYPE_identifier63
    #define	RETURN_TYPE_identifier63 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal69;
    #undef	RETURN_TYPE_string_literal69
    #define	RETURN_TYPE_string_literal69 MySQLParser_string_literal_return

    MySQLParser_compound_statement_return compound_statement71;
    #undef	RETURN_TYPE_compound_statement71
    #define	RETURN_TYPE_compound_statement71 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE EVENT_SYMBOL52_tree;
    pANTLR3_BASE_TREE ON_SYMBOL54_tree;
    pANTLR3_BASE_TREE SCHEDULE_SYMBOL55_tree;
    pANTLR3_BASE_TREE ON_SYMBOL57_tree;
    pANTLR3_BASE_TREE COMPLETION_SYMBOL58_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL59_tree;
    pANTLR3_BASE_TREE PRESERVE_SYMBOL60_tree;
    pANTLR3_BASE_TREE RENAME_SYMBOL61_tree;
    pANTLR3_BASE_TREE TO_SYMBOL62_tree;
    pANTLR3_BASE_TREE ENABLE_SYMBOL64_tree;
    pANTLR3_BASE_TREE DISABLE_SYMBOL65_tree;
    pANTLR3_BASE_TREE ON_SYMBOL66_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL67_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL68_tree;
    pANTLR3_BASE_TREE DO_SYMBOL70_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EVENT_SYMBOL52       = NULL;
    ON_SYMBOL54       = NULL;
    SCHEDULE_SYMBOL55       = NULL;
    ON_SYMBOL57       = NULL;
    COMPLETION_SYMBOL58       = NULL;
    NOT_SYMBOL59       = NULL;
    PRESERVE_SYMBOL60       = NULL;
    RENAME_SYMBOL61       = NULL;
    TO_SYMBOL62       = NULL;
    ENABLE_SYMBOL64       = NULL;
    DISABLE_SYMBOL65       = NULL;
    ON_SYMBOL66       = NULL;
    SLAVE_SYMBOL67       = NULL;
    COMMENT_SYMBOL68       = NULL;
    DO_SYMBOL70       = NULL;
    definer_clause51.tree = NULL;

    event_ref53.tree = NULL;

    schedule56.tree = NULL;

    identifier63.tree = NULL;

    string_literal69.tree = NULL;

    compound_statement71.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EVENT_SYMBOL52_tree   = NULL;
    ON_SYMBOL54_tree   = NULL;
    SCHEDULE_SYMBOL55_tree   = NULL;
    ON_SYMBOL57_tree   = NULL;
    COMPLETION_SYMBOL58_tree   = NULL;
    NOT_SYMBOL59_tree   = NULL;
    PRESERVE_SYMBOL60_tree   = NULL;
    RENAME_SYMBOL61_tree   = NULL;
    TO_SYMBOL62_tree   = NULL;
    ENABLE_SYMBOL64_tree   = NULL;
    DISABLE_SYMBOL65_tree   = NULL;
    ON_SYMBOL66_tree   = NULL;
    SLAVE_SYMBOL67_tree   = NULL;
    COMMENT_SYMBOL68_tree   = NULL;
    DO_SYMBOL70_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:369:12: ( ( definer_clause )? EVENT_SYMBOL event_ref ( ON_SYMBOL SCHEDULE_SYMBOL schedule )? ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )? ( RENAME_SYMBOL TO_SYMBOL identifier )? ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )? ( COMMENT_SYMBOL string_literal )? ( DO_SYMBOL compound_statement )? )
        // MySQL.g:370:2: ( definer_clause )? EVENT_SYMBOL event_ref ( ON_SYMBOL SCHEDULE_SYMBOL schedule )? ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )? ( RENAME_SYMBOL TO_SYMBOL identifier )? ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )? ( COMMENT_SYMBOL string_literal )? ( DO_SYMBOL compound_statement )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:370:2: ( definer_clause )?
            {
                int alt10=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt10=1;
                    	}
                        break;
                }

                switch (alt10)
                {
            	case 1:
            	    // MySQL.g:370:2: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_alter_event700);
            	        definer_clause51=definer_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, definer_clause51.tree);

            	    }
            	    break;

                }
            }

            EVENT_SYMBOL52 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_alter_event705);
            if  (HASEXCEPTION())
            {
                goto rulealter_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EVENT_SYMBOL52_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENT_SYMBOL52));
            ADAPTOR->addChild(ADAPTOR, root_0, EVENT_SYMBOL52_tree);
            }

            FOLLOWPUSH(FOLLOW_event_ref_in_alter_event707);
            event_ref53=event_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, event_ref53.tree);

            // MySQL.g:372:3: ( ON_SYMBOL SCHEDULE_SYMBOL schedule )?
            {
                int alt11=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case SCHEDULE_SYMBOL:
                    		    	{
                    		    		alt11=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt11)
                {
            	case 1:
            	    // MySQL.g:372:4: ON_SYMBOL SCHEDULE_SYMBOL schedule
            	    {
            	        ON_SYMBOL54 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event712);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL54_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL54));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL54_tree);
            	        }

            	        SCHEDULE_SYMBOL55 = (pANTLR3_COMMON_TOKEN) MATCHT(SCHEDULE_SYMBOL, &FOLLOW_SCHEDULE_SYMBOL_in_alter_event714);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SCHEDULE_SYMBOL55_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SCHEDULE_SYMBOL55));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SCHEDULE_SYMBOL55_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_schedule_in_alter_event716);
            	        schedule56=schedule(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schedule56.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:373:3: ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )?
            {
                int alt13=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt13=1;
                    	}
                        break;
                }

                switch (alt13)
                {
            	case 1:
            	    // MySQL.g:373:4: ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL
            	    {
            	        ON_SYMBOL57 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event723);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL57_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL57));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL57_tree);
            	        }

            	        COMPLETION_SYMBOL58 = (pANTLR3_COMMON_TOKEN) MATCHT(COMPLETION_SYMBOL, &FOLLOW_COMPLETION_SYMBOL_in_alter_event725);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMPLETION_SYMBOL58_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMPLETION_SYMBOL58));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMPLETION_SYMBOL58_tree);
            	        }

            	        // MySQL.g:373:32: ( NOT_SYMBOL )?
            	        {
            	            int alt12=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt12=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt12)
            	            {
            	        	case 1:
            	        	    // MySQL.g:373:32: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL59 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_alter_event727);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NOT_SYMBOL59_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL59));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL59_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        PRESERVE_SYMBOL60 = (pANTLR3_COMMON_TOKEN) MATCHT(PRESERVE_SYMBOL, &FOLLOW_PRESERVE_SYMBOL_in_alter_event730);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PRESERVE_SYMBOL60_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRESERVE_SYMBOL60));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PRESERVE_SYMBOL60_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:374:3: ( RENAME_SYMBOL TO_SYMBOL identifier )?
            {
                int alt14=2;
                switch ( LA(1) )
                {
                    case RENAME_SYMBOL:
                    	{
                    		alt14=1;
                    	}
                        break;
                }

                switch (alt14)
                {
            	case 1:
            	    // MySQL.g:374:4: RENAME_SYMBOL TO_SYMBOL identifier
            	    {
            	        RENAME_SYMBOL61 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_alter_event737);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        RENAME_SYMBOL61_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL61));
            	        ADAPTOR->addChild(ADAPTOR, root_0, RENAME_SYMBOL61_tree);
            	        }

            	        TO_SYMBOL62 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_alter_event739);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TO_SYMBOL62_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL62));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL62_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_event741);
            	        identifier63=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier63.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:375:3: ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )?
            {
                int alt16=3;
                switch ( LA(1) )
                {
                    case ENABLE_SYMBOL:
                    	{
                    		alt16=1;
                    	}
                        break;
                    case DISABLE_SYMBOL:
                    	{
                    		alt16=2;
                    	}
                        break;
                }

                switch (alt16)
                {
            	case 1:
            	    // MySQL.g:375:4: ENABLE_SYMBOL
            	    {
            	        ENABLE_SYMBOL64 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_alter_event748);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENABLE_SYMBOL64_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENABLE_SYMBOL64));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENABLE_SYMBOL64_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:375:20: DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )?
            	    {
            	        DISABLE_SYMBOL65 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_alter_event752);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DISABLE_SYMBOL65_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISABLE_SYMBOL65));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DISABLE_SYMBOL65_tree);
            	        }

            	        // MySQL.g:375:35: ( ON_SYMBOL SLAVE_SYMBOL )?
            	        {
            	            int alt15=2;
            	            switch ( LA(1) )
            	            {
            	                case ON_SYMBOL:
            	                	{
            	                		alt15=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt15)
            	            {
            	        	case 1:
            	        	    // MySQL.g:375:36: ON_SYMBOL SLAVE_SYMBOL
            	        	    {
            	        	        ON_SYMBOL66 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event755);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ON_SYMBOL66_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL66));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL66_tree);
            	        	        }

            	        	        SLAVE_SYMBOL67 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_alter_event757);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SLAVE_SYMBOL67_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL67));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL67_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:376:3: ( COMMENT_SYMBOL string_literal )?
            {
                int alt17=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt17=1;
                    	}
                        break;
                }

                switch (alt17)
                {
            	case 1:
            	    // MySQL.g:376:4: COMMENT_SYMBOL string_literal
            	    {
            	        COMMENT_SYMBOL68 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_alter_event766);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL68_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL68));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL68_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_alter_event768);
            	        string_literal69=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal69.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:377:3: ( DO_SYMBOL compound_statement )?
            {
                int alt18=2;
                switch ( LA(1) )
                {
                    case DO_SYMBOL:
                    	{
                    		alt18=1;
                    	}
                        break;
                }

                switch (alt18)
                {
            	case 1:
            	    // MySQL.g:377:4: DO_SYMBOL compound_statement
            	    {
            	        DO_SYMBOL70 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_alter_event775);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DO_SYMBOL70_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL70));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DO_SYMBOL70_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_compound_statement_in_alter_event777);
            	        compound_statement71=compound_statement(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement71.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_eventEx; /* Prevent compiler warnings */
    rulealter_eventEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_event */

/**
 * $ANTLR start alter_log_file_group
 * MySQL.g:380:1: alter_log_file_group : LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ADD_SYMBOL UNDOFILE_SYMBOL string_literal ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER ;
 */
static MySQLParser_alter_log_file_group_return
alter_log_file_group(pMySQLParser ctx)
{
    MySQLParser_alter_log_file_group_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOGFILE_SYMBOL72;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL73;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL75;
    pANTLR3_COMMON_TOKEN    UNDOFILE_SYMBOL76;
    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL78;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR79;
    pANTLR3_COMMON_TOKEN    WAIT_SYMBOL81;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL82;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR83;
    pANTLR3_COMMON_TOKEN    IDENTIFIER84;
    MySQLParser_logfile_group_ref_return logfile_group_ref74;
    #undef	RETURN_TYPE_logfile_group_ref74
    #define	RETURN_TYPE_logfile_group_ref74 MySQLParser_logfile_group_ref_return

    MySQLParser_string_literal_return string_literal77;
    #undef	RETURN_TYPE_string_literal77
    #define	RETURN_TYPE_string_literal77 MySQLParser_string_literal_return

    MySQLParser_size_number_return size_number80;
    #undef	RETURN_TYPE_size_number80
    #define	RETURN_TYPE_size_number80 MySQLParser_size_number_return

    pANTLR3_BASE_TREE LOGFILE_SYMBOL72_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL73_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL75_tree;
    pANTLR3_BASE_TREE UNDOFILE_SYMBOL76_tree;
    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL78_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR79_tree;
    pANTLR3_BASE_TREE WAIT_SYMBOL81_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL82_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR83_tree;
    pANTLR3_BASE_TREE IDENTIFIER84_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOGFILE_SYMBOL72       = NULL;
    GROUP_SYMBOL73       = NULL;
    ADD_SYMBOL75       = NULL;
    UNDOFILE_SYMBOL76       = NULL;
    INITIAL_SIZE_SYMBOL78       = NULL;
    EQUAL_OPERATOR79       = NULL;
    WAIT_SYMBOL81       = NULL;
    ENGINE_SYMBOL82       = NULL;
    EQUAL_OPERATOR83       = NULL;
    IDENTIFIER84       = NULL;
    logfile_group_ref74.tree = NULL;

    string_literal77.tree = NULL;

    size_number80.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOGFILE_SYMBOL72_tree   = NULL;
    GROUP_SYMBOL73_tree   = NULL;
    ADD_SYMBOL75_tree   = NULL;
    UNDOFILE_SYMBOL76_tree   = NULL;
    INITIAL_SIZE_SYMBOL78_tree   = NULL;
    EQUAL_OPERATOR79_tree   = NULL;
    WAIT_SYMBOL81_tree   = NULL;
    ENGINE_SYMBOL82_tree   = NULL;
    EQUAL_OPERATOR83_tree   = NULL;
    IDENTIFIER84_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:380:21: ( LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ADD_SYMBOL UNDOFILE_SYMBOL string_literal ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )
        // MySQL.g:381:2: LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ADD_SYMBOL UNDOFILE_SYMBOL string_literal ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOGFILE_SYMBOL72 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group788);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOGFILE_SYMBOL72_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGFILE_SYMBOL72));
            ADAPTOR->addChild(ADAPTOR, root_0, LOGFILE_SYMBOL72_tree);
            }

            GROUP_SYMBOL73 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_alter_log_file_group790);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GROUP_SYMBOL73_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL73));
            ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL73_tree);
            }

            FOLLOWPUSH(FOLLOW_logfile_group_ref_in_alter_log_file_group792);
            logfile_group_ref74=logfile_group_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logfile_group_ref74.tree);

            ADD_SYMBOL75 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_log_file_group794);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ADD_SYMBOL75_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL75));
            ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL75_tree);
            }

            UNDOFILE_SYMBOL76 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDOFILE_SYMBOL, &FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group796);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UNDOFILE_SYMBOL76_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDOFILE_SYMBOL76));
            ADAPTOR->addChild(ADAPTOR, root_0, UNDOFILE_SYMBOL76_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_alter_log_file_group798);
            string_literal77=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal77.tree);

            // MySQL.g:382:3: ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )?
            {
                int alt20=2;
                switch ( LA(1) )
                {
                    case INITIAL_SIZE_SYMBOL:
                    	{
                    		alt20=1;
                    	}
                        break;
                }

                switch (alt20)
                {
            	case 1:
            	    // MySQL.g:382:4: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
            	    {
            	        INITIAL_SIZE_SYMBOL78 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group803);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INITIAL_SIZE_SYMBOL78_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INITIAL_SIZE_SYMBOL78));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INITIAL_SIZE_SYMBOL78_tree);
            	        }

            	        // MySQL.g:382:24: ( EQUAL_OPERATOR )?
            	        {
            	            int alt19=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt19=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt19)
            	            {
            	        	case 1:
            	        	    // MySQL.g:382:24: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR79 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group805);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_log_file_groupEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR79_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR79));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR79_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_size_number_in_alter_log_file_group808);
            	        size_number80=size_number(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number80.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:382:54: ( WAIT_SYMBOL )?
            {
                int alt21=2;
                switch ( LA(1) )
                {
                    case WAIT_SYMBOL:
                    	{
                    		alt21=1;
                    	}
                        break;
                }

                switch (alt21)
                {
            	case 1:
            	    // MySQL.g:382:54: WAIT_SYMBOL
            	    {
            	        WAIT_SYMBOL81 = (pANTLR3_COMMON_TOKEN) MATCHT(WAIT_SYMBOL, &FOLLOW_WAIT_SYMBOL_in_alter_log_file_group812);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WAIT_SYMBOL81_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WAIT_SYMBOL81));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WAIT_SYMBOL81_tree);
            	        }

            	    }
            	    break;

                }
            }

            ENGINE_SYMBOL82 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group815);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ENGINE_SYMBOL82_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL82));
            ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL82_tree);
            }

            // MySQL.g:382:81: ( EQUAL_OPERATOR )?
            {
                int alt22=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt22=1;
                    	}
                        break;
                }

                switch (alt22)
                {
            	case 1:
            	    // MySQL.g:382:81: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR83 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group817);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EQUAL_OPERATOR83_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR83));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR83_tree);
            	        }

            	    }
            	    break;

                }
            }

            IDENTIFIER84 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_alter_log_file_group820);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IDENTIFIER84_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER84));
            ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER84_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_log_file_groupEx; /* Prevent compiler warnings */
    rulealter_log_file_groupEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_log_file_group */

/**
 * $ANTLR start alter_server
 * MySQL.g:385:1: alter_server : SERVER_SYMBOL text_or_identifier server_options ;
 */
static MySQLParser_alter_server_return
alter_server(pMySQLParser ctx)
{
    MySQLParser_alter_server_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SERVER_SYMBOL85;
    MySQLParser_text_or_identifier_return text_or_identifier86;
    #undef	RETURN_TYPE_text_or_identifier86
    #define	RETURN_TYPE_text_or_identifier86 MySQLParser_text_or_identifier_return

    MySQLParser_server_options_return server_options87;
    #undef	RETURN_TYPE_server_options87
    #define	RETURN_TYPE_server_options87 MySQLParser_server_options_return

    pANTLR3_BASE_TREE SERVER_SYMBOL85_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SERVER_SYMBOL85       = NULL;
    text_or_identifier86.tree = NULL;

    server_options87.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SERVER_SYMBOL85_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:385:13: ( SERVER_SYMBOL text_or_identifier server_options )
        // MySQL.g:386:2: SERVER_SYMBOL text_or_identifier server_options
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SERVER_SYMBOL85 = (pANTLR3_COMMON_TOKEN) MATCHT(SERVER_SYMBOL, &FOLLOW_SERVER_SYMBOL_in_alter_server829);
            if  (HASEXCEPTION())
            {
                goto rulealter_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SERVER_SYMBOL85_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERVER_SYMBOL85));
            ADAPTOR->addChild(ADAPTOR, root_0, SERVER_SYMBOL85_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_alter_server831);
            text_or_identifier86=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier86.tree);

            FOLLOWPUSH(FOLLOW_server_options_in_alter_server833);
            server_options87=server_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_options87.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_serverEx; /* Prevent compiler warnings */
    rulealter_serverEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_server */

/**
 * $ANTLR start alter_table
 * MySQL.g:389:1: alter_table : ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_ref ( alter_table_commands )? ;
 */
static MySQLParser_alter_table_return
alter_table(pMySQLParser ctx)
{
    MySQLParser_alter_table_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL89;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL90;
    MySQLParser_online_option_return online_option88;
    #undef	RETURN_TYPE_online_option88
    #define	RETURN_TYPE_online_option88 MySQLParser_online_option_return

    MySQLParser_table_ref_return table_ref91;
    #undef	RETURN_TYPE_table_ref91
    #define	RETURN_TYPE_table_ref91 MySQLParser_table_ref_return

    MySQLParser_alter_table_commands_return alter_table_commands92;
    #undef	RETURN_TYPE_alter_table_commands92
    #define	RETURN_TYPE_alter_table_commands92 MySQLParser_alter_table_commands_return

    pANTLR3_BASE_TREE IGNORE_SYMBOL89_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL90_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IGNORE_SYMBOL89       = NULL;
    TABLE_SYMBOL90       = NULL;
    online_option88.tree = NULL;

    table_ref91.tree = NULL;

    alter_table_commands92.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IGNORE_SYMBOL89_tree   = NULL;
    TABLE_SYMBOL90_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:389:12: ( ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_ref ( alter_table_commands )? )
        // MySQL.g:390:2: ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_ref ( alter_table_commands )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:390:2: ( online_option )?
            {
                int alt23=2;
                {
                    int LA23_0 = LA(1);
                    if ( ((SERVER_VERSION < 50600)) && (((LA23_0 >= OFFLINE_SYMBOL) && (LA23_0 <= ONLINE_SYMBOL))))
                    {
                        alt23=1;
                    }
                }
                switch (alt23)
                {
            	case 1:
            	    // MySQL.g:390:2: online_option
            	    {
            	        FOLLOWPUSH(FOLLOW_online_option_in_alter_table842);
            	        online_option88=online_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, online_option88.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:390:17: ( IGNORE_SYMBOL )?
            {
                int alt24=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt24=1;
                    	}
                        break;
                }

                switch (alt24)
                {
            	case 1:
            	    // MySQL.g:390:17: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL89 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_alter_table845);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL89_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL89));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL89_tree);
            	        }

            	    }
            	    break;

                }
            }

            TABLE_SYMBOL90 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_alter_table848);
            if  (HASEXCEPTION())
            {
                goto rulealter_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TABLE_SYMBOL90_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL90));
            ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL90_tree);
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_alter_table850);
            table_ref91=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref91.tree);

            // MySQL.g:390:55: ( alter_table_commands )?
            {
                int alt25=2;
                {
                    int LA25_0 = LA(1);
                    if ( (LA25_0 == DISCARD_SYMBOL || LA25_0 == ENGINE_SYMBOL || LA25_0 == IMPORT_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA25_0 == TYPE_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( (LA25_0 == COMMENT_SYMBOL || LA25_0 == AUTO_INCREMENT_SYMBOL || LA25_0 == AVG_ROW_LENGTH_SYMBOL || LA25_0 == MAX_ROWS_SYMBOL || LA25_0 == MIN_ROWS_SYMBOL || LA25_0 == PACK_KEYS_SYMBOL || LA25_0 == PASSWORD_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (((LA25_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA25_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                    {
                        alt25=1;
                    }
                    else if ( (((LA25_0 >= CHARSET_SYMBOL) && (LA25_0 <= CHECKSUM_SYMBOL)) || LA25_0 == CONNECTION_SYMBOL || LA25_0 == DATA_SYMBOL || LA25_0 == DELAY_KEY_WRITE_SYMBOL || LA25_0 == DISABLE_SYMBOL || LA25_0 == ENABLE_SYMBOL || ((LA25_0 >= INSERT_METHOD_SYMBOL) && (LA25_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA25_0 == MODIFY_SYMBOL || LA25_0 == ROW_FORMAT_SYMBOL || LA25_0 == STORAGE_SYMBOL || ((LA25_0 >= TABLE_CHECKSUM_SYMBOL) && (LA25_0 <= TABLESPACE_SYMBOL)) || LA25_0 == ADD_SYMBOL || LA25_0 == ALTER_SYMBOL || LA25_0 == CHANGE_SYMBOL || LA25_0 == CHAR_SYMBOL || LA25_0 == COLLATE_SYMBOL || LA25_0 == CONVERT_SYMBOL || LA25_0 == DEFAULT_SYMBOL || LA25_0 == DROP_SYMBOL || LA25_0 == FORCE_SYMBOL || LA25_0 == INDEX_SYMBOL || LA25_0 == ORDER_SYMBOL || LA25_0 == RENAME_SYMBOL || LA25_0 == UNION_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (LA25_0 == ALGORITHM_SYMBOL || LA25_0 == LOCK_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA25_0 == PARTITION_SYMBOL || ((LA25_0 >= REMOVE_SYMBOL) && (LA25_0 <= REPAIR_SYMBOL)) || LA25_0 == ANALYZE_SYMBOL || LA25_0 == COALESCE_SYMBOL || LA25_0 == REBUILD_SYMBOL || LA25_0 == CHECK_SYMBOL || LA25_0 == OPTIMIZE_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( (( (( ((SERVER_VERSION >= 50100)) && ((SERVER_VERSION >= 50100)) )) && ((SERVER_VERSION >= 50500)) )) && (LA25_0 == TRUNCATE_SYMBOL))
                    {
                        alt25=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA25_0 == REORGANIZE_SYMBOL || LA25_0 == EXCHANGE_SYMBOL))
                    {
                        alt25=1;
                    }
                }
                switch (alt25)
                {
            	case 1:
            	    // MySQL.g:390:55: alter_table_commands
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_table_commands_in_alter_table852);
            	        alter_table_commands92=alter_table_commands(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_table_commands92.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_tableEx; /* Prevent compiler warnings */
    rulealter_tableEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_table */

/**
 * $ANTLR start alter_table_commands
 * MySQL.g:393:1: alter_table_commands : ( DISCARD_SYMBOL TABLESPACE_SYMBOL | IMPORT_SYMBOL TABLESPACE_SYMBOL | alter_table_list_item ( COMMA_SYMBOL alter_table_list_item )* ( ( partitioning )? | remove_partitioning ) | remove_partitioning | partitioning |{...}? => alter_partition );
 */
static MySQLParser_alter_table_commands_return
alter_table_commands(pMySQLParser ctx)
{
    MySQLParser_alter_table_commands_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DISCARD_SYMBOL93;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL94;
    pANTLR3_COMMON_TOKEN    IMPORT_SYMBOL95;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL96;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL98;
    MySQLParser_alter_table_list_item_return alter_table_list_item97;
    #undef	RETURN_TYPE_alter_table_list_item97
    #define	RETURN_TYPE_alter_table_list_item97 MySQLParser_alter_table_list_item_return

    MySQLParser_alter_table_list_item_return alter_table_list_item99;
    #undef	RETURN_TYPE_alter_table_list_item99
    #define	RETURN_TYPE_alter_table_list_item99 MySQLParser_alter_table_list_item_return

    MySQLParser_partitioning_return partitioning100;
    #undef	RETURN_TYPE_partitioning100
    #define	RETURN_TYPE_partitioning100 MySQLParser_partitioning_return

    MySQLParser_remove_partitioning_return remove_partitioning101;
    #undef	RETURN_TYPE_remove_partitioning101
    #define	RETURN_TYPE_remove_partitioning101 MySQLParser_remove_partitioning_return

    MySQLParser_remove_partitioning_return remove_partitioning102;
    #undef	RETURN_TYPE_remove_partitioning102
    #define	RETURN_TYPE_remove_partitioning102 MySQLParser_remove_partitioning_return

    MySQLParser_partitioning_return partitioning103;
    #undef	RETURN_TYPE_partitioning103
    #define	RETURN_TYPE_partitioning103 MySQLParser_partitioning_return

    MySQLParser_alter_partition_return alter_partition104;
    #undef	RETURN_TYPE_alter_partition104
    #define	RETURN_TYPE_alter_partition104 MySQLParser_alter_partition_return

    pANTLR3_BASE_TREE DISCARD_SYMBOL93_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL94_tree;
    pANTLR3_BASE_TREE IMPORT_SYMBOL95_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL96_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL98_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DISCARD_SYMBOL93       = NULL;
    TABLESPACE_SYMBOL94       = NULL;
    IMPORT_SYMBOL95       = NULL;
    TABLESPACE_SYMBOL96       = NULL;
    COMMA_SYMBOL98       = NULL;
    alter_table_list_item97.tree = NULL;

    alter_table_list_item99.tree = NULL;

    partitioning100.tree = NULL;

    remove_partitioning101.tree = NULL;

    remove_partitioning102.tree = NULL;

    partitioning103.tree = NULL;

    alter_partition104.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DISCARD_SYMBOL93_tree   = NULL;
    TABLESPACE_SYMBOL94_tree   = NULL;
    IMPORT_SYMBOL95_tree   = NULL;
    TABLESPACE_SYMBOL96_tree   = NULL;
    COMMA_SYMBOL98_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:393:21: ( DISCARD_SYMBOL TABLESPACE_SYMBOL | IMPORT_SYMBOL TABLESPACE_SYMBOL | alter_table_list_item ( COMMA_SYMBOL alter_table_list_item )* ( ( partitioning )? | remove_partitioning ) | remove_partitioning | partitioning |{...}? => alter_partition )

            ANTLR3_UINT32 alt29;

            alt29=6;

            {
                int LA29_0 = LA(1);
                if ( (LA29_0 == DISCARD_SYMBOL))
                {
                    {
                        int LA29_1 = LA(2);
                        if ( (LA29_1 == TABLESPACE_SYMBOL))
                        {
                            alt29=1;
                        }
                        else if ( (( (( ((SERVER_VERSION >= 50704)) && ((SERVER_VERSION >= 50704)) )) && ((SERVER_VERSION >= 50100)) )) && (LA29_1 == PARTITION_SYMBOL))
                        {
                            alt29=6;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 29;
                            EXCEPTION->state        = 1;


                            goto rulealter_table_commandsEx;

                        }
                    }
                }
                else if ( (LA29_0 == IMPORT_SYMBOL))
                {
                    {
                        int LA29_2 = LA(2);
                        if ( (LA29_2 == TABLESPACE_SYMBOL))
                        {
                            alt29=2;
                        }
                        else if ( (( (( ((SERVER_VERSION >= 50704)) && ((SERVER_VERSION >= 50704)) )) && ((SERVER_VERSION >= 50100)) )) && (LA29_2 == PARTITION_SYMBOL))
                        {
                            alt29=6;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 29;
                            EXCEPTION->state        = 2;


                            goto rulealter_table_commandsEx;

                        }
                    }
                }
                else if ( (LA29_0 == ENGINE_SYMBOL))
                {
                    alt29=3;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA29_0 == TYPE_SYMBOL))
                {
                    alt29=3;
                }
                else if ( (LA29_0 == COMMENT_SYMBOL || LA29_0 == AUTO_INCREMENT_SYMBOL || LA29_0 == AVG_ROW_LENGTH_SYMBOL || LA29_0 == MAX_ROWS_SYMBOL || LA29_0 == MIN_ROWS_SYMBOL || LA29_0 == PACK_KEYS_SYMBOL || LA29_0 == PASSWORD_SYMBOL))
                {
                    alt29=3;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA29_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA29_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt29=3;
                }
                else if ( (((LA29_0 >= CHARSET_SYMBOL) && (LA29_0 <= CHECKSUM_SYMBOL)) || LA29_0 == CONNECTION_SYMBOL || LA29_0 == DATA_SYMBOL || LA29_0 == DELAY_KEY_WRITE_SYMBOL || LA29_0 == DISABLE_SYMBOL || LA29_0 == ENABLE_SYMBOL || ((LA29_0 >= INSERT_METHOD_SYMBOL) && (LA29_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA29_0 == MODIFY_SYMBOL || LA29_0 == ROW_FORMAT_SYMBOL || LA29_0 == STORAGE_SYMBOL || ((LA29_0 >= TABLE_CHECKSUM_SYMBOL) && (LA29_0 <= TABLESPACE_SYMBOL)) || LA29_0 == ALTER_SYMBOL || LA29_0 == CHANGE_SYMBOL || LA29_0 == CHAR_SYMBOL || LA29_0 == COLLATE_SYMBOL || LA29_0 == CONVERT_SYMBOL || LA29_0 == DEFAULT_SYMBOL || LA29_0 == FORCE_SYMBOL || LA29_0 == INDEX_SYMBOL || LA29_0 == ORDER_SYMBOL || LA29_0 == RENAME_SYMBOL || LA29_0 == UNION_SYMBOL))
                {
                    alt29=3;
                }
                else if ( (LA29_0 == ADD_SYMBOL))
                {
                    {
                        int LA29_28 = LA(2);
                        if ( (((LA29_28 >= ASCII_SYMBOL) && (LA29_28 <= PARSER_SYMBOL)) || ((LA29_28 >= PORT_SYMBOL) && (LA29_28 <= YEAR_SYMBOL)) || LA29_28 == BACK_TICK_QUOTED_ID || LA29_28 == COLUMN_SYMBOL || LA29_28 == CONSTRAINT_SYMBOL || LA29_28 == DOUBLE_QUOTED_TEXT || LA29_28 == FOREIGN_SYMBOL || LA29_28 == FULLTEXT_SYMBOL || LA29_28 == IDENTIFIER || LA29_28 == INDEX_SYMBOL || LA29_28 == KEY_SYMBOL || LA29_28 == OPEN_PAR_SYMBOL || LA29_28 == PRIMARY_SYMBOL || LA29_28 == SPATIAL_SYMBOL || LA29_28 == UNIQUE_SYMBOL))
                        {
                            alt29=3;
                        }
                        else if ( (LA29_28 == PARTITION_SYMBOL))
                        {
                            {
                                int LA29_59 = LA(3);
                                if ( (!( (( (( ((SERVER_VERSION >= 50100)) && ((SERVER_VERSION >= 50100)) )) && ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) )) )))
                                {
                                    alt29=3;
                                }
                                else if ( (( (( ((SERVER_VERSION >= 50100)) && ((SERVER_VERSION >= 50100)) )) && ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) )))
                                {
                                    alt29=6;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 29;
                                    EXCEPTION->state        = 59;


                                    goto rulealter_table_commandsEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 29;
                            EXCEPTION->state        = 28;


                            goto rulealter_table_commandsEx;

                        }
                    }
                }
                else if ( (LA29_0 == DROP_SYMBOL))
                {
                    {
                        int LA29_32 = LA(2);
                        if ( (LA29_32 == PARTITION_SYMBOL))
                        {
                            {
                                int LA29_71 = LA(3);
                                if ( (!( ((SERVER_VERSION >= 50100)) )))
                                {
                                    alt29=3;
                                }
                                else if ( ((SERVER_VERSION >= 50100)))
                                {
                                    alt29=6;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 29;
                                    EXCEPTION->state        = 71;


                                    goto rulealter_table_commandsEx;

                                }
                            }
                        }
                        else if ( (((LA29_32 >= ASCII_SYMBOL) && (LA29_32 <= PARSER_SYMBOL)) || ((LA29_32 >= PORT_SYMBOL) && (LA29_32 <= YEAR_SYMBOL)) || LA29_32 == BACK_TICK_QUOTED_ID || LA29_32 == COLUMN_SYMBOL || LA29_32 == DOUBLE_QUOTED_TEXT || LA29_32 == FOREIGN_SYMBOL || LA29_32 == IDENTIFIER || LA29_32 == INDEX_SYMBOL || LA29_32 == KEY_SYMBOL || LA29_32 == PRIMARY_SYMBOL))
                        {
                            alt29=3;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 29;
                            EXCEPTION->state        = 32;


                            goto rulealter_table_commandsEx;

                        }
                    }
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA29_0 == ALGORITHM_SYMBOL || LA29_0 == LOCK_SYMBOL))
                {
                    alt29=3;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA29_0 == REMOVE_SYMBOL))
                {
                    alt29=4;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA29_0 == PARTITION_SYMBOL))
                {
                    alt29=5;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA29_0 == REPAIR_SYMBOL || LA29_0 == ANALYZE_SYMBOL || LA29_0 == COALESCE_SYMBOL || LA29_0 == REBUILD_SYMBOL || LA29_0 == CHECK_SYMBOL || LA29_0 == OPTIMIZE_SYMBOL))
                {
                    alt29=6;
                }
                else if ( (( (( ((SERVER_VERSION >= 50100)) && ((SERVER_VERSION >= 50100)) )) && ((SERVER_VERSION >= 50500)) )) && (LA29_0 == TRUNCATE_SYMBOL))
                {
                    alt29=6;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA29_0 == REORGANIZE_SYMBOL || LA29_0 == EXCHANGE_SYMBOL))
                {
                    alt29=6;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 29;
                    EXCEPTION->state        = 0;


                    goto rulealter_table_commandsEx;

                }
            }
            switch (alt29)
            {
        	case 1:
        	    // MySQL.g:394:2: DISCARD_SYMBOL TABLESPACE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DISCARD_SYMBOL93 = (pANTLR3_COMMON_TOKEN) MATCHT(DISCARD_SYMBOL, &FOLLOW_DISCARD_SYMBOL_in_alter_table_commands862);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DISCARD_SYMBOL93_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISCARD_SYMBOL93));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DISCARD_SYMBOL93_tree);
        	        }

        	        TABLESPACE_SYMBOL94 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands864);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL94_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL94));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL94_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:395:4: IMPORT_SYMBOL TABLESPACE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IMPORT_SYMBOL95 = (pANTLR3_COMMON_TOKEN) MATCHT(IMPORT_SYMBOL, &FOLLOW_IMPORT_SYMBOL_in_alter_table_commands869);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IMPORT_SYMBOL95_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IMPORT_SYMBOL95));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IMPORT_SYMBOL95_tree);
        	        }

        	        TABLESPACE_SYMBOL96 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands871);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL96_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL96));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL96_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:396:4: alter_table_list_item ( COMMA_SYMBOL alter_table_list_item )* ( ( partitioning )? | remove_partitioning )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_table_list_item_in_alter_table_commands876);
        	        alter_table_list_item97=alter_table_list_item(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_table_list_item97.tree);

        	        // MySQL.g:396:26: ( COMMA_SYMBOL alter_table_list_item )*

        	        for (;;)
        	        {
        	            int alt26=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt26=1;
        	            	}
        	                break;

        	            }

        	            switch (alt26)
        	            {
        	        	case 1:
        	        	    // MySQL.g:396:27: COMMA_SYMBOL alter_table_list_item
        	        	    {
        	        	        COMMA_SYMBOL98 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_table_commands879);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_commandsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL98_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL98));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL98_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_alter_table_list_item_in_alter_table_commands881);
        	        	        alter_table_list_item99=alter_table_list_item(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_commandsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_table_list_item99.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop26;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop26: ; /* Jump out to here if this rule does not match */


        	        // MySQL.g:396:64: ( ( partitioning )? | remove_partitioning )
        	        {
        	            int alt28=2;
        	            {
        	                int LA28_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50100)) && (LA28_0 == PARTITION_SYMBOL))
        	                {
        	                    alt28=1;
        	                }
        	                else if ( (LA28_0 == EOF || LA28_0 == SEMICOLON_SYMBOL))
        	                {
        	                    alt28=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50100)) && (LA28_0 == REMOVE_SYMBOL))
        	                {
        	                    alt28=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 28;
        	                    EXCEPTION->state        = 0;


        	                    goto rulealter_table_commandsEx;

        	                }
        	            }
        	            switch (alt28)
        	            {
        	        	case 1:
        	        	    // MySQL.g:396:65: ( partitioning )?
        	        	    {
        	        	        // MySQL.g:396:65: ( partitioning )?
        	        	        {
        	        	            int alt27=2;
        	        	            {
        	        	                int LA27_0 = LA(1);
        	        	                if ( ((SERVER_VERSION >= 50100)) && (LA27_0 == PARTITION_SYMBOL))
        	        	                {
        	        	                    alt27=1;
        	        	                }
        	        	            }
        	        	            switch (alt27)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:396:65: partitioning
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_partitioning_in_alter_table_commands886);
        	        	        	        partitioning100=partitioning(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_commandsEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partitioning100.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:396:81: remove_partitioning
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_remove_partitioning_in_alter_table_commands891);
        	        	        remove_partitioning101=remove_partitioning(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_commandsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, remove_partitioning101.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:397:4: remove_partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_remove_partitioning_in_alter_table_commands897);
        	        remove_partitioning102=remove_partitioning(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, remove_partitioning102.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:398:4: partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_partitioning_in_alter_table_commands902);
        	        partitioning103=partitioning(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partitioning103.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:399:4: {...}? => alter_partition
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50100)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50100";
        	                EXCEPTION->ruleName	 = (void *)"alter_table_commands";


        	        }

        	        FOLLOWPUSH(FOLLOW_alter_partition_in_alter_table_commands911);
        	        alter_partition104=alter_partition(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_commandsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_partition104.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulealter_table_commandsEx; /* Prevent compiler warnings */
    rulealter_table_commandsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_table_commands */

/**
 * $ANTLR start alter_table_list_item
 * MySQL.g:402:1: alter_table_list_item : alter_table_list_entry -> ^( ALTER_TABLE_ITEM_TOKEN alter_table_list_entry ) ;
 */
static MySQLParser_alter_table_list_item_return
alter_table_list_item(pMySQLParser ctx)
{
    MySQLParser_alter_table_list_item_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_alter_table_list_entry_return alter_table_list_entry105;
    #undef	RETURN_TYPE_alter_table_list_entry105
    #define	RETURN_TYPE_alter_table_list_entry105 MySQLParser_alter_table_list_entry_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_alter_table_list_entry;
    /* Initialize rule variables
     */

    root_0 = NULL;

    alter_table_list_entry105.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_alter_table_list_entry   = NULL;
    #define CREATE_stream_alter_table_list_entry  if (stream_alter_table_list_entry == NULL) {stream_alter_table_list_entry = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule alter_table_list_entry"); }

    retval.tree  = NULL;

    {
        // MySQL.g:402:22: ( alter_table_list_entry -> ^( ALTER_TABLE_ITEM_TOKEN alter_table_list_entry ) )
        // MySQL.g:403:2: alter_table_list_entry
        {
            FOLLOWPUSH(FOLLOW_alter_table_list_entry_in_alter_table_list_item920);
            alter_table_list_entry105=alter_table_list_entry(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_table_list_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_alter_table_list_entry; stream_alter_table_list_entry->add(stream_alter_table_list_entry, alter_table_list_entry105.tree, NULL); }

            /* AST REWRITE
             * elements          : alter_table_list_entry
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 403:25: -> ^( ALTER_TABLE_ITEM_TOKEN alter_table_list_entry )
            	{
            	    // MySQL.g:403:28: ^( ALTER_TABLE_ITEM_TOKEN alter_table_list_entry )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ALTER_TABLE_ITEM_TOKEN, (pANTLR3_UINT8)"ALTER_TABLE_ITEM_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_alter_table_list_entry == NULL ? NULL : stream_alter_table_list_entry->nextTree(stream_alter_table_list_entry));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_table_list_itemEx; /* Prevent compiler warnings */
    rulealter_table_list_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_alter_table_list_entry != NULL) stream_alter_table_list_entry->free(stream_alter_table_list_entry);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_table_list_item */

/**
 * $ANTLR start alter_table_list_entry
 * MySQL.g:406:1: alter_table_list_entry : ( alter_table_options | ADD_SYMBOL ( COLUMN_SYMBOL )? ( column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | OPEN_PAR_SYMBOL column_definition ( COMMA_SYMBOL column_definition )* CLOSE_PAR_SYMBOL ) | ADD_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL ) ( identifier )? ( index_type )? index_columns ( index_option )* | ADD_SYMBOL ( CONSTRAINT_SYMBOL ( identifier )? )? ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( identifier )? index_columns reference_definition ) | ADD_SYMBOL FULLTEXT_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )* | ADD_SYMBOL SPATIAL_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )* | ALTER_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref ( SET_SYMBOL DEFAULT_SYMBOL signed_literal | DROP_SYMBOL DEFAULT_SYMBOL ) | CHANGE_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | MODIFY_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | DROP_SYMBOL ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? column_internal_ref | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL ({...}? => column_ref |{...}? => ( column_ref )? ) ) | DISABLE_SYMBOL KEYS_SYMBOL | ENABLE_SYMBOL KEYS_SYMBOL | RENAME_SYMBOL ( TO_SYMBOL | AS_SYMBOL )? table_ref |{...}? => RENAME_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL ) identifier TO_SYMBOL identifier | alter_order_by | CONVERT_SYMBOL TO_SYMBOL CHAR_SYMBOL SET_SYMBOL charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? | FORCE_SYMBOL |{...}? => alter_algorithm_option |{...}? => alter_lock_option );
 */
static MySQLParser_alter_table_list_entry_return
alter_table_list_entry(pMySQLParser ctx)
{
    MySQLParser_alter_table_list_entry_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ADD_SYMBOL107;
    pANTLR3_COMMON_TOKEN    COLUMN_SYMBOL108;
    pANTLR3_COMMON_TOKEN    FIRST_SYMBOL110;
    pANTLR3_COMMON_TOKEN    AFTER_SYMBOL111;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL113;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL115;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL117;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL118;
    pANTLR3_COMMON_TOKEN    set119;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL124;
    pANTLR3_COMMON_TOKEN    CONSTRAINT_SYMBOL125;
    pANTLR3_COMMON_TOKEN    PRIMARY_SYMBOL127;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL128;
    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL132;
    pANTLR3_COMMON_TOKEN    set133;
    pANTLR3_COMMON_TOKEN    FOREIGN_SYMBOL138;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL139;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL143;
    pANTLR3_COMMON_TOKEN    FULLTEXT_SYMBOL144;
    pANTLR3_COMMON_TOKEN    set145;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL149;
    pANTLR3_COMMON_TOKEN    SPATIAL_SYMBOL150;
    pANTLR3_COMMON_TOKEN    set151;
    pANTLR3_COMMON_TOKEN    ALTER_SYMBOL155;
    pANTLR3_COMMON_TOKEN    COLUMN_SYMBOL156;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL158;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL159;
    pANTLR3_COMMON_TOKEN    DROP_SYMBOL161;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL162;
    pANTLR3_COMMON_TOKEN    CHANGE_SYMBOL163;
    pANTLR3_COMMON_TOKEN    COLUMN_SYMBOL164;
    pANTLR3_COMMON_TOKEN    FIRST_SYMBOL167;
    pANTLR3_COMMON_TOKEN    AFTER_SYMBOL168;
    pANTLR3_COMMON_TOKEN    MODIFY_SYMBOL170;
    pANTLR3_COMMON_TOKEN    COLUMN_SYMBOL171;
    pANTLR3_COMMON_TOKEN    FIRST_SYMBOL174;
    pANTLR3_COMMON_TOKEN    AFTER_SYMBOL175;
    pANTLR3_COMMON_TOKEN    DROP_SYMBOL177;
    pANTLR3_COMMON_TOKEN    set178;
    pANTLR3_COMMON_TOKEN    COLUMN_SYMBOL180;
    pANTLR3_COMMON_TOKEN    PRIMARY_SYMBOL182;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL183;
    pANTLR3_COMMON_TOKEN    FOREIGN_SYMBOL184;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL185;
    pANTLR3_COMMON_TOKEN    DISABLE_SYMBOL188;
    pANTLR3_COMMON_TOKEN    KEYS_SYMBOL189;
    pANTLR3_COMMON_TOKEN    ENABLE_SYMBOL190;
    pANTLR3_COMMON_TOKEN    KEYS_SYMBOL191;
    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL192;
    pANTLR3_COMMON_TOKEN    set193;
    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL195;
    pANTLR3_COMMON_TOKEN    set196;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL198;
    pANTLR3_COMMON_TOKEN    CONVERT_SYMBOL201;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL202;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL203;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL204;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL206;
    pANTLR3_COMMON_TOKEN    FORCE_SYMBOL208;
    MySQLParser_alter_table_options_return alter_table_options106;
    #undef	RETURN_TYPE_alter_table_options106
    #define	RETURN_TYPE_alter_table_options106 MySQLParser_alter_table_options_return

    MySQLParser_column_definition_return column_definition109;
    #undef	RETURN_TYPE_column_definition109
    #define	RETURN_TYPE_column_definition109 MySQLParser_column_definition_return

    MySQLParser_identifier_return identifier112;
    #undef	RETURN_TYPE_identifier112
    #define	RETURN_TYPE_identifier112 MySQLParser_identifier_return

    MySQLParser_column_definition_return column_definition114;
    #undef	RETURN_TYPE_column_definition114
    #define	RETURN_TYPE_column_definition114 MySQLParser_column_definition_return

    MySQLParser_column_definition_return column_definition116;
    #undef	RETURN_TYPE_column_definition116
    #define	RETURN_TYPE_column_definition116 MySQLParser_column_definition_return

    MySQLParser_identifier_return identifier120;
    #undef	RETURN_TYPE_identifier120
    #define	RETURN_TYPE_identifier120 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type121;
    #undef	RETURN_TYPE_index_type121
    #define	RETURN_TYPE_index_type121 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns122;
    #undef	RETURN_TYPE_index_columns122
    #define	RETURN_TYPE_index_columns122 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option123;
    #undef	RETURN_TYPE_index_option123
    #define	RETURN_TYPE_index_option123 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier126;
    #undef	RETURN_TYPE_identifier126
    #define	RETURN_TYPE_identifier126 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type129;
    #undef	RETURN_TYPE_index_type129
    #define	RETURN_TYPE_index_type129 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns130;
    #undef	RETURN_TYPE_index_columns130
    #define	RETURN_TYPE_index_columns130 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option131;
    #undef	RETURN_TYPE_index_option131
    #define	RETURN_TYPE_index_option131 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier134;
    #undef	RETURN_TYPE_identifier134
    #define	RETURN_TYPE_identifier134 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type135;
    #undef	RETURN_TYPE_index_type135
    #define	RETURN_TYPE_index_type135 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns136;
    #undef	RETURN_TYPE_index_columns136
    #define	RETURN_TYPE_index_columns136 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option137;
    #undef	RETURN_TYPE_index_option137
    #define	RETURN_TYPE_index_option137 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier140;
    #undef	RETURN_TYPE_identifier140
    #define	RETURN_TYPE_identifier140 MySQLParser_identifier_return

    MySQLParser_index_columns_return index_columns141;
    #undef	RETURN_TYPE_index_columns141
    #define	RETURN_TYPE_index_columns141 MySQLParser_index_columns_return

    MySQLParser_reference_definition_return reference_definition142;
    #undef	RETURN_TYPE_reference_definition142
    #define	RETURN_TYPE_reference_definition142 MySQLParser_reference_definition_return

    MySQLParser_identifier_return identifier146;
    #undef	RETURN_TYPE_identifier146
    #define	RETURN_TYPE_identifier146 MySQLParser_identifier_return

    MySQLParser_index_columns_return index_columns147;
    #undef	RETURN_TYPE_index_columns147
    #define	RETURN_TYPE_index_columns147 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option148;
    #undef	RETURN_TYPE_index_option148
    #define	RETURN_TYPE_index_option148 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier152;
    #undef	RETURN_TYPE_identifier152
    #define	RETURN_TYPE_identifier152 MySQLParser_identifier_return

    MySQLParser_index_columns_return index_columns153;
    #undef	RETURN_TYPE_index_columns153
    #define	RETURN_TYPE_index_columns153 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option154;
    #undef	RETURN_TYPE_index_option154
    #define	RETURN_TYPE_index_option154 MySQLParser_index_option_return

    MySQLParser_column_internal_ref_return column_internal_ref157;
    #undef	RETURN_TYPE_column_internal_ref157
    #define	RETURN_TYPE_column_internal_ref157 MySQLParser_column_internal_ref_return

    MySQLParser_signed_literal_return signed_literal160;
    #undef	RETURN_TYPE_signed_literal160
    #define	RETURN_TYPE_signed_literal160 MySQLParser_signed_literal_return

    MySQLParser_column_internal_ref_return column_internal_ref165;
    #undef	RETURN_TYPE_column_internal_ref165
    #define	RETURN_TYPE_column_internal_ref165 MySQLParser_column_internal_ref_return

    MySQLParser_field_spec_return field_spec166;
    #undef	RETURN_TYPE_field_spec166
    #define	RETURN_TYPE_field_spec166 MySQLParser_field_spec_return

    MySQLParser_identifier_return identifier169;
    #undef	RETURN_TYPE_identifier169
    #define	RETURN_TYPE_identifier169 MySQLParser_identifier_return

    MySQLParser_column_internal_ref_return column_internal_ref172;
    #undef	RETURN_TYPE_column_internal_ref172
    #define	RETURN_TYPE_column_internal_ref172 MySQLParser_column_internal_ref_return

    MySQLParser_field_spec_return field_spec173;
    #undef	RETURN_TYPE_field_spec173
    #define	RETURN_TYPE_field_spec173 MySQLParser_field_spec_return

    MySQLParser_identifier_return identifier176;
    #undef	RETURN_TYPE_identifier176
    #define	RETURN_TYPE_identifier176 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier179;
    #undef	RETURN_TYPE_identifier179
    #define	RETURN_TYPE_identifier179 MySQLParser_identifier_return

    MySQLParser_column_internal_ref_return column_internal_ref181;
    #undef	RETURN_TYPE_column_internal_ref181
    #define	RETURN_TYPE_column_internal_ref181 MySQLParser_column_internal_ref_return

    MySQLParser_column_ref_return column_ref186;
    #undef	RETURN_TYPE_column_ref186
    #define	RETURN_TYPE_column_ref186 MySQLParser_column_ref_return

    MySQLParser_column_ref_return column_ref187;
    #undef	RETURN_TYPE_column_ref187
    #define	RETURN_TYPE_column_ref187 MySQLParser_column_ref_return

    MySQLParser_table_ref_return table_ref194;
    #undef	RETURN_TYPE_table_ref194
    #define	RETURN_TYPE_table_ref194 MySQLParser_table_ref_return

    MySQLParser_identifier_return identifier197;
    #undef	RETURN_TYPE_identifier197
    #define	RETURN_TYPE_identifier197 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier199;
    #undef	RETURN_TYPE_identifier199
    #define	RETURN_TYPE_identifier199 MySQLParser_identifier_return

    MySQLParser_alter_order_by_return alter_order_by200;
    #undef	RETURN_TYPE_alter_order_by200
    #define	RETURN_TYPE_alter_order_by200 MySQLParser_alter_order_by_return

    MySQLParser_charset_name_or_default_return charset_name_or_default205;
    #undef	RETURN_TYPE_charset_name_or_default205
    #define	RETURN_TYPE_charset_name_or_default205 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default207;
    #undef	RETURN_TYPE_collation_name_or_default207
    #define	RETURN_TYPE_collation_name_or_default207 MySQLParser_collation_name_or_default_return

    MySQLParser_alter_algorithm_option_return alter_algorithm_option209;
    #undef	RETURN_TYPE_alter_algorithm_option209
    #define	RETURN_TYPE_alter_algorithm_option209 MySQLParser_alter_algorithm_option_return

    MySQLParser_alter_lock_option_return alter_lock_option210;
    #undef	RETURN_TYPE_alter_lock_option210
    #define	RETURN_TYPE_alter_lock_option210 MySQLParser_alter_lock_option_return

    pANTLR3_BASE_TREE ADD_SYMBOL107_tree;
    pANTLR3_BASE_TREE COLUMN_SYMBOL108_tree;
    pANTLR3_BASE_TREE FIRST_SYMBOL110_tree;
    pANTLR3_BASE_TREE AFTER_SYMBOL111_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL113_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL115_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL117_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL118_tree;
    pANTLR3_BASE_TREE set119_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL124_tree;
    pANTLR3_BASE_TREE CONSTRAINT_SYMBOL125_tree;
    pANTLR3_BASE_TREE PRIMARY_SYMBOL127_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL128_tree;
    pANTLR3_BASE_TREE UNIQUE_SYMBOL132_tree;
    pANTLR3_BASE_TREE set133_tree;
    pANTLR3_BASE_TREE FOREIGN_SYMBOL138_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL139_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL143_tree;
    pANTLR3_BASE_TREE FULLTEXT_SYMBOL144_tree;
    pANTLR3_BASE_TREE set145_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL149_tree;
    pANTLR3_BASE_TREE SPATIAL_SYMBOL150_tree;
    pANTLR3_BASE_TREE set151_tree;
    pANTLR3_BASE_TREE ALTER_SYMBOL155_tree;
    pANTLR3_BASE_TREE COLUMN_SYMBOL156_tree;
    pANTLR3_BASE_TREE SET_SYMBOL158_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL159_tree;
    pANTLR3_BASE_TREE DROP_SYMBOL161_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL162_tree;
    pANTLR3_BASE_TREE CHANGE_SYMBOL163_tree;
    pANTLR3_BASE_TREE COLUMN_SYMBOL164_tree;
    pANTLR3_BASE_TREE FIRST_SYMBOL167_tree;
    pANTLR3_BASE_TREE AFTER_SYMBOL168_tree;
    pANTLR3_BASE_TREE MODIFY_SYMBOL170_tree;
    pANTLR3_BASE_TREE COLUMN_SYMBOL171_tree;
    pANTLR3_BASE_TREE FIRST_SYMBOL174_tree;
    pANTLR3_BASE_TREE AFTER_SYMBOL175_tree;
    pANTLR3_BASE_TREE DROP_SYMBOL177_tree;
    pANTLR3_BASE_TREE set178_tree;
    pANTLR3_BASE_TREE COLUMN_SYMBOL180_tree;
    pANTLR3_BASE_TREE PRIMARY_SYMBOL182_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL183_tree;
    pANTLR3_BASE_TREE FOREIGN_SYMBOL184_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL185_tree;
    pANTLR3_BASE_TREE DISABLE_SYMBOL188_tree;
    pANTLR3_BASE_TREE KEYS_SYMBOL189_tree;
    pANTLR3_BASE_TREE ENABLE_SYMBOL190_tree;
    pANTLR3_BASE_TREE KEYS_SYMBOL191_tree;
    pANTLR3_BASE_TREE RENAME_SYMBOL192_tree;
    pANTLR3_BASE_TREE set193_tree;
    pANTLR3_BASE_TREE RENAME_SYMBOL195_tree;
    pANTLR3_BASE_TREE set196_tree;
    pANTLR3_BASE_TREE TO_SYMBOL198_tree;
    pANTLR3_BASE_TREE CONVERT_SYMBOL201_tree;
    pANTLR3_BASE_TREE TO_SYMBOL202_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL203_tree;
    pANTLR3_BASE_TREE SET_SYMBOL204_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL206_tree;
    pANTLR3_BASE_TREE FORCE_SYMBOL208_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ADD_SYMBOL107       = NULL;
    COLUMN_SYMBOL108       = NULL;
    FIRST_SYMBOL110       = NULL;
    AFTER_SYMBOL111       = NULL;
    OPEN_PAR_SYMBOL113       = NULL;
    COMMA_SYMBOL115       = NULL;
    CLOSE_PAR_SYMBOL117       = NULL;
    ADD_SYMBOL118       = NULL;
    set119       = NULL;
    ADD_SYMBOL124       = NULL;
    CONSTRAINT_SYMBOL125       = NULL;
    PRIMARY_SYMBOL127       = NULL;
    KEY_SYMBOL128       = NULL;
    UNIQUE_SYMBOL132       = NULL;
    set133       = NULL;
    FOREIGN_SYMBOL138       = NULL;
    KEY_SYMBOL139       = NULL;
    ADD_SYMBOL143       = NULL;
    FULLTEXT_SYMBOL144       = NULL;
    set145       = NULL;
    ADD_SYMBOL149       = NULL;
    SPATIAL_SYMBOL150       = NULL;
    set151       = NULL;
    ALTER_SYMBOL155       = NULL;
    COLUMN_SYMBOL156       = NULL;
    SET_SYMBOL158       = NULL;
    DEFAULT_SYMBOL159       = NULL;
    DROP_SYMBOL161       = NULL;
    DEFAULT_SYMBOL162       = NULL;
    CHANGE_SYMBOL163       = NULL;
    COLUMN_SYMBOL164       = NULL;
    FIRST_SYMBOL167       = NULL;
    AFTER_SYMBOL168       = NULL;
    MODIFY_SYMBOL170       = NULL;
    COLUMN_SYMBOL171       = NULL;
    FIRST_SYMBOL174       = NULL;
    AFTER_SYMBOL175       = NULL;
    DROP_SYMBOL177       = NULL;
    set178       = NULL;
    COLUMN_SYMBOL180       = NULL;
    PRIMARY_SYMBOL182       = NULL;
    KEY_SYMBOL183       = NULL;
    FOREIGN_SYMBOL184       = NULL;
    KEY_SYMBOL185       = NULL;
    DISABLE_SYMBOL188       = NULL;
    KEYS_SYMBOL189       = NULL;
    ENABLE_SYMBOL190       = NULL;
    KEYS_SYMBOL191       = NULL;
    RENAME_SYMBOL192       = NULL;
    set193       = NULL;
    RENAME_SYMBOL195       = NULL;
    set196       = NULL;
    TO_SYMBOL198       = NULL;
    CONVERT_SYMBOL201       = NULL;
    TO_SYMBOL202       = NULL;
    CHAR_SYMBOL203       = NULL;
    SET_SYMBOL204       = NULL;
    COLLATE_SYMBOL206       = NULL;
    FORCE_SYMBOL208       = NULL;
    alter_table_options106.tree = NULL;

    column_definition109.tree = NULL;

    identifier112.tree = NULL;

    column_definition114.tree = NULL;

    column_definition116.tree = NULL;

    identifier120.tree = NULL;

    index_type121.tree = NULL;

    index_columns122.tree = NULL;

    index_option123.tree = NULL;

    identifier126.tree = NULL;

    index_type129.tree = NULL;

    index_columns130.tree = NULL;

    index_option131.tree = NULL;

    identifier134.tree = NULL;

    index_type135.tree = NULL;

    index_columns136.tree = NULL;

    index_option137.tree = NULL;

    identifier140.tree = NULL;

    index_columns141.tree = NULL;

    reference_definition142.tree = NULL;

    identifier146.tree = NULL;

    index_columns147.tree = NULL;

    index_option148.tree = NULL;

    identifier152.tree = NULL;

    index_columns153.tree = NULL;

    index_option154.tree = NULL;

    column_internal_ref157.tree = NULL;

    signed_literal160.tree = NULL;

    column_internal_ref165.tree = NULL;

    field_spec166.tree = NULL;

    identifier169.tree = NULL;

    column_internal_ref172.tree = NULL;

    field_spec173.tree = NULL;

    identifier176.tree = NULL;

    identifier179.tree = NULL;

    column_internal_ref181.tree = NULL;

    column_ref186.tree = NULL;

    column_ref187.tree = NULL;

    table_ref194.tree = NULL;

    identifier197.tree = NULL;

    identifier199.tree = NULL;

    alter_order_by200.tree = NULL;

    charset_name_or_default205.tree = NULL;

    collation_name_or_default207.tree = NULL;

    alter_algorithm_option209.tree = NULL;

    alter_lock_option210.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ADD_SYMBOL107_tree   = NULL;
    COLUMN_SYMBOL108_tree   = NULL;
    FIRST_SYMBOL110_tree   = NULL;
    AFTER_SYMBOL111_tree   = NULL;
    OPEN_PAR_SYMBOL113_tree   = NULL;
    COMMA_SYMBOL115_tree   = NULL;
    CLOSE_PAR_SYMBOL117_tree   = NULL;
    ADD_SYMBOL118_tree   = NULL;
    set119_tree   = NULL;
    ADD_SYMBOL124_tree   = NULL;
    CONSTRAINT_SYMBOL125_tree   = NULL;
    PRIMARY_SYMBOL127_tree   = NULL;
    KEY_SYMBOL128_tree   = NULL;
    UNIQUE_SYMBOL132_tree   = NULL;
    set133_tree   = NULL;
    FOREIGN_SYMBOL138_tree   = NULL;
    KEY_SYMBOL139_tree   = NULL;
    ADD_SYMBOL143_tree   = NULL;
    FULLTEXT_SYMBOL144_tree   = NULL;
    set145_tree   = NULL;
    ADD_SYMBOL149_tree   = NULL;
    SPATIAL_SYMBOL150_tree   = NULL;
    set151_tree   = NULL;
    ALTER_SYMBOL155_tree   = NULL;
    COLUMN_SYMBOL156_tree   = NULL;
    SET_SYMBOL158_tree   = NULL;
    DEFAULT_SYMBOL159_tree   = NULL;
    DROP_SYMBOL161_tree   = NULL;
    DEFAULT_SYMBOL162_tree   = NULL;
    CHANGE_SYMBOL163_tree   = NULL;
    COLUMN_SYMBOL164_tree   = NULL;
    FIRST_SYMBOL167_tree   = NULL;
    AFTER_SYMBOL168_tree   = NULL;
    MODIFY_SYMBOL170_tree   = NULL;
    COLUMN_SYMBOL171_tree   = NULL;
    FIRST_SYMBOL174_tree   = NULL;
    AFTER_SYMBOL175_tree   = NULL;
    DROP_SYMBOL177_tree   = NULL;
    set178_tree   = NULL;
    COLUMN_SYMBOL180_tree   = NULL;
    PRIMARY_SYMBOL182_tree   = NULL;
    KEY_SYMBOL183_tree   = NULL;
    FOREIGN_SYMBOL184_tree   = NULL;
    KEY_SYMBOL185_tree   = NULL;
    DISABLE_SYMBOL188_tree   = NULL;
    KEYS_SYMBOL189_tree   = NULL;
    ENABLE_SYMBOL190_tree   = NULL;
    KEYS_SYMBOL191_tree   = NULL;
    RENAME_SYMBOL192_tree   = NULL;
    set193_tree   = NULL;
    RENAME_SYMBOL195_tree   = NULL;
    set196_tree   = NULL;
    TO_SYMBOL198_tree   = NULL;
    CONVERT_SYMBOL201_tree   = NULL;
    TO_SYMBOL202_tree   = NULL;
    CHAR_SYMBOL203_tree   = NULL;
    SET_SYMBOL204_tree   = NULL;
    COLLATE_SYMBOL206_tree   = NULL;
    FORCE_SYMBOL208_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:406:23: ( alter_table_options | ADD_SYMBOL ( COLUMN_SYMBOL )? ( column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | OPEN_PAR_SYMBOL column_definition ( COMMA_SYMBOL column_definition )* CLOSE_PAR_SYMBOL ) | ADD_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL ) ( identifier )? ( index_type )? index_columns ( index_option )* | ADD_SYMBOL ( CONSTRAINT_SYMBOL ( identifier )? )? ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( identifier )? index_columns reference_definition ) | ADD_SYMBOL FULLTEXT_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )* | ADD_SYMBOL SPATIAL_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )* | ALTER_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref ( SET_SYMBOL DEFAULT_SYMBOL signed_literal | DROP_SYMBOL DEFAULT_SYMBOL ) | CHANGE_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | MODIFY_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | DROP_SYMBOL ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? column_internal_ref | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL ({...}? => column_ref |{...}? => ( column_ref )? ) ) | DISABLE_SYMBOL KEYS_SYMBOL | ENABLE_SYMBOL KEYS_SYMBOL | RENAME_SYMBOL ( TO_SYMBOL | AS_SYMBOL )? table_ref |{...}? => RENAME_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL ) identifier TO_SYMBOL identifier | alter_order_by | CONVERT_SYMBOL TO_SYMBOL CHAR_SYMBOL SET_SYMBOL charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? | FORCE_SYMBOL |{...}? => alter_algorithm_option |{...}? => alter_lock_option )

            ANTLR3_UINT32 alt65;

            alt65=19;

            {
                int LA65_0 = LA(1);
                if ( (LA65_0 == ENGINE_SYMBOL))
                {
                    alt65=1;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA65_0 == TYPE_SYMBOL))
                {
                    alt65=1;
                }
                else if ( (LA65_0 == COMMENT_SYMBOL || LA65_0 == AUTO_INCREMENT_SYMBOL || LA65_0 == AVG_ROW_LENGTH_SYMBOL || LA65_0 == MAX_ROWS_SYMBOL || LA65_0 == MIN_ROWS_SYMBOL || LA65_0 == PACK_KEYS_SYMBOL || LA65_0 == PASSWORD_SYMBOL))
                {
                    alt65=1;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA65_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA65_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt65=1;
                }
                else if ( (((LA65_0 >= CHARSET_SYMBOL) && (LA65_0 <= CHECKSUM_SYMBOL)) || LA65_0 == CONNECTION_SYMBOL || LA65_0 == DATA_SYMBOL || LA65_0 == DELAY_KEY_WRITE_SYMBOL || ((LA65_0 >= INSERT_METHOD_SYMBOL) && (LA65_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA65_0 == ROW_FORMAT_SYMBOL || LA65_0 == STORAGE_SYMBOL || ((LA65_0 >= TABLE_CHECKSUM_SYMBOL) && (LA65_0 <= TABLESPACE_SYMBOL)) || LA65_0 == CHAR_SYMBOL || LA65_0 == COLLATE_SYMBOL || LA65_0 == DEFAULT_SYMBOL || LA65_0 == INDEX_SYMBOL || LA65_0 == UNION_SYMBOL))
                {
                    alt65=1;
                }
                else if ( (LA65_0 == ADD_SYMBOL))
                {
                    {
                        int LA65_26 = LA(2);
                        if ( (LA65_26 == INDEX_SYMBOL || LA65_26 == KEY_SYMBOL))
                        {
                            alt65=3;
                        }
                        else if ( (LA65_26 == FULLTEXT_SYMBOL))
                        {
                            alt65=5;
                        }
                        else if ( (LA65_26 == SPATIAL_SYMBOL))
                        {
                            alt65=6;
                        }
                        else if ( (((LA65_26 >= ASCII_SYMBOL) && (LA65_26 <= YEAR_SYMBOL)) || LA65_26 == BACK_TICK_QUOTED_ID || LA65_26 == COLUMN_SYMBOL || LA65_26 == DOUBLE_QUOTED_TEXT || LA65_26 == IDENTIFIER || LA65_26 == OPEN_PAR_SYMBOL))
                        {
                            alt65=2;
                        }
                        else if ( (LA65_26 == CONSTRAINT_SYMBOL || LA65_26 == FOREIGN_SYMBOL || LA65_26 == PRIMARY_SYMBOL || LA65_26 == UNIQUE_SYMBOL))
                        {
                            alt65=4;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 65;
                            EXCEPTION->state        = 26;


                            goto rulealter_table_list_entryEx;

                        }
                    }
                }
                else if ( (LA65_0 == ALTER_SYMBOL))
                {
                    alt65=7;
                }
                else if ( (LA65_0 == CHANGE_SYMBOL))
                {
                    alt65=8;
                }
                else if ( (LA65_0 == MODIFY_SYMBOL))
                {
                    alt65=9;
                }
                else if ( (LA65_0 == DROP_SYMBOL))
                {
                    alt65=10;
                }
                else if ( (LA65_0 == DISABLE_SYMBOL))
                {
                    alt65=11;
                }
                else if ( (LA65_0 == ENABLE_SYMBOL))
                {
                    alt65=12;
                }
                else if ( (LA65_0 == RENAME_SYMBOL))
                {
                    {
                        int LA65_33 = LA(2);
                        if ( ((SERVER_VERSION >= 50700)) && (LA65_33 == INDEX_SYMBOL || LA65_33 == KEY_SYMBOL))
                        {
                            alt65=14;
                        }
                        else if ( (((LA65_33 >= ASCII_SYMBOL) && (LA65_33 <= YEAR_SYMBOL)) || LA65_33 == AS_SYMBOL || LA65_33 == BACK_TICK_QUOTED_ID || LA65_33 == DOT_SYMBOL || LA65_33 == DOUBLE_QUOTED_TEXT || LA65_33 == IDENTIFIER || LA65_33 == TO_SYMBOL))
                        {
                            alt65=13;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 65;
                            EXCEPTION->state        = 33;


                            goto rulealter_table_list_entryEx;

                        }
                    }
                }
                else if ( (LA65_0 == ORDER_SYMBOL))
                {
                    alt65=15;
                }
                else if ( (LA65_0 == CONVERT_SYMBOL))
                {
                    alt65=16;
                }
                else if ( (LA65_0 == FORCE_SYMBOL))
                {
                    alt65=17;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA65_0 == ALGORITHM_SYMBOL))
                {
                    alt65=18;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA65_0 == LOCK_SYMBOL))
                {
                    alt65=19;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 65;
                    EXCEPTION->state        = 0;


                    goto rulealter_table_list_entryEx;

                }
            }
            switch (alt65)
            {
        	case 1:
        	    // MySQL.g:407:2: alter_table_options
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_table_options_in_alter_table_list_entry937);
        	        alter_table_options106=alter_table_options(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_table_options106.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:408:4: ADD_SYMBOL ( COLUMN_SYMBOL )? ( column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | OPEN_PAR_SYMBOL column_definition ( COMMA_SYMBOL column_definition )* CLOSE_PAR_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ADD_SYMBOL107 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_table_list_entry942);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ADD_SYMBOL107_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL107));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL107_tree);
        	        }

        	        // MySQL.g:408:15: ( COLUMN_SYMBOL )?
        	        {
        	            int alt30=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt30=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt30)
        	            {
        	        	case 1:
        	        	    // MySQL.g:408:15: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL108 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry944);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLUMN_SYMBOL108_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_SYMBOL108));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_SYMBOL108_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:409:3: ( column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | OPEN_PAR_SYMBOL column_definition ( COMMA_SYMBOL column_definition )* CLOSE_PAR_SYMBOL )
        	        {
        	            int alt33=2;
        	            {
        	                int LA33_0 = LA(1);
        	                if ( (LA33_0 == BACK_TICK_QUOTED_ID || LA33_0 == IDENTIFIER))
        	                {
        	                    alt33=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA33_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt33=1;
        	                }
        	                else if ( (((LA33_0 >= ASCII_SYMBOL) && (LA33_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt33=1;
        	                }
        	                else if ( (LA33_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt33=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 33;
        	                    EXCEPTION->state        = 0;


        	                    goto rulealter_table_list_entryEx;

        	                }
        	            }
        	            switch (alt33)
        	            {
        	        	case 1:
        	        	    // MySQL.g:410:4: column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_column_definition_in_alter_table_list_entry954);
        	        	        column_definition109=column_definition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_definition109.tree);

        	        	        // MySQL.g:410:22: ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        	        {
        	        	            int alt31=3;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case FIRST_SYMBOL:
        	        	                	{
        	        	                		alt31=1;
        	        	                	}
        	        	                    break;
        	        	                case AFTER_SYMBOL:
        	        	                	{
        	        	                		alt31=2;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt31)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:410:23: FIRST_SYMBOL
        	        	        	    {
        	        	        	        FIRST_SYMBOL110 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry957);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        FIRST_SYMBOL110_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIRST_SYMBOL110));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FIRST_SYMBOL110_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:410:38: AFTER_SYMBOL identifier
        	        	        	    {
        	        	        	        AFTER_SYMBOL111 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry961);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        AFTER_SYMBOL111_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AFTER_SYMBOL111));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AFTER_SYMBOL111_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry963);
        	        	        	        identifier112=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier112.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:411:6: OPEN_PAR_SYMBOL column_definition ( COMMA_SYMBOL column_definition )* CLOSE_PAR_SYMBOL
        	        	    {
        	        	        OPEN_PAR_SYMBOL113 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry972);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPEN_PAR_SYMBOL113_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL113));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL113_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_column_definition_in_alter_table_list_entry974);
        	        	        column_definition114=column_definition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_definition114.tree);

        	        	        // MySQL.g:411:40: ( COMMA_SYMBOL column_definition )*

        	        	        for (;;)
        	        	        {
        	        	            int alt32=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	            case COMMA_SYMBOL:
        	        	            	{
        	        	            		alt32=1;
        	        	            	}
        	        	                break;

        	        	            }

        	        	            switch (alt32)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:411:41: COMMA_SYMBOL column_definition
        	        	        	    {
        	        	        	        COMMA_SYMBOL115 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry977);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        COMMA_SYMBOL115_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL115));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL115_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_column_definition_in_alter_table_list_entry979);
        	        	        	        column_definition116=column_definition(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_definition116.tree);

        	        	        	    }
        	        	        	    break;

        	        	        	default:
        	        	        	    goto loop32;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop32: ; /* Jump out to here if this rule does not match */


        	        	        CLOSE_PAR_SYMBOL117 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry983);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CLOSE_PAR_SYMBOL117_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL117));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL117_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:413:4: ADD_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL ) ( identifier )? ( index_type )? index_columns ( index_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ADD_SYMBOL118 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_table_list_entry992);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ADD_SYMBOL118_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL118));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL118_tree);
        	        }

        	        set119=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set119))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulealter_table_list_entryEx;
        	        }


        	        // MySQL.g:413:43: ( identifier )?
        	        {
        	            int alt34=2;
        	            {
        	                int LA34_0 = LA(1);
        	                if ( (LA34_0 == BACK_TICK_QUOTED_ID || LA34_0 == IDENTIFIER))
        	                {
        	                    alt34=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA34_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt34=1;
        	                }
        	                else if ( (LA34_0 == TYPE_SYMBOL))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                        case TYPE_SYMBOL:
        	                        case OPEN_PAR_SYMBOL:
        	                        case USING_SYMBOL:
        	                        	{
        	                        		alt34=1;
        	                        	}
        	                            break;
        	                    }

        	                }
        	                else if ( (((LA34_0 >= ASCII_SYMBOL) && (LA34_0 <= TYPES_SYMBOL)) || ((LA34_0 >= UDF_RETURNS_SYMBOL) && (LA34_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt34=1;
        	                }
        	            }
        	            switch (alt34)
        	            {
        	        	case 1:
        	        	    // MySQL.g:413:43: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1002);
        	        	        identifier120=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier120.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:413:55: ( index_type )?
        	        {
        	            int alt35=2;
        	            switch ( LA(1) )
        	            {
        	                case TYPE_SYMBOL:
        	                case USING_SYMBOL:
        	                	{
        	                		alt35=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt35)
        	            {
        	        	case 1:
        	        	    // MySQL.g:413:55: index_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry1005);
        	        	        index_type121=index_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type121.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_alter_table_list_entry1008);
        	        index_columns122=index_columns(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns122.tree);

        	        // MySQL.g:413:81: ( index_option )*

        	        for (;;)
        	        {
        	            int alt36=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA36_0 = LA(1);
        	                if ( (LA36_0 == KEY_BLOCK_SIZE_SYMBOL || LA36_0 == TYPE_SYMBOL || LA36_0 == USING_SYMBOL))
        	                {
        	                    alt36=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50600)) && (LA36_0 == COMMENT_SYMBOL))
        	                {
        	                    alt36=1;
        	                }

        	            }
        	            switch (alt36)
        	            {
        	        	case 1:
        	        	    // MySQL.g:413:81: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry1010);
        	        	        index_option123=index_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option123.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop36;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop36: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:414:4: ADD_SYMBOL ( CONSTRAINT_SYMBOL ( identifier )? )? ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( identifier )? index_columns reference_definition )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ADD_SYMBOL124 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1016);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ADD_SYMBOL124_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL124));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL124_tree);
        	        }

        	        // MySQL.g:414:15: ( CONSTRAINT_SYMBOL ( identifier )? )?
        	        {
        	            int alt38=2;
        	            switch ( LA(1) )
        	            {
        	                case CONSTRAINT_SYMBOL:
        	                	{
        	                		alt38=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt38)
        	            {
        	        	case 1:
        	        	    // MySQL.g:414:16: CONSTRAINT_SYMBOL ( identifier )?
        	        	    {
        	        	        CONSTRAINT_SYMBOL125 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSTRAINT_SYMBOL, &FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry1019);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CONSTRAINT_SYMBOL125_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONSTRAINT_SYMBOL125));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CONSTRAINT_SYMBOL125_tree);
        	        	        }

        	        	        // MySQL.g:414:34: ( identifier )?
        	        	        {
        	        	            int alt37=2;
        	        	            {
        	        	                int LA37_0 = LA(1);
        	        	                if ( (LA37_0 == BACK_TICK_QUOTED_ID || LA37_0 == IDENTIFIER))
        	        	                {
        	        	                    alt37=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA37_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt37=1;
        	        	                }
        	        	                else if ( (((LA37_0 >= ASCII_SYMBOL) && (LA37_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt37=1;
        	        	                }
        	        	            }
        	        	            switch (alt37)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:414:34: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1021);
        	        	        	        identifier126=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier126.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:415:3: ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( identifier )? index_columns reference_definition )
        	        {
        	            int alt46=3;
        	            switch ( LA(1) )
        	            {
        	            case PRIMARY_SYMBOL:
        	            	{
        	            		alt46=1;
        	            	}
        	                break;
        	            case UNIQUE_SYMBOL:
        	            	{
        	            		alt46=2;
        	            	}
        	                break;
        	            case FOREIGN_SYMBOL:
        	            	{
        	            		alt46=3;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 46;
        	                EXCEPTION->state        = 0;


        	                goto rulealter_table_list_entryEx;

        	            }

        	            switch (alt46)
        	            {
        	        	case 1:
        	        	    // MySQL.g:416:4: PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )*
        	        	    {
        	        	        PRIMARY_SYMBOL127 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1033);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRIMARY_SYMBOL127_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL127));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL127_tree);
        	        	        }

        	        	        KEY_SYMBOL128 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1035);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        KEY_SYMBOL128_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL128));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL128_tree);
        	        	        }

        	        	        // MySQL.g:416:30: ( index_type )?
        	        	        {
        	        	            int alt39=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt39=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt39)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:416:30: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry1037);
        	        	        	        index_type129=index_type(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type129.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_alter_table_list_entry1040);
        	        	        index_columns130=index_columns(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns130.tree);

        	        	        // MySQL.g:416:56: ( index_option )*

        	        	        for (;;)
        	        	        {
        	        	            int alt40=2;
        	        	            {
        	        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	                */
        	        	                int LA40_0 = LA(1);
        	        	                if ( (LA40_0 == KEY_BLOCK_SIZE_SYMBOL || LA40_0 == TYPE_SYMBOL || LA40_0 == USING_SYMBOL))
        	        	                {
        	        	                    alt40=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50600)) && (LA40_0 == COMMENT_SYMBOL))
        	        	                {
        	        	                    alt40=1;
        	        	                }

        	        	            }
        	        	            switch (alt40)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:416:56: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry1042);
        	        	        	        index_option131=index_option(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option131.tree);

        	        	        	    }
        	        	        	    break;

        	        	        	default:
        	        	        	    goto loop40;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop40: ; /* Jump out to here if this rule does not match */


        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:417:6: UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )*
        	        	    {
        	        	        UNIQUE_SYMBOL132 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry1050);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNIQUE_SYMBOL132_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNIQUE_SYMBOL132));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNIQUE_SYMBOL132_tree);
        	        	        }

        	        	        // MySQL.g:417:20: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        	        {
        	        	            int alt41=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case INDEX_SYMBOL:
        	        	                case KEY_SYMBOL:
        	        	                	{
        	        	                		alt41=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt41)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:
        	        	        	    {
        	        	        	        set133=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        	        	        {
        	        	        	            CONSUME();
        	        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set133))
        	        	        	            );
        	        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        	        }
        	        	        	        else
        	        	        	        {
        	        	        	            if (BACKTRACKING>0)
        	        	        	            {
        	        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	        	                return retval;
        	        	        	            }

        	        	        	            CONSTRUCTEX();
        	        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	        	            EXCEPTION->expectingSet = NULL;

        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }


        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:417:49: ( identifier )?
        	        	        {
        	        	            int alt42=2;
        	        	            {
        	        	                int LA42_0 = LA(1);
        	        	                if ( (LA42_0 == BACK_TICK_QUOTED_ID || LA42_0 == IDENTIFIER))
        	        	                {
        	        	                    alt42=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA42_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt42=1;
        	        	                }
        	        	                else if ( (LA42_0 == TYPE_SYMBOL))
        	        	                {
        	        	                    switch ( LA(2) )
        	        	                    {
        	        	                        case TYPE_SYMBOL:
        	        	                        case OPEN_PAR_SYMBOL:
        	        	                        case USING_SYMBOL:
        	        	                        	{
        	        	                        		alt42=1;
        	        	                        	}
        	        	                            break;
        	        	                    }

        	        	                }
        	        	                else if ( (((LA42_0 >= ASCII_SYMBOL) && (LA42_0 <= TYPES_SYMBOL)) || ((LA42_0 >= UDF_RETURNS_SYMBOL) && (LA42_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt42=1;
        	        	                }
        	        	            }
        	        	            switch (alt42)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:417:49: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1061);
        	        	        	        identifier134=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier134.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:417:61: ( index_type )?
        	        	        {
        	        	            int alt43=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt43=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt43)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:417:61: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry1064);
        	        	        	        index_type135=index_type(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type135.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_alter_table_list_entry1067);
        	        	        index_columns136=index_columns(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns136.tree);

        	        	        // MySQL.g:417:87: ( index_option )*

        	        	        for (;;)
        	        	        {
        	        	            int alt44=2;
        	        	            {
        	        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	                */
        	        	                int LA44_0 = LA(1);
        	        	                if ( (LA44_0 == KEY_BLOCK_SIZE_SYMBOL || LA44_0 == TYPE_SYMBOL || LA44_0 == USING_SYMBOL))
        	        	                {
        	        	                    alt44=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50600)) && (LA44_0 == COMMENT_SYMBOL))
        	        	                {
        	        	                    alt44=1;
        	        	                }

        	        	            }
        	        	            switch (alt44)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:417:87: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry1069);
        	        	        	        index_option137=index_option(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option137.tree);

        	        	        	    }
        	        	        	    break;

        	        	        	default:
        	        	        	    goto loop44;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop44: ; /* Jump out to here if this rule does not match */


        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:418:6: FOREIGN_SYMBOL KEY_SYMBOL ( identifier )? index_columns reference_definition
        	        	    {
        	        	        FOREIGN_SYMBOL138 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1077);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        FOREIGN_SYMBOL138_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOREIGN_SYMBOL138));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOREIGN_SYMBOL138_tree);
        	        	        }

        	        	        KEY_SYMBOL139 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1079);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        KEY_SYMBOL139_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL139));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL139_tree);
        	        	        }

        	        	        // MySQL.g:418:32: ( identifier )?
        	        	        {
        	        	            int alt45=2;
        	        	            {
        	        	                int LA45_0 = LA(1);
        	        	                if ( (LA45_0 == BACK_TICK_QUOTED_ID || LA45_0 == IDENTIFIER))
        	        	                {
        	        	                    alt45=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA45_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt45=1;
        	        	                }
        	        	                else if ( (((LA45_0 >= ASCII_SYMBOL) && (LA45_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt45=1;
        	        	                }
        	        	            }
        	        	            switch (alt45)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:418:32: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1081);
        	        	        	        identifier140=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier140.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_alter_table_list_entry1084);
        	        	        index_columns141=index_columns(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns141.tree);

        	        	        FOLLOWPUSH(FOLLOW_reference_definition_in_alter_table_list_entry1086);
        	        	        reference_definition142=reference_definition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition142.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:420:4: ADD_SYMBOL FULLTEXT_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ADD_SYMBOL143 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1095);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ADD_SYMBOL143_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL143));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL143_tree);
        	        }

        	        FULLTEXT_SYMBOL144 = (pANTLR3_COMMON_TOKEN) MATCHT(FULLTEXT_SYMBOL, &FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry1097);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FULLTEXT_SYMBOL144_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULLTEXT_SYMBOL144));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FULLTEXT_SYMBOL144_tree);
        	        }

        	        // MySQL.g:420:31: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        {
        	            int alt47=2;
        	            switch ( LA(1) )
        	            {
        	                case INDEX_SYMBOL:
        	                case KEY_SYMBOL:
        	                	{
        	                		alt47=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt47)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set145=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set145))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulealter_table_list_entryEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:420:60: ( identifier )?
        	        {
        	            int alt48=2;
        	            {
        	                int LA48_0 = LA(1);
        	                if ( (LA48_0 == BACK_TICK_QUOTED_ID || LA48_0 == IDENTIFIER))
        	                {
        	                    alt48=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA48_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt48=1;
        	                }
        	                else if ( (((LA48_0 >= ASCII_SYMBOL) && (LA48_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt48=1;
        	                }
        	            }
        	            switch (alt48)
        	            {
        	        	case 1:
        	        	    // MySQL.g:420:60: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1108);
        	        	        identifier146=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier146.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_alter_table_list_entry1111);
        	        index_columns147=index_columns(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns147.tree);

        	        // MySQL.g:420:86: ( index_option )*

        	        for (;;)
        	        {
        	            int alt49=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA49_0 = LA(1);
        	                if ( (LA49_0 == KEY_BLOCK_SIZE_SYMBOL || LA49_0 == TYPE_SYMBOL || LA49_0 == USING_SYMBOL))
        	                {
        	                    alt49=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50600)) && (LA49_0 == COMMENT_SYMBOL))
        	                {
        	                    alt49=1;
        	                }

        	            }
        	            switch (alt49)
        	            {
        	        	case 1:
        	        	    // MySQL.g:420:86: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry1113);
        	        	        index_option148=index_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option148.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop49;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop49: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:421:4: ADD_SYMBOL SPATIAL_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ADD_SYMBOL149 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_table_list_entry1119);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ADD_SYMBOL149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL149));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL149_tree);
        	        }

        	        SPATIAL_SYMBOL150 = (pANTLR3_COMMON_TOKEN) MATCHT(SPATIAL_SYMBOL, &FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry1121);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SPATIAL_SYMBOL150_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SPATIAL_SYMBOL150));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SPATIAL_SYMBOL150_tree);
        	        }

        	        // MySQL.g:421:30: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        {
        	            int alt50=2;
        	            switch ( LA(1) )
        	            {
        	                case INDEX_SYMBOL:
        	                case KEY_SYMBOL:
        	                	{
        	                		alt50=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt50)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set151=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set151))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulealter_table_list_entryEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:421:59: ( identifier )?
        	        {
        	            int alt51=2;
        	            {
        	                int LA51_0 = LA(1);
        	                if ( (LA51_0 == BACK_TICK_QUOTED_ID || LA51_0 == IDENTIFIER))
        	                {
        	                    alt51=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA51_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt51=1;
        	                }
        	                else if ( (((LA51_0 >= ASCII_SYMBOL) && (LA51_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt51=1;
        	                }
        	            }
        	            switch (alt51)
        	            {
        	        	case 1:
        	        	    // MySQL.g:421:59: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1132);
        	        	        identifier152=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier152.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_alter_table_list_entry1135);
        	        index_columns153=index_columns(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns153.tree);

        	        // MySQL.g:421:85: ( index_option )*

        	        for (;;)
        	        {
        	            int alt52=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA52_0 = LA(1);
        	                if ( (LA52_0 == KEY_BLOCK_SIZE_SYMBOL || LA52_0 == TYPE_SYMBOL || LA52_0 == USING_SYMBOL))
        	                {
        	                    alt52=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50600)) && (LA52_0 == COMMENT_SYMBOL))
        	                {
        	                    alt52=1;
        	                }

        	            }
        	            switch (alt52)
        	            {
        	        	case 1:
        	        	    // MySQL.g:421:85: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry1137);
        	        	        index_option154=index_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option154.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop52;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop52: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 7:
        	    // MySQL.g:422:4: ALTER_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref ( SET_SYMBOL DEFAULT_SYMBOL signed_literal | DROP_SYMBOL DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALTER_SYMBOL155 = (pANTLR3_COMMON_TOKEN) MATCHT(ALTER_SYMBOL, &FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry1143);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALTER_SYMBOL155_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALTER_SYMBOL155));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALTER_SYMBOL155_tree);
        	        }

        	        // MySQL.g:422:17: ( COLUMN_SYMBOL )?
        	        {
        	            int alt53=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt53=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt53)
        	            {
        	        	case 1:
        	        	    // MySQL.g:422:17: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL156 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1145);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLUMN_SYMBOL156_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_SYMBOL156));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_SYMBOL156_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_column_internal_ref_in_alter_table_list_entry1148);
        	        column_internal_ref157=column_internal_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_internal_ref157.tree);

        	        // MySQL.g:422:52: ( SET_SYMBOL DEFAULT_SYMBOL signed_literal | DROP_SYMBOL DEFAULT_SYMBOL )
        	        {
        	            int alt54=2;
        	            switch ( LA(1) )
        	            {
        	            case SET_SYMBOL:
        	            	{
        	            		alt54=1;
        	            	}
        	                break;
        	            case DROP_SYMBOL:
        	            	{
        	            		alt54=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 54;
        	                EXCEPTION->state        = 0;


        	                goto rulealter_table_list_entryEx;

        	            }

        	            switch (alt54)
        	            {
        	        	case 1:
        	        	    // MySQL.g:422:53: SET_SYMBOL DEFAULT_SYMBOL signed_literal
        	        	    {
        	        	        SET_SYMBOL158 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        SET_SYMBOL158_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL158));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL158_tree);
        	        	        }

        	        	        DEFAULT_SYMBOL159 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1153);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL159_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL159));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL159_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_signed_literal_in_alter_table_list_entry1155);
        	        	        signed_literal160=signed_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signed_literal160.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:422:96: DROP_SYMBOL DEFAULT_SYMBOL
        	        	    {
        	        	        DROP_SYMBOL161 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1159);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DROP_SYMBOL161_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL161));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DROP_SYMBOL161_tree);
        	        	        }

        	        	        DEFAULT_SYMBOL162 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1161);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL162_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL162));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL162_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:423:4: CHANGE_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHANGE_SYMBOL163 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGE_SYMBOL, &FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1167);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHANGE_SYMBOL163_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGE_SYMBOL163));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHANGE_SYMBOL163_tree);
        	        }

        	        // MySQL.g:423:18: ( COLUMN_SYMBOL )?
        	        {
        	            int alt55=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt55=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt55)
        	            {
        	        	case 1:
        	        	    // MySQL.g:423:18: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL164 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1169);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLUMN_SYMBOL164_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_SYMBOL164));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_SYMBOL164_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_column_internal_ref_in_alter_table_list_entry1172);
        	        column_internal_ref165=column_internal_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_internal_ref165.tree);

        	        FOLLOWPUSH(FOLLOW_field_spec_in_alter_table_list_entry1174);
        	        field_spec166=field_spec(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_spec166.tree);

        	        // MySQL.g:423:64: ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        {
        	            int alt56=3;
        	            switch ( LA(1) )
        	            {
        	                case FIRST_SYMBOL:
        	                	{
        	                		alt56=1;
        	                	}
        	                    break;
        	                case AFTER_SYMBOL:
        	                	{
        	                		alt56=2;
        	                	}
        	                    break;
        	            }

        	            switch (alt56)
        	            {
        	        	case 1:
        	        	    // MySQL.g:423:65: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL167 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1177);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        FIRST_SYMBOL167_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIRST_SYMBOL167));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FIRST_SYMBOL167_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:423:80: AFTER_SYMBOL identifier
        	        	    {
        	        	        AFTER_SYMBOL168 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1181);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AFTER_SYMBOL168_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AFTER_SYMBOL168));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AFTER_SYMBOL168_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1183);
        	        	        identifier169=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier169.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:424:4: MODIFY_SYMBOL ( COLUMN_SYMBOL )? column_internal_ref field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MODIFY_SYMBOL170 = (pANTLR3_COMMON_TOKEN) MATCHT(MODIFY_SYMBOL, &FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1190);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MODIFY_SYMBOL170_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODIFY_SYMBOL170));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MODIFY_SYMBOL170_tree);
        	        }

        	        // MySQL.g:424:18: ( COLUMN_SYMBOL )?
        	        {
        	            int alt57=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt57=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt57)
        	            {
        	        	case 1:
        	        	    // MySQL.g:424:18: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL171 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1192);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLUMN_SYMBOL171_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_SYMBOL171));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_SYMBOL171_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_column_internal_ref_in_alter_table_list_entry1195);
        	        column_internal_ref172=column_internal_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_internal_ref172.tree);

        	        FOLLOWPUSH(FOLLOW_field_spec_in_alter_table_list_entry1197);
        	        field_spec173=field_spec(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_spec173.tree);

        	        // MySQL.g:424:64: ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        {
        	            int alt58=3;
        	            switch ( LA(1) )
        	            {
        	                case FIRST_SYMBOL:
        	                	{
        	                		alt58=1;
        	                	}
        	                    break;
        	                case AFTER_SYMBOL:
        	                	{
        	                		alt58=2;
        	                	}
        	                    break;
        	            }

        	            switch (alt58)
        	            {
        	        	case 1:
        	        	    // MySQL.g:424:65: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL174 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1200);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        FIRST_SYMBOL174_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIRST_SYMBOL174));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FIRST_SYMBOL174_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:424:80: AFTER_SYMBOL identifier
        	        	    {
        	        	        AFTER_SYMBOL175 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1204);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AFTER_SYMBOL175_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AFTER_SYMBOL175));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AFTER_SYMBOL175_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1206);
        	        	        identifier176=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier176.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:425:4: DROP_SYMBOL ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? column_internal_ref | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL ({...}? => column_ref |{...}? => ( column_ref )? ) )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL177 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1213);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DROP_SYMBOL177_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL177));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DROP_SYMBOL177_tree);
        	        }

        	        // MySQL.g:426:3: ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? column_internal_ref | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL ({...}? => column_ref |{...}? => ( column_ref )? ) )
        	        {
        	            int alt62=4;
        	            {
        	                int LA62_0 = LA(1);
        	                if ( (LA62_0 == INDEX_SYMBOL || LA62_0 == KEY_SYMBOL))
        	                {
        	                    alt62=1;
        	                }
        	                else if ( (LA62_0 == BACK_TICK_QUOTED_ID || LA62_0 == COLUMN_SYMBOL || LA62_0 == IDENTIFIER))
        	                {
        	                    alt62=2;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA62_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt62=2;
        	                }
        	                else if ( (((LA62_0 >= ASCII_SYMBOL) && (LA62_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt62=2;
        	                }
        	                else if ( (LA62_0 == PRIMARY_SYMBOL))
        	                {
        	                    alt62=3;
        	                }
        	                else if ( (LA62_0 == FOREIGN_SYMBOL))
        	                {
        	                    alt62=4;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 62;
        	                    EXCEPTION->state        = 0;


        	                    goto rulealter_table_list_entryEx;

        	                }
        	            }
        	            switch (alt62)
        	            {
        	        	case 1:
        	        	    // MySQL.g:427:4: ( INDEX_SYMBOL | KEY_SYMBOL ) identifier
        	        	    {
        	        	        set178=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set178))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulealter_table_list_entryEx;
        	        	        }


        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1230);
        	        	        identifier179=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier179.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:428:6: ( COLUMN_SYMBOL )? column_internal_ref
        	        	    {
        	        	        // MySQL.g:428:6: ( COLUMN_SYMBOL )?
        	        	        {
        	        	            int alt59=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COLUMN_SYMBOL:
        	        	                	{
        	        	                		alt59=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt59)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:428:6: COLUMN_SYMBOL
        	        	        	    {
        	        	        	        COLUMN_SYMBOL180 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1237);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        COLUMN_SYMBOL180_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_SYMBOL180));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_SYMBOL180_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_column_internal_ref_in_alter_table_list_entry1240);
        	        	        column_internal_ref181=column_internal_ref(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_internal_ref181.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:429:6: PRIMARY_SYMBOL KEY_SYMBOL
        	        	    {
        	        	        PRIMARY_SYMBOL182 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1247);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRIMARY_SYMBOL182_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL182));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL182_tree);
        	        	        }

        	        	        KEY_SYMBOL183 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1249);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        KEY_SYMBOL183_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL183));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL183_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:430:6: FOREIGN_SYMBOL KEY_SYMBOL ({...}? => column_ref |{...}? => ( column_ref )? )
        	        	    {
        	        	        FOREIGN_SYMBOL184 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1256);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        FOREIGN_SYMBOL184_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOREIGN_SYMBOL184));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOREIGN_SYMBOL184_tree);
        	        	        }

        	        	        KEY_SYMBOL185 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1258);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        KEY_SYMBOL185_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL185));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL185_tree);
        	        	        }

        	        	        // MySQL.g:431:5: ({...}? => column_ref |{...}? => ( column_ref )? )
        	        	        {
        	        	            int alt61=2;
        	        	            {
        	        	                int LA61_0 = LA(1);
        	        	                if ( ((((SERVER_VERSION < 50700))||((SERVER_VERSION >= 50700)))) && (LA61_0 == IDENTIFIER))
        	        	                {
        	        	                    {
        	        	                        int LA61_1 = LA(2);
        	        	                        if ( ((SERVER_VERSION >= 50700)))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( ((SERVER_VERSION < 50700)))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 1;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else if ( ((((SERVER_VERSION < 50700))||((SERVER_VERSION >= 50700)))) && (LA61_0 == BACK_TICK_QUOTED_ID))
        	        	                {
        	        	                    {
        	        	                        int LA61_2 = LA(2);
        	        	                        if ( ((SERVER_VERSION >= 50700)))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( ((SERVER_VERSION < 50700)))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 2;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else if ( (( (( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && ((((SERVER_VERSION < 50700))||((SERVER_VERSION >= 50700)))) )) && (LA61_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    {
        	        	                        int LA61_3 = LA(2);
        	        	                        if ( (( (( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && ((SERVER_VERSION >= 50700)) )))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( (( (( ((SERVER_VERSION < 50700)) && ((SERVER_VERSION < 50700)) )) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 3;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else if ( ((((SERVER_VERSION < 50700))||((SERVER_VERSION >= 50700)))) && (((LA61_0 >= ACTION_SYMBOL) && (LA61_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    {
        	        	                        int LA61_4 = LA(2);
        	        	                        if ( ((SERVER_VERSION >= 50700)))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( ((SERVER_VERSION < 50700)))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 4;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else if ( ((((SERVER_VERSION < 50700))||(( (( ((SERVER_VERSION < 50700)) && ((SERVER_VERSION < 50700)) )) && ((SERVER_VERSION >= 50100)) ))||((SERVER_VERSION >= 50700)))) && (LA61_0 == PARTITION_SYMBOL))
        	        	                {
        	        	                    {
        	        	                        int LA61_5 = LA(2);
        	        	                        if ( ((SERVER_VERSION >= 50700)))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( ((SERVER_VERSION < 50700)))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 5;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else if ( ((SERVER_VERSION < 50700)) && (LA61_0 == EOF || LA61_0 == COMMA_SYMBOL || LA61_0 == SEMICOLON_SYMBOL))
        	        	                {
        	        	                    alt61=2;
        	        	                }
        	        	                else if ( ((((SERVER_VERSION < 50700))||(( (( ((SERVER_VERSION < 50700)) && ((SERVER_VERSION < 50700)) )) && ((SERVER_VERSION >= 50100)) ))||((SERVER_VERSION >= 50700)))) && (LA61_0 == REMOVE_SYMBOL))
        	        	                {
        	        	                    {
        	        	                        int LA61_7 = LA(2);
        	        	                        if ( ((SERVER_VERSION >= 50700)))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( ((SERVER_VERSION < 50700)))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 7;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else if ( ((((SERVER_VERSION < 50700))||((SERVER_VERSION >= 50700)))) && (((LA61_0 >= ASCII_SYMBOL) && (LA61_0 <= PARSER_SYMBOL)) || ((LA61_0 >= PORT_SYMBOL) && (LA61_0 <= PREPARE_SYMBOL)) || ((LA61_0 >= REPAIR_SYMBOL) && (LA61_0 <= XA_SYMBOL))))
        	        	                {
        	        	                    {
        	        	                        int LA61_10 = LA(2);
        	        	                        if ( ((SERVER_VERSION >= 50700)))
        	        	                        {
        	        	                            alt61=1;
        	        	                        }
        	        	                        else if ( ((SERVER_VERSION < 50700)))
        	        	                        {
        	        	                            alt61=2;
        	        	                        }
        	        	                        else
        	        	                        {
        	        	                            if (BACKTRACKING>0)
        	        	                            {
        	        	                                FAILEDFLAG = ANTLR3_TRUE;
        	        	                                return retval;
        	        	                            }


        	        	                            CONSTRUCTEX();
        	        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                            EXCEPTION->message      = (void *)"";
        	        	                            EXCEPTION->decisionNum  = 61;
        	        	                            EXCEPTION->state        = 10;


        	        	                            goto rulealter_table_list_entryEx;

        	        	                        }
        	        	                    }
        	        	                }
        	        	                else
        	        	                {
        	        	                    if (BACKTRACKING>0)
        	        	                    {
        	        	                        FAILEDFLAG = ANTLR3_TRUE;
        	        	                        return retval;
        	        	                    }


        	        	                    CONSTRUCTEX();
        	        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                    EXCEPTION->message      = (void *)"";
        	        	                    EXCEPTION->decisionNum  = 61;
        	        	                    EXCEPTION->state        = 0;


        	        	                    goto rulealter_table_list_entryEx;

        	        	                }
        	        	            }
        	        	            switch (alt61)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:433:6: {...}? => column_ref
        	        	        	    {
        	        	        	        if ( !((SERVER_VERSION >= 50700)) )
        	        	        	        {
        	        	        	            if (BACKTRACKING>0)
        	        	        	            {
        	        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	        	                return retval;
        	        	        	            }

        	        	        	                CONSTRUCTEX();
        	        	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
        	        	        	                EXCEPTION->ruleName	 = (void *)"alter_table_list_entry";


        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_column_ref_in_alter_table_list_entry1281);
        	        	        	        column_ref186=column_ref(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref186.tree);

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:434:8: {...}? => ( column_ref )?
        	        	        	    {
        	        	        	        if ( !((SERVER_VERSION < 50700)) )
        	        	        	        {
        	        	        	            if (BACKTRACKING>0)
        	        	        	            {
        	        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	        	                return retval;
        	        	        	            }

        	        	        	                CONSTRUCTEX();
        	        	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50700";
        	        	        	                EXCEPTION->ruleName	 = (void *)"alter_table_list_entry";


        	        	        	        }

        	        	        	        // MySQL.g:434:37: ( column_ref )?
        	        	        	        {
        	        	        	            int alt60=2;
        	        	        	            {
        	        	        	                int LA60_0 = LA(1);
        	        	        	                if ( (LA60_0 == BACK_TICK_QUOTED_ID || LA60_0 == IDENTIFIER))
        	        	        	                {
        	        	        	                    alt60=1;
        	        	        	                }
        	        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA60_0 == DOUBLE_QUOTED_TEXT))
        	        	        	                {
        	        	        	                    alt60=1;
        	        	        	                }
        	        	        	                else if ( (((LA60_0 >= ASCII_SYMBOL) && (LA60_0 <= PARSER_SYMBOL)) || ((LA60_0 >= PORT_SYMBOL) && (LA60_0 <= PREPARE_SYMBOL)) || ((LA60_0 >= REPAIR_SYMBOL) && (LA60_0 <= YEAR_SYMBOL))))
        	        	        	                {
        	        	        	                    alt60=1;
        	        	        	                }
        	        	        	                else if ( (LA60_0 == PARTITION_SYMBOL))
        	        	        	                {
        	        	        	                    switch ( LA(2) )
        	        	        	                    {
        	        	        	                        case EOF:
        	        	        	                        case PARTITION_SYMBOL:
        	        	        	                        case REMOVE_SYMBOL:
        	        	        	                        case COMMA_SYMBOL:
        	        	        	                        case DOT_SYMBOL:
        	        	        	                        case SEMICOLON_SYMBOL:
        	        	        	                        	{
        	        	        	                        		alt60=1;
        	        	        	                        	}
        	        	        	                            break;
        	        	        	                    }

        	        	        	                }
        	        	        	                else if ( (LA60_0 == REMOVE_SYMBOL))
        	        	        	                {
        	        	        	                    switch ( LA(2) )
        	        	        	                    {
        	        	        	                        case EOF:
        	        	        	                        case PARTITION_SYMBOL:
        	        	        	                        case REMOVE_SYMBOL:
        	        	        	                        case COMMA_SYMBOL:
        	        	        	                        case DOT_SYMBOL:
        	        	        	                        case SEMICOLON_SYMBOL:
        	        	        	                        	{
        	        	        	                        		alt60=1;
        	        	        	                        	}
        	        	        	                            break;
        	        	        	                    }

        	        	        	                }
        	        	        	            }
        	        	        	            switch (alt60)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:434:37: column_ref
        	        	        	        	    {
        	        	        	        	        FOLLOWPUSH(FOLLOW_column_ref_in_alter_table_list_entry1294);
        	        	        	        	        column_ref187=column_ref(ctx);

        	        	        	        	        FOLLOWPOP();
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto rulealter_table_list_entryEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref187.tree);

        	        	        	        	    }
        	        	        	        	    break;

        	        	        	            }
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:437:4: DISABLE_SYMBOL KEYS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DISABLE_SYMBOL188 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1310);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DISABLE_SYMBOL188_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISABLE_SYMBOL188));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DISABLE_SYMBOL188_tree);
        	        }

        	        KEYS_SYMBOL189 = (pANTLR3_COMMON_TOKEN) MATCHT(KEYS_SYMBOL, &FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1312);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEYS_SYMBOL189_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEYS_SYMBOL189));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEYS_SYMBOL189_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:438:4: ENABLE_SYMBOL KEYS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ENABLE_SYMBOL190 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1317);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENABLE_SYMBOL190_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENABLE_SYMBOL190));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENABLE_SYMBOL190_tree);
        	        }

        	        KEYS_SYMBOL191 = (pANTLR3_COMMON_TOKEN) MATCHT(KEYS_SYMBOL, &FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1319);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEYS_SYMBOL191_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEYS_SYMBOL191));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEYS_SYMBOL191_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:439:4: RENAME_SYMBOL ( TO_SYMBOL | AS_SYMBOL )? table_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RENAME_SYMBOL192 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1324);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RENAME_SYMBOL192_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL192));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RENAME_SYMBOL192_tree);
        	        }

        	        // MySQL.g:439:18: ( TO_SYMBOL | AS_SYMBOL )?
        	        {
        	            int alt63=2;
        	            switch ( LA(1) )
        	            {
        	                case AS_SYMBOL:
        	                case TO_SYMBOL:
        	                	{
        	                		alt63=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt63)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set193=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == AS_SYMBOL || LA(1) == TO_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set193))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulealter_table_list_entryEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_table_ref_in_alter_table_list_entry1335);
        	        table_ref194=table_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref194.tree);

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:440:4: {...}? => RENAME_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL ) identifier TO_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50700)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
        	                EXCEPTION->ruleName	 = (void *)"alter_table_list_entry";


        	        }

        	        RENAME_SYMBOL195 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1344);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RENAME_SYMBOL195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL195));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RENAME_SYMBOL195_tree);
        	        }

        	        set196=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set196))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulealter_table_list_entryEx;
        	        }


        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1354);
        	        identifier197=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier197.tree);

        	        TO_SYMBOL198 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_alter_table_list_entry1356);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TO_SYMBOL198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL198));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL198_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1358);
        	        identifier199=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier199.tree);

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:441:4: alter_order_by
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_order_by_in_alter_table_list_entry1363);
        	        alter_order_by200=alter_order_by(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_order_by200.tree);

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:442:4: CONVERT_SYMBOL TO_SYMBOL CHAR_SYMBOL SET_SYMBOL charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONVERT_SYMBOL201 = (pANTLR3_COMMON_TOKEN) MATCHT(CONVERT_SYMBOL, &FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1368);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONVERT_SYMBOL201_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONVERT_SYMBOL201));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONVERT_SYMBOL201_tree);
        	        }

        	        TO_SYMBOL202 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_alter_table_list_entry1370);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TO_SYMBOL202_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL202));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL202_tree);
        	        }

        	        CHAR_SYMBOL203 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1372);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL203));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL203_tree);
        	        }

        	        SET_SYMBOL204 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_alter_table_list_entry1374);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL204_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL204));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL204_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_alter_table_list_entry1376);
        	        charset_name_or_default205=charset_name_or_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name_or_default205.tree);

        	        // MySQL.g:442:76: ( COLLATE_SYMBOL collation_name_or_default )?
        	        {
        	            int alt64=2;
        	            switch ( LA(1) )
        	            {
        	                case COLLATE_SYMBOL:
        	                	{
        	                		alt64=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt64)
        	            {
        	        	case 1:
        	        	    // MySQL.g:442:77: COLLATE_SYMBOL collation_name_or_default
        	        	    {
        	        	        COLLATE_SYMBOL206 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1379);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLLATE_SYMBOL206_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL206));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL206_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_alter_table_list_entry1381);
        	        	        collation_name_or_default207=collation_name_or_default(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, collation_name_or_default207.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:443:4: FORCE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FORCE_SYMBOL208 = (pANTLR3_COMMON_TOKEN) MATCHT(FORCE_SYMBOL, &FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1388);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FORCE_SYMBOL208_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FORCE_SYMBOL208));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FORCE_SYMBOL208_tree);
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:444:4: {...}? => alter_algorithm_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50600)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
        	                EXCEPTION->ruleName	 = (void *)"alter_table_list_entry";


        	        }

        	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_alter_table_list_entry1397);
        	        alter_algorithm_option209=alter_algorithm_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_algorithm_option209.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:445:4: {...}? => alter_lock_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50600)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
        	                EXCEPTION->ruleName	 = (void *)"alter_table_list_entry";


        	        }

        	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_alter_table_list_entry1406);
        	        alter_lock_option210=alter_lock_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_lock_option210.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulealter_table_list_entryEx; /* Prevent compiler warnings */
    rulealter_table_list_entryEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_table_list_entry */

/**
 * $ANTLR start alter_order_by
 * MySQL.g:448:1: alter_order_by : ORDER_SYMBOL BY_SYMBOL identifier direction ( options {greedy=true; } : COMMA_SYMBOL identifier direction )* ;
 */
static MySQLParser_alter_order_by_return
alter_order_by(pMySQLParser ctx)
{
    MySQLParser_alter_order_by_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ORDER_SYMBOL211;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL212;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL215;
    MySQLParser_identifier_return identifier213;
    #undef	RETURN_TYPE_identifier213
    #define	RETURN_TYPE_identifier213 MySQLParser_identifier_return

    MySQLParser_direction_return direction214;
    #undef	RETURN_TYPE_direction214
    #define	RETURN_TYPE_direction214 MySQLParser_direction_return

    MySQLParser_identifier_return identifier216;
    #undef	RETURN_TYPE_identifier216
    #define	RETURN_TYPE_identifier216 MySQLParser_identifier_return

    MySQLParser_direction_return direction217;
    #undef	RETURN_TYPE_direction217
    #define	RETURN_TYPE_direction217 MySQLParser_direction_return

    pANTLR3_BASE_TREE ORDER_SYMBOL211_tree;
    pANTLR3_BASE_TREE BY_SYMBOL212_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL215_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ORDER_SYMBOL211       = NULL;
    BY_SYMBOL212       = NULL;
    COMMA_SYMBOL215       = NULL;
    identifier213.tree = NULL;

    direction214.tree = NULL;

    identifier216.tree = NULL;

    direction217.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ORDER_SYMBOL211_tree   = NULL;
    BY_SYMBOL212_tree   = NULL;
    COMMA_SYMBOL215_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:448:15: ( ORDER_SYMBOL BY_SYMBOL identifier direction ( options {greedy=true; } : COMMA_SYMBOL identifier direction )* )
        // MySQL.g:449:2: ORDER_SYMBOL BY_SYMBOL identifier direction ( options {greedy=true; } : COMMA_SYMBOL identifier direction )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ORDER_SYMBOL211 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_alter_order_by1415);
            if  (HASEXCEPTION())
            {
                goto rulealter_order_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ORDER_SYMBOL211_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ORDER_SYMBOL211));
            ADAPTOR->addChild(ADAPTOR, root_0, ORDER_SYMBOL211_tree);
            }

            BY_SYMBOL212 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_alter_order_by1417);
            if  (HASEXCEPTION())
            {
                goto rulealter_order_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL212_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL212));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL212_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_alter_order_by1419);
            identifier213=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_order_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier213.tree);

            FOLLOWPUSH(FOLLOW_direction_in_alter_order_by1421);
            direction214=direction(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_order_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction214.tree);

            // MySQL.g:449:46: ( options {greedy=true; } : COMMA_SYMBOL identifier direction )*

            for (;;)
            {
                int alt66=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA66_1 = LA(2);
                		    if ( (LA66_1 == ENGINE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == TYPE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == MAX_ROWS_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == MIN_ROWS_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == AVG_ROW_LENGTH_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == PASSWORD_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == COMMENT_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == AUTO_INCREMENT_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == PACK_KEYS_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (((LA66_1 >= STATS_AUTO_RECALC_SYMBOL) && (LA66_1 <= STATS_SAMPLE_PAGES_SYMBOL))))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == TABLE_CHECKSUM_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == DELAY_KEY_WRITE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == ROW_FORMAT_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == CHARSET_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == INSERT_METHOD_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == DATA_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == TABLESPACE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == STORAGE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == CONNECTION_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == KEY_BLOCK_SIZE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == MODIFY_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == DISABLE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == ENABLE_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == ALGORITHM_SYMBOL))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (((LA66_1 >= ASCII_SYMBOL) && (LA66_1 <= CACHE_SYMBOL)) || LA66_1 == CLOSE_SYMBOL || ((LA66_1 >= COMMIT_SYMBOL) && (LA66_1 <= AGGREGATE_SYMBOL)) || ((LA66_1 >= ANALYZE_SYMBOL) && (LA66_1 <= AUTHORS_SYMBOL)) || LA66_1 == AUTOEXTEND_SIZE_SYMBOL || ((LA66_1 >= AVG_SYMBOL) && (LA66_1 <= CONCURRENT_SYMBOL)) || ((LA66_1 >= CONSISTENT_SYMBOL) && (LA66_1 <= CURSOR_NAME_SYMBOL)) || ((LA66_1 >= DATAFILE_SYMBOL) && (LA66_1 <= DEFINER_SYMBOL)) || ((LA66_1 >= DES_KEY_FILE_SYMBOL) && (LA66_1 <= DIRECTORY_SYMBOL)) || ((LA66_1 >= DISCARD_SYMBOL) && (LA66_1 <= ENUM_SYMBOL)) || ((LA66_1 >= ENGINES_SYMBOL) && (LA66_1 <= FOUND_SYMBOL)) || ((LA66_1 >= FULL_SYMBOL) && (LA66_1 <= ISSUER_SYMBOL)) || ((LA66_1 >= LAST_SYMBOL) && (LA66_1 <= LOGS_SYMBOL)) || ((LA66_1 >= MASTER_SYMBOL) && (LA66_1 <= MINUTE_SYMBOL)) || ((LA66_1 >= MODE_SYMBOL) && (LA66_1 <= ONE_SYMBOL)) || ((LA66_1 >= PAGE_SYMBOL) && (LA66_1 <= PARTITIONS_SYMBOL)) || ((LA66_1 >= PHASE_SYMBOL) && (LA66_1 <= ROW_COUNT_SYMBOL)) || ((LA66_1 >= ROW_SYMBOL) && (LA66_1 <= STARTS_SYMBOL)) || LA66_1 == STATUS_SYMBOL || ((LA66_1 >= STRING_SYMBOL) && (LA66_1 <= TABLES_SYMBOL)) || ((LA66_1 >= TEMPORARY_SYMBOL) && (LA66_1 <= TYPES_SYMBOL)) || ((LA66_1 >= UDF_RETURNS_SYMBOL) && (LA66_1 <= YEAR_SYMBOL)) || LA66_1 == BACK_TICK_QUOTED_ID || LA66_1 == DOUBLE_QUOTED_TEXT || LA66_1 == IDENTIFIER))
                		    {
                		        alt66=1;
                		    }
                		    else if ( (LA66_1 == CHECKSUM_SYMBOL))
                		    {
                		        alt66=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt66)
                {
            	case 1:
            	    // MySQL.g:449:75: COMMA_SYMBOL identifier direction
            	    {
            	        COMMA_SYMBOL215 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_order_by1436);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_order_byEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL215_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL215));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL215_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_order_by1438);
            	        identifier216=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_order_byEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier216.tree);

            	        FOLLOWPUSH(FOLLOW_direction_in_alter_order_by1440);
            	        direction217=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_order_byEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction217.tree);

            	    }
            	    break;

            	default:
            	    goto loop66;	/* break out of the loop */
            	    break;
                }
            }
            loop66: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_order_byEx; /* Prevent compiler warnings */
    rulealter_order_byEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_order_by */

/**
 * $ANTLR start alter_algorithm_option
 * MySQL.g:452:1: alter_algorithm_option : ALGORITHM_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) ;
 */
static MySQLParser_alter_algorithm_option_return
alter_algorithm_option(pMySQLParser ctx)
{
    MySQLParser_alter_algorithm_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALGORITHM_SYMBOL218;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR219;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL220;
    MySQLParser_identifier_return identifier221;
    #undef	RETURN_TYPE_identifier221
    #define	RETURN_TYPE_identifier221 MySQLParser_identifier_return

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL218_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR219_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL220_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL218       = NULL;
    EQUAL_OPERATOR219       = NULL;
    DEFAULT_SYMBOL220       = NULL;
    identifier221.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALGORITHM_SYMBOL218_tree   = NULL;
    EQUAL_OPERATOR219_tree   = NULL;
    DEFAULT_SYMBOL220_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:452:23: ( ALGORITHM_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) )
        // MySQL.g:453:2: ALGORITHM_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALGORITHM_SYMBOL218 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1451);
            if  (HASEXCEPTION())
            {
                goto rulealter_algorithm_optionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ALGORITHM_SYMBOL218_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALGORITHM_SYMBOL218));
            ADAPTOR->addChild(ADAPTOR, root_0, ALGORITHM_SYMBOL218_tree);
            }

            // MySQL.g:453:19: ( EQUAL_OPERATOR )?
            {
                int alt67=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt67=1;
                    	}
                        break;
                }

                switch (alt67)
                {
            	case 1:
            	    // MySQL.g:453:19: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR219 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1453);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_algorithm_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EQUAL_OPERATOR219_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR219));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR219_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:453:35: ( DEFAULT_SYMBOL | identifier )
            {
                int alt68=2;
                {
                    int LA68_0 = LA(1);
                    if ( (LA68_0 == DEFAULT_SYMBOL))
                    {
                        alt68=1;
                    }
                    else if ( (LA68_0 == BACK_TICK_QUOTED_ID || LA68_0 == IDENTIFIER))
                    {
                        alt68=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA68_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt68=2;
                    }
                    else if ( (((LA68_0 >= ASCII_SYMBOL) && (LA68_0 <= YEAR_SYMBOL))))
                    {
                        alt68=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 68;
                        EXCEPTION->state        = 0;


                        goto rulealter_algorithm_optionEx;

                    }
                }
                switch (alt68)
                {
            	case 1:
            	    // MySQL.g:453:37: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL220 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1458);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_algorithm_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL220_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL220));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL220_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:453:54: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_algorithm_option1462);
            	        identifier221=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_algorithm_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier221.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_algorithm_optionEx; /* Prevent compiler warnings */
    rulealter_algorithm_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_algorithm_option */

/**
 * $ANTLR start alter_lock_option
 * MySQL.g:456:1: alter_lock_option : LOCK_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) ;
 */
static MySQLParser_alter_lock_option_return
alter_lock_option(pMySQLParser ctx)
{
    MySQLParser_alter_lock_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL222;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR223;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL224;
    MySQLParser_identifier_return identifier225;
    #undef	RETURN_TYPE_identifier225
    #define	RETURN_TYPE_identifier225 MySQLParser_identifier_return

    pANTLR3_BASE_TREE LOCK_SYMBOL222_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR223_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL224_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCK_SYMBOL222       = NULL;
    EQUAL_OPERATOR223       = NULL;
    DEFAULT_SYMBOL224       = NULL;
    identifier225.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCK_SYMBOL222_tree   = NULL;
    EQUAL_OPERATOR223_tree   = NULL;
    DEFAULT_SYMBOL224_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:456:18: ( LOCK_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) )
        // MySQL.g:457:2: LOCK_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOCK_SYMBOL222 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_alter_lock_option1473);
            if  (HASEXCEPTION())
            {
                goto rulealter_lock_optionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOCK_SYMBOL222_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL222));
            ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL222_tree);
            }

            // MySQL.g:457:14: ( EQUAL_OPERATOR )?
            {
                int alt69=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt69=1;
                    	}
                        break;
                }

                switch (alt69)
                {
            	case 1:
            	    // MySQL.g:457:14: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR223 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1475);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_lock_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EQUAL_OPERATOR223_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR223));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR223_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:457:30: ( DEFAULT_SYMBOL | identifier )
            {
                int alt70=2;
                {
                    int LA70_0 = LA(1);
                    if ( (LA70_0 == DEFAULT_SYMBOL))
                    {
                        alt70=1;
                    }
                    else if ( (LA70_0 == BACK_TICK_QUOTED_ID || LA70_0 == IDENTIFIER))
                    {
                        alt70=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA70_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt70=2;
                    }
                    else if ( (((LA70_0 >= ASCII_SYMBOL) && (LA70_0 <= YEAR_SYMBOL))))
                    {
                        alt70=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 70;
                        EXCEPTION->state        = 0;


                        goto rulealter_lock_optionEx;

                    }
                }
                switch (alt70)
                {
            	case 1:
            	    // MySQL.g:457:31: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL224 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1479);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_lock_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL224_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL224));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL224_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:457:48: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_lock_option1483);
            	        identifier225=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_lock_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier225.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_lock_optionEx; /* Prevent compiler warnings */
    rulealter_lock_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_lock_option */

/**
 * $ANTLR start index_lock_algorithm
 * MySQL.g:460:1: index_lock_algorithm :{...}? => ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? ) ;
 */
static MySQLParser_index_lock_algorithm_return
index_lock_algorithm(pMySQLParser ctx)
{
    MySQLParser_index_lock_algorithm_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_alter_algorithm_option_return alter_algorithm_option226;
    #undef	RETURN_TYPE_alter_algorithm_option226
    #define	RETURN_TYPE_alter_algorithm_option226 MySQLParser_alter_algorithm_option_return

    MySQLParser_alter_lock_option_return alter_lock_option227;
    #undef	RETURN_TYPE_alter_lock_option227
    #define	RETURN_TYPE_alter_lock_option227 MySQLParser_alter_lock_option_return

    MySQLParser_alter_lock_option_return alter_lock_option228;
    #undef	RETURN_TYPE_alter_lock_option228
    #define	RETURN_TYPE_alter_lock_option228 MySQLParser_alter_lock_option_return

    MySQLParser_alter_algorithm_option_return alter_algorithm_option229;
    #undef	RETURN_TYPE_alter_algorithm_option229
    #define	RETURN_TYPE_alter_algorithm_option229 MySQLParser_alter_algorithm_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    alter_algorithm_option226.tree = NULL;

    alter_lock_option227.tree = NULL;

    alter_lock_option228.tree = NULL;

    alter_algorithm_option229.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:460:21: ({...}? => ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? ) )
        // MySQL.g:461:2: {...}? => ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50600)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
                    EXCEPTION->ruleName	 = (void *)"index_lock_algorithm";


            }

            // MySQL.g:462:3: ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? )
            {
                int alt73=2;
                switch ( LA(1) )
                {
                case ALGORITHM_SYMBOL:
                	{
                		alt73=1;
                	}
                    break;
                case LOCK_SYMBOL:
                	{
                		alt73=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 73;
                    EXCEPTION->state        = 0;


                    goto ruleindex_lock_algorithmEx;

                }

                switch (alt73)
                {
            	case 1:
            	    // MySQL.g:463:4: alter_algorithm_option ( alter_lock_option )?
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_index_lock_algorithm1505);
            	        alter_algorithm_option226=alter_algorithm_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_lock_algorithmEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_algorithm_option226.tree);

            	        // MySQL.g:463:27: ( alter_lock_option )?
            	        {
            	            int alt71=2;
            	            switch ( LA(1) )
            	            {
            	                case LOCK_SYMBOL:
            	                	{
            	                		alt71=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt71)
            	            {
            	        	case 1:
            	        	    // MySQL.g:463:27: alter_lock_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_index_lock_algorithm1507);
            	        	        alter_lock_option227=alter_lock_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleindex_lock_algorithmEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_lock_option227.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:464:6: alter_lock_option ( alter_algorithm_option )?
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_index_lock_algorithm1515);
            	        alter_lock_option228=alter_lock_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_lock_algorithmEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_lock_option228.tree);

            	        // MySQL.g:464:24: ( alter_algorithm_option )?
            	        {
            	            int alt72=2;
            	            switch ( LA(1) )
            	            {
            	                case ALGORITHM_SYMBOL:
            	                	{
            	                		alt72=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt72)
            	            {
            	        	case 1:
            	        	    // MySQL.g:464:24: alter_algorithm_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_index_lock_algorithm1517);
            	        	        alter_algorithm_option229=alter_algorithm_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleindex_lock_algorithmEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_algorithm_option229.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_lock_algorithmEx; /* Prevent compiler warnings */
    ruleindex_lock_algorithmEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_lock_algorithm */

/**
 * $ANTLR start alter_partition
 * MySQL.g:468:1: alter_partition : ({...}? => ADD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL | PARTITIONS_SYMBOL INTEGER ) | DROP_SYMBOL PARTITION_SYMBOL identifier_list | REBUILD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list | OPTIMIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list ( no_write_to_bin_log )? | ANALYZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list | CHECK_SYMBOL PARTITION_SYMBOL all_or_partition_name_list ( check_option )* | REPAIR_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list ( repair_option )* | COALESCE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? INTEGER |{...}? => TRUNCATE_SYMBOL PARTITION_SYMBOL all_or_partition_name_list | EXCHANGE_SYMBOL PARTITION_SYMBOL identifier WITH_SYMBOL TABLE_SYMBOL table_ref ( validation )? | REORGANIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( identifier_list INTO_SYMBOL partition_definitions )? |{...}? => DISCARD_SYMBOL PARTITION_SYMBOL all_or_partition_name_list TABLESPACE_SYMBOL |{...}? => IMPORT_SYMBOL PARTITION_SYMBOL all_or_partition_name_list TABLESPACE_SYMBOL );
 */
static MySQLParser_alter_partition_return
alter_partition(pMySQLParser ctx)
{
    MySQLParser_alter_partition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ADD_SYMBOL230;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL231;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL233;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL235;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL236;
    pANTLR3_COMMON_TOKEN    INTEGER237;
    pANTLR3_COMMON_TOKEN    DROP_SYMBOL238;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL239;
    pANTLR3_COMMON_TOKEN    REBUILD_SYMBOL241;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL242;
    pANTLR3_COMMON_TOKEN    OPTIMIZE_SYMBOL245;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL246;
    pANTLR3_COMMON_TOKEN    ANALYZE_SYMBOL250;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL251;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL254;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL255;
    pANTLR3_COMMON_TOKEN    REPAIR_SYMBOL258;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL259;
    pANTLR3_COMMON_TOKEN    COALESCE_SYMBOL263;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL264;
    pANTLR3_COMMON_TOKEN    INTEGER266;
    pANTLR3_COMMON_TOKEN    TRUNCATE_SYMBOL267;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL268;
    pANTLR3_COMMON_TOKEN    EXCHANGE_SYMBOL270;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL271;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL273;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL274;
    pANTLR3_COMMON_TOKEN    REORGANIZE_SYMBOL277;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL278;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL281;
    pANTLR3_COMMON_TOKEN    DISCARD_SYMBOL283;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL284;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL286;
    pANTLR3_COMMON_TOKEN    IMPORT_SYMBOL287;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL288;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL290;
    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log232;
    #undef	RETURN_TYPE_no_write_to_bin_log232
    #define	RETURN_TYPE_no_write_to_bin_log232 MySQLParser_no_write_to_bin_log_return

    MySQLParser_partition_definition_return partition_definition234;
    #undef	RETURN_TYPE_partition_definition234
    #define	RETURN_TYPE_partition_definition234 MySQLParser_partition_definition_return

    MySQLParser_identifier_list_return identifier_list240;
    #undef	RETURN_TYPE_identifier_list240
    #define	RETURN_TYPE_identifier_list240 MySQLParser_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log243;
    #undef	RETURN_TYPE_no_write_to_bin_log243
    #define	RETURN_TYPE_no_write_to_bin_log243 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list244;
    #undef	RETURN_TYPE_all_or_partition_name_list244
    #define	RETURN_TYPE_all_or_partition_name_list244 MySQLParser_all_or_partition_name_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log247;
    #undef	RETURN_TYPE_no_write_to_bin_log247
    #define	RETURN_TYPE_no_write_to_bin_log247 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list248;
    #undef	RETURN_TYPE_all_or_partition_name_list248
    #define	RETURN_TYPE_all_or_partition_name_list248 MySQLParser_all_or_partition_name_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log249;
    #undef	RETURN_TYPE_no_write_to_bin_log249
    #define	RETURN_TYPE_no_write_to_bin_log249 MySQLParser_no_write_to_bin_log_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log252;
    #undef	RETURN_TYPE_no_write_to_bin_log252
    #define	RETURN_TYPE_no_write_to_bin_log252 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list253;
    #undef	RETURN_TYPE_all_or_partition_name_list253
    #define	RETURN_TYPE_all_or_partition_name_list253 MySQLParser_all_or_partition_name_list_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list256;
    #undef	RETURN_TYPE_all_or_partition_name_list256
    #define	RETURN_TYPE_all_or_partition_name_list256 MySQLParser_all_or_partition_name_list_return

    MySQLParser_check_option_return check_option257;
    #undef	RETURN_TYPE_check_option257
    #define	RETURN_TYPE_check_option257 MySQLParser_check_option_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log260;
    #undef	RETURN_TYPE_no_write_to_bin_log260
    #define	RETURN_TYPE_no_write_to_bin_log260 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list261;
    #undef	RETURN_TYPE_all_or_partition_name_list261
    #define	RETURN_TYPE_all_or_partition_name_list261 MySQLParser_all_or_partition_name_list_return

    MySQLParser_repair_option_return repair_option262;
    #undef	RETURN_TYPE_repair_option262
    #define	RETURN_TYPE_repair_option262 MySQLParser_repair_option_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log265;
    #undef	RETURN_TYPE_no_write_to_bin_log265
    #define	RETURN_TYPE_no_write_to_bin_log265 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list269;
    #undef	RETURN_TYPE_all_or_partition_name_list269
    #define	RETURN_TYPE_all_or_partition_name_list269 MySQLParser_all_or_partition_name_list_return

    MySQLParser_identifier_return identifier272;
    #undef	RETURN_TYPE_identifier272
    #define	RETURN_TYPE_identifier272 MySQLParser_identifier_return

    MySQLParser_table_ref_return table_ref275;
    #undef	RETURN_TYPE_table_ref275
    #define	RETURN_TYPE_table_ref275 MySQLParser_table_ref_return

    MySQLParser_validation_return validation276;
    #undef	RETURN_TYPE_validation276
    #define	RETURN_TYPE_validation276 MySQLParser_validation_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log279;
    #undef	RETURN_TYPE_no_write_to_bin_log279
    #define	RETURN_TYPE_no_write_to_bin_log279 MySQLParser_no_write_to_bin_log_return

    MySQLParser_identifier_list_return identifier_list280;
    #undef	RETURN_TYPE_identifier_list280
    #define	RETURN_TYPE_identifier_list280 MySQLParser_identifier_list_return

    MySQLParser_partition_definitions_return partition_definitions282;
    #undef	RETURN_TYPE_partition_definitions282
    #define	RETURN_TYPE_partition_definitions282 MySQLParser_partition_definitions_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list285;
    #undef	RETURN_TYPE_all_or_partition_name_list285
    #define	RETURN_TYPE_all_or_partition_name_list285 MySQLParser_all_or_partition_name_list_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list289;
    #undef	RETURN_TYPE_all_or_partition_name_list289
    #define	RETURN_TYPE_all_or_partition_name_list289 MySQLParser_all_or_partition_name_list_return

    pANTLR3_BASE_TREE ADD_SYMBOL230_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL231_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL233_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL235_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL236_tree;
    pANTLR3_BASE_TREE INTEGER237_tree;
    pANTLR3_BASE_TREE DROP_SYMBOL238_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL239_tree;
    pANTLR3_BASE_TREE REBUILD_SYMBOL241_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL242_tree;
    pANTLR3_BASE_TREE OPTIMIZE_SYMBOL245_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL246_tree;
    pANTLR3_BASE_TREE ANALYZE_SYMBOL250_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL251_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL254_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL255_tree;
    pANTLR3_BASE_TREE REPAIR_SYMBOL258_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL259_tree;
    pANTLR3_BASE_TREE COALESCE_SYMBOL263_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL264_tree;
    pANTLR3_BASE_TREE INTEGER266_tree;
    pANTLR3_BASE_TREE TRUNCATE_SYMBOL267_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL268_tree;
    pANTLR3_BASE_TREE EXCHANGE_SYMBOL270_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL271_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL273_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL274_tree;
    pANTLR3_BASE_TREE REORGANIZE_SYMBOL277_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL278_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL281_tree;
    pANTLR3_BASE_TREE DISCARD_SYMBOL283_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL284_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL286_tree;
    pANTLR3_BASE_TREE IMPORT_SYMBOL287_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL288_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL290_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ADD_SYMBOL230       = NULL;
    PARTITION_SYMBOL231       = NULL;
    OPEN_PAR_SYMBOL233       = NULL;
    CLOSE_PAR_SYMBOL235       = NULL;
    PARTITIONS_SYMBOL236       = NULL;
    INTEGER237       = NULL;
    DROP_SYMBOL238       = NULL;
    PARTITION_SYMBOL239       = NULL;
    REBUILD_SYMBOL241       = NULL;
    PARTITION_SYMBOL242       = NULL;
    OPTIMIZE_SYMBOL245       = NULL;
    PARTITION_SYMBOL246       = NULL;
    ANALYZE_SYMBOL250       = NULL;
    PARTITION_SYMBOL251       = NULL;
    CHECK_SYMBOL254       = NULL;
    PARTITION_SYMBOL255       = NULL;
    REPAIR_SYMBOL258       = NULL;
    PARTITION_SYMBOL259       = NULL;
    COALESCE_SYMBOL263       = NULL;
    PARTITION_SYMBOL264       = NULL;
    INTEGER266       = NULL;
    TRUNCATE_SYMBOL267       = NULL;
    PARTITION_SYMBOL268       = NULL;
    EXCHANGE_SYMBOL270       = NULL;
    PARTITION_SYMBOL271       = NULL;
    WITH_SYMBOL273       = NULL;
    TABLE_SYMBOL274       = NULL;
    REORGANIZE_SYMBOL277       = NULL;
    PARTITION_SYMBOL278       = NULL;
    INTO_SYMBOL281       = NULL;
    DISCARD_SYMBOL283       = NULL;
    PARTITION_SYMBOL284       = NULL;
    TABLESPACE_SYMBOL286       = NULL;
    IMPORT_SYMBOL287       = NULL;
    PARTITION_SYMBOL288       = NULL;
    TABLESPACE_SYMBOL290       = NULL;
    no_write_to_bin_log232.tree = NULL;

    partition_definition234.tree = NULL;

    identifier_list240.tree = NULL;

    no_write_to_bin_log243.tree = NULL;

    all_or_partition_name_list244.tree = NULL;

    no_write_to_bin_log247.tree = NULL;

    all_or_partition_name_list248.tree = NULL;

    no_write_to_bin_log249.tree = NULL;

    no_write_to_bin_log252.tree = NULL;

    all_or_partition_name_list253.tree = NULL;

    all_or_partition_name_list256.tree = NULL;

    check_option257.tree = NULL;

    no_write_to_bin_log260.tree = NULL;

    all_or_partition_name_list261.tree = NULL;

    repair_option262.tree = NULL;

    no_write_to_bin_log265.tree = NULL;

    all_or_partition_name_list269.tree = NULL;

    identifier272.tree = NULL;

    table_ref275.tree = NULL;

    validation276.tree = NULL;

    no_write_to_bin_log279.tree = NULL;

    identifier_list280.tree = NULL;

    partition_definitions282.tree = NULL;

    all_or_partition_name_list285.tree = NULL;

    all_or_partition_name_list289.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ADD_SYMBOL230_tree   = NULL;
    PARTITION_SYMBOL231_tree   = NULL;
    OPEN_PAR_SYMBOL233_tree   = NULL;
    CLOSE_PAR_SYMBOL235_tree   = NULL;
    PARTITIONS_SYMBOL236_tree   = NULL;
    INTEGER237_tree   = NULL;
    DROP_SYMBOL238_tree   = NULL;
    PARTITION_SYMBOL239_tree   = NULL;
    REBUILD_SYMBOL241_tree   = NULL;
    PARTITION_SYMBOL242_tree   = NULL;
    OPTIMIZE_SYMBOL245_tree   = NULL;
    PARTITION_SYMBOL246_tree   = NULL;
    ANALYZE_SYMBOL250_tree   = NULL;
    PARTITION_SYMBOL251_tree   = NULL;
    CHECK_SYMBOL254_tree   = NULL;
    PARTITION_SYMBOL255_tree   = NULL;
    REPAIR_SYMBOL258_tree   = NULL;
    PARTITION_SYMBOL259_tree   = NULL;
    COALESCE_SYMBOL263_tree   = NULL;
    PARTITION_SYMBOL264_tree   = NULL;
    INTEGER266_tree   = NULL;
    TRUNCATE_SYMBOL267_tree   = NULL;
    PARTITION_SYMBOL268_tree   = NULL;
    EXCHANGE_SYMBOL270_tree   = NULL;
    PARTITION_SYMBOL271_tree   = NULL;
    WITH_SYMBOL273_tree   = NULL;
    TABLE_SYMBOL274_tree   = NULL;
    REORGANIZE_SYMBOL277_tree   = NULL;
    PARTITION_SYMBOL278_tree   = NULL;
    INTO_SYMBOL281_tree   = NULL;
    DISCARD_SYMBOL283_tree   = NULL;
    PARTITION_SYMBOL284_tree   = NULL;
    TABLESPACE_SYMBOL286_tree   = NULL;
    IMPORT_SYMBOL287_tree   = NULL;
    PARTITION_SYMBOL288_tree   = NULL;
    TABLESPACE_SYMBOL290_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:468:16: ({...}? => ADD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL | PARTITIONS_SYMBOL INTEGER ) | DROP_SYMBOL PARTITION_SYMBOL identifier_list | REBUILD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list | OPTIMIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list ( no_write_to_bin_log )? | ANALYZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list | CHECK_SYMBOL PARTITION_SYMBOL all_or_partition_name_list ( check_option )* | REPAIR_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list ( repair_option )* | COALESCE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? INTEGER |{...}? => TRUNCATE_SYMBOL PARTITION_SYMBOL all_or_partition_name_list | EXCHANGE_SYMBOL PARTITION_SYMBOL identifier WITH_SYMBOL TABLE_SYMBOL table_ref ( validation )? | REORGANIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( identifier_list INTO_SYMBOL partition_definitions )? |{...}? => DISCARD_SYMBOL PARTITION_SYMBOL all_or_partition_name_list TABLESPACE_SYMBOL |{...}? => IMPORT_SYMBOL PARTITION_SYMBOL all_or_partition_name_list TABLESPACE_SYMBOL )

            ANTLR3_UINT32 alt87;

            alt87=13;

            {
                int LA87_0 = LA(1);
                if ( ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) && (LA87_0 == ADD_SYMBOL))
                {
                    alt87=1;
                }
                else if ( (LA87_0 == DROP_SYMBOL))
                {
                    alt87=2;
                }
                else if ( (LA87_0 == REBUILD_SYMBOL))
                {
                    alt87=3;
                }
                else if ( (LA87_0 == OPTIMIZE_SYMBOL))
                {
                    alt87=4;
                }
                else if ( (LA87_0 == ANALYZE_SYMBOL))
                {
                    alt87=5;
                }
                else if ( (LA87_0 == CHECK_SYMBOL))
                {
                    alt87=6;
                }
                else if ( (LA87_0 == REPAIR_SYMBOL))
                {
                    alt87=7;
                }
                else if ( (LA87_0 == COALESCE_SYMBOL))
                {
                    alt87=8;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA87_0 == TRUNCATE_SYMBOL))
                {
                    alt87=9;
                }
                else if ( (LA87_0 == EXCHANGE_SYMBOL))
                {
                    alt87=10;
                }
                else if ( (LA87_0 == REORGANIZE_SYMBOL))
                {
                    alt87=11;
                }
                else if ( ((SERVER_VERSION >= 50704)) && (LA87_0 == DISCARD_SYMBOL))
                {
                    alt87=12;
                }
                else if ( ((SERVER_VERSION >= 50704)) && (LA87_0 == IMPORT_SYMBOL))
                {
                    alt87=13;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 87;
                    EXCEPTION->state        = 0;


                    goto rulealter_partitionEx;

                }
            }
            switch (alt87)
            {
        	case 1:
        	    // MySQL.g:469:2: {...}? => ADD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL | PARTITIONS_SYMBOL INTEGER )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"alter_partition";


        	        }

        	        ADD_SYMBOL230 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_partition1535);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ADD_SYMBOL230_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL230));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL230_tree);
        	        }

        	        PARTITION_SYMBOL231 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1537);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL231_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL231));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL231_tree);
        	        }

        	        // MySQL.g:469:85: ( no_write_to_bin_log )?
        	        {
        	            int alt74=2;
        	            {
        	                int LA74_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA74_0 == LOCAL_SYMBOL))
        	                {
        	                    alt74=1;
        	                }
        	                else if ( (LA74_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt74=1;
        	                }
        	            }
        	            switch (alt74)
        	            {
        	        	case 1:
        	        	    // MySQL.g:469:85: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1539);
        	        	        no_write_to_bin_log232=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log232.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:470:3: ( OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL | PARTITIONS_SYMBOL INTEGER )
        	        {
        	            int alt75=2;
        	            switch ( LA(1) )
        	            {
        	            case OPEN_PAR_SYMBOL:
        	            	{
        	            		alt75=1;
        	            	}
        	                break;
        	            case PARTITIONS_SYMBOL:
        	            	{
        	            		alt75=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 75;
        	                EXCEPTION->state        = 0;


        	                goto rulealter_partitionEx;

        	            }

        	            switch (alt75)
        	            {
        	        	case 1:
        	        	    // MySQL.g:471:4: OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL
        	        	    {
        	        	        OPEN_PAR_SYMBOL233 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1549);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPEN_PAR_SYMBOL233_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL233));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL233_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_partition_definition_in_alter_partition1551);
        	        	        partition_definition234=partition_definition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition234.tree);

        	        	        CLOSE_PAR_SYMBOL235 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1553);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CLOSE_PAR_SYMBOL235_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL235));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL235_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:472:6: PARTITIONS_SYMBOL INTEGER
        	        	    {
        	        	        PARTITIONS_SYMBOL236 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1560);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PARTITIONS_SYMBOL236_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONS_SYMBOL236));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONS_SYMBOL236_tree);
        	        	        }

        	        	        INTEGER237 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_alter_partition1562);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER237_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER237));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER237_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:474:4: DROP_SYMBOL PARTITION_SYMBOL identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL238 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_partition1571);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DROP_SYMBOL238_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL238));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DROP_SYMBOL238_tree);
        	        }

        	        PARTITION_SYMBOL239 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1573);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL239_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL239));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL239_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_list_in_alter_partition1575);
        	        identifier_list240=identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list240.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:475:4: REBUILD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REBUILD_SYMBOL241 = (pANTLR3_COMMON_TOKEN) MATCHT(REBUILD_SYMBOL, &FOLLOW_REBUILD_SYMBOL_in_alter_partition1580);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REBUILD_SYMBOL241_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REBUILD_SYMBOL241));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REBUILD_SYMBOL241_tree);
        	        }

        	        PARTITION_SYMBOL242 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1582);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL242_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL242));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL242_tree);
        	        }

        	        // MySQL.g:475:36: ( no_write_to_bin_log )?
        	        {
        	            int alt76=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA76_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA76_1 >= ASCII_SYMBOL) && (LA76_1 <= YEAR_SYMBOL)) || LA76_1 == ALL_SYMBOL || LA76_1 == BACK_TICK_QUOTED_ID || LA76_1 == DOUBLE_QUOTED_TEXT || LA76_1 == IDENTIFIER))
        	                		    {
        	                		        alt76=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt76=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt76)
        	            {
        	        	case 1:
        	        	    // MySQL.g:475:36: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1584);
        	        	        no_write_to_bin_log243=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log243.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1587);
        	        all_or_partition_name_list244=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list244.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:476:4: OPTIMIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list ( no_write_to_bin_log )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPTIMIZE_SYMBOL245 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIMIZE_SYMBOL, &FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1592);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTIMIZE_SYMBOL245_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIMIZE_SYMBOL245));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTIMIZE_SYMBOL245_tree);
        	        }

        	        PARTITION_SYMBOL246 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1594);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL246_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL246));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL246_tree);
        	        }

        	        // MySQL.g:476:37: ( no_write_to_bin_log )?
        	        {
        	            int alt77=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA77_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA77_1 >= ASCII_SYMBOL) && (LA77_1 <= LIST_SYMBOL)) || ((LA77_1 >= LOCKS_SYMBOL) && (LA77_1 <= YEAR_SYMBOL)) || LA77_1 == ALL_SYMBOL || LA77_1 == BACK_TICK_QUOTED_ID || LA77_1 == DOUBLE_QUOTED_TEXT || LA77_1 == IDENTIFIER))
        	                		    {
        	                		        alt77=1;
        	                		    }
        	                		    else if ( (LA77_1 == LOCAL_SYMBOL))
        	                		    {
        	                		        {
        	                		            int LA77_13 = LA(3);
        	                		            if ( ((LA(1) == LOCAL_SYMBOL)))
        	                		            {
        	                		                alt77=1;
        	                		            }
        	                		        }
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt77=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt77)
        	            {
        	        	case 1:
        	        	    // MySQL.g:476:37: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1596);
        	        	        no_write_to_bin_log247=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log247.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1599);
        	        all_or_partition_name_list248=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list248.tree);

        	        // MySQL.g:476:85: ( no_write_to_bin_log )?
        	        {
        	            int alt78=2;
        	            {
        	                int LA78_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA78_0 == LOCAL_SYMBOL))
        	                {
        	                    alt78=1;
        	                }
        	                else if ( (LA78_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt78=1;
        	                }
        	            }
        	            switch (alt78)
        	            {
        	        	case 1:
        	        	    // MySQL.g:476:85: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1601);
        	        	        no_write_to_bin_log249=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log249.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:477:4: ANALYZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ANALYZE_SYMBOL250 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYZE_SYMBOL, &FOLLOW_ANALYZE_SYMBOL_in_alter_partition1608);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ANALYZE_SYMBOL250_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ANALYZE_SYMBOL250));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ANALYZE_SYMBOL250_tree);
        	        }

        	        PARTITION_SYMBOL251 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1610);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL251_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL251));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL251_tree);
        	        }

        	        // MySQL.g:477:36: ( no_write_to_bin_log )?
        	        {
        	            int alt79=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA79_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA79_1 >= ASCII_SYMBOL) && (LA79_1 <= YEAR_SYMBOL)) || LA79_1 == ALL_SYMBOL || LA79_1 == BACK_TICK_QUOTED_ID || LA79_1 == DOUBLE_QUOTED_TEXT || LA79_1 == IDENTIFIER))
        	                		    {
        	                		        alt79=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt79=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt79)
        	            {
        	        	case 1:
        	        	    // MySQL.g:477:36: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1612);
        	        	        no_write_to_bin_log252=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log252.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1615);
        	        all_or_partition_name_list253=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list253.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:478:4: CHECK_SYMBOL PARTITION_SYMBOL all_or_partition_name_list ( check_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL254 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_alter_partition1620);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHECK_SYMBOL254_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL254));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL254_tree);
        	        }

        	        PARTITION_SYMBOL255 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1622);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL255_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL255));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL255_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1624);
        	        all_or_partition_name_list256=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list256.tree);

        	        // MySQL.g:478:61: ( check_option )*

        	        for (;;)
        	        {
        	            int alt80=2;
        	            switch ( LA(1) )
        	            {
        	            case CHANGED_SYMBOL:
        	            case EXTENDED_SYMBOL:
        	            case FAST_SYMBOL:
        	            case MEDIUM_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case FOR_SYMBOL:
        	            	{
        	            		alt80=1;
        	            	}
        	                break;

        	            }

        	            switch (alt80)
        	            {
        	        	case 1:
        	        	    // MySQL.g:478:61: check_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_check_option_in_alter_partition1626);
        	        	        check_option257=check_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, check_option257.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop80;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop80: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 7:
        	    // MySQL.g:479:4: REPAIR_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list ( repair_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPAIR_SYMBOL258 = (pANTLR3_COMMON_TOKEN) MATCHT(REPAIR_SYMBOL, &FOLLOW_REPAIR_SYMBOL_in_alter_partition1632);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPAIR_SYMBOL258_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPAIR_SYMBOL258));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPAIR_SYMBOL258_tree);
        	        }

        	        PARTITION_SYMBOL259 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1634);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL259_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL259));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL259_tree);
        	        }

        	        // MySQL.g:479:35: ( no_write_to_bin_log )?
        	        {
        	            int alt81=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA81_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA81_1 >= ASCII_SYMBOL) && (LA81_1 <= EXPORT_SYMBOL)) || ((LA81_1 >= EXTENT_SIZE_SYMBOL) && (LA81_1 <= QUERY_SYMBOL)) || ((LA81_1 >= READ_ONLY_SYMBOL) && (LA81_1 <= USER_SYMBOL)) || ((LA81_1 >= VARIABLES_SYMBOL) && (LA81_1 <= YEAR_SYMBOL)) || LA81_1 == ALL_SYMBOL || LA81_1 == BACK_TICK_QUOTED_ID || LA81_1 == DOUBLE_QUOTED_TEXT || LA81_1 == IDENTIFIER))
        	                		    {
        	                		        alt81=1;
        	                		    }
        	                		    else if ( (LA81_1 == EXTENDED_SYMBOL || LA81_1 == QUICK_SYMBOL || LA81_1 == USE_FRM_SYMBOL))
        	                		    {
        	                		        {
        	                		            int LA81_13 = LA(3);
        	                		            if ( ((LA(1) == LOCAL_SYMBOL)))
        	                		            {
        	                		                alt81=1;
        	                		            }
        	                		        }
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt81=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt81)
        	            {
        	        	case 1:
        	        	    // MySQL.g:479:35: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1636);
        	        	        no_write_to_bin_log260=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log260.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1639);
        	        all_or_partition_name_list261=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list261.tree);

        	        // MySQL.g:479:83: ( repair_option )*

        	        for (;;)
        	        {
        	            int alt82=2;
        	            switch ( LA(1) )
        	            {
        	            case EXTENDED_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case USE_FRM_SYMBOL:
        	            	{
        	            		alt82=1;
        	            	}
        	                break;

        	            }

        	            switch (alt82)
        	            {
        	        	case 1:
        	        	    // MySQL.g:479:83: repair_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repair_option_in_alter_partition1641);
        	        	        repair_option262=repair_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, repair_option262.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop82;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop82: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 8:
        	    // MySQL.g:480:4: COALESCE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COALESCE_SYMBOL263 = (pANTLR3_COMMON_TOKEN) MATCHT(COALESCE_SYMBOL, &FOLLOW_COALESCE_SYMBOL_in_alter_partition1647);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COALESCE_SYMBOL263_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COALESCE_SYMBOL263));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COALESCE_SYMBOL263_tree);
        	        }

        	        PARTITION_SYMBOL264 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1649);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL264_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL264));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL264_tree);
        	        }

        	        // MySQL.g:480:37: ( no_write_to_bin_log )?
        	        {
        	            int alt83=2;
        	            {
        	                int LA83_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA83_0 == LOCAL_SYMBOL))
        	                {
        	                    alt83=1;
        	                }
        	                else if ( (LA83_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt83=1;
        	                }
        	            }
        	            switch (alt83)
        	            {
        	        	case 1:
        	        	    // MySQL.g:480:37: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1651);
        	        	        no_write_to_bin_log265=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log265.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER266 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_alter_partition1654);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER266_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER266));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER266_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:481:4: {...}? => TRUNCATE_SYMBOL PARTITION_SYMBOL all_or_partition_name_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"alter_partition";


        	        }

        	        TRUNCATE_SYMBOL267 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1663);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRUNCATE_SYMBOL267_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUNCATE_SYMBOL267));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRUNCATE_SYMBOL267_tree);
        	        }

        	        PARTITION_SYMBOL268 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL268_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL268));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL268_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1667);
        	        all_or_partition_name_list269=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list269.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:482:4: EXCHANGE_SYMBOL PARTITION_SYMBOL identifier WITH_SYMBOL TABLE_SYMBOL table_ref ( validation )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXCHANGE_SYMBOL270 = (pANTLR3_COMMON_TOKEN) MATCHT(EXCHANGE_SYMBOL, &FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1672);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXCHANGE_SYMBOL270_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXCHANGE_SYMBOL270));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXCHANGE_SYMBOL270_tree);
        	        }

        	        PARTITION_SYMBOL271 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1674);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL271_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL271));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL271_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_partition1676);
        	        identifier272=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier272.tree);

        	        WITH_SYMBOL273 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_alter_partition1678);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL273_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL273));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL273_tree);
        	        }

        	        TABLE_SYMBOL274 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_alter_partition1680);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL274_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL274));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL274_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_ref_in_alter_partition1682);
        	        table_ref275=table_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref275.tree);

        	        // MySQL.g:482:83: ( validation )?
        	        {
        	            int alt84=2;
        	            {
        	                int LA84_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50706)) && (LA84_0 == WITHOUT_SYMBOL || LA84_0 == WITH_SYMBOL))
        	                {
        	                    alt84=1;
        	                }
        	            }
        	            switch (alt84)
        	            {
        	        	case 1:
        	        	    // MySQL.g:482:83: validation
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_validation_in_alter_partition1684);
        	        	        validation276=validation(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, validation276.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:483:4: REORGANIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( identifier_list INTO_SYMBOL partition_definitions )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REORGANIZE_SYMBOL277 = (pANTLR3_COMMON_TOKEN) MATCHT(REORGANIZE_SYMBOL, &FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1690);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REORGANIZE_SYMBOL277_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REORGANIZE_SYMBOL277));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REORGANIZE_SYMBOL277_tree);
        	        }

        	        PARTITION_SYMBOL278 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1692);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL278_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL278));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL278_tree);
        	        }

        	        // MySQL.g:483:39: ( no_write_to_bin_log )?
        	        {
        	            int alt85=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA85_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (LA85_1 == EOF || ((LA85_1 >= ASCII_SYMBOL) && (LA85_1 <= YEAR_SYMBOL)) || LA85_1 == BACK_TICK_QUOTED_ID || LA85_1 == DOUBLE_QUOTED_TEXT || LA85_1 == IDENTIFIER || LA85_1 == SEMICOLON_SYMBOL))
        	                		    {
        	                		        alt85=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt85=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt85)
        	            {
        	        	case 1:
        	        	    // MySQL.g:483:39: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1694);
        	        	        no_write_to_bin_log279=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log279.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:483:60: ( identifier_list INTO_SYMBOL partition_definitions )?
        	        {
        	            int alt86=2;
        	            {
        	                int LA86_0 = LA(1);
        	                if ( (LA86_0 == BACK_TICK_QUOTED_ID || LA86_0 == IDENTIFIER))
        	                {
        	                    alt86=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA86_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt86=1;
        	                }
        	                else if ( (((LA86_0 >= ASCII_SYMBOL) && (LA86_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt86=1;
        	                }
        	            }
        	            switch (alt86)
        	            {
        	        	case 1:
        	        	    // MySQL.g:483:61: identifier_list INTO_SYMBOL partition_definitions
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_in_alter_partition1698);
        	        	        identifier_list280=identifier_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list280.tree);

        	        	        INTO_SYMBOL281 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_alter_partition1700);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTO_SYMBOL281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL281));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL281_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_partition_definitions_in_alter_partition1702);
        	        	        partition_definitions282=partition_definitions(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definitions282.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:484:4: {...}? => DISCARD_SYMBOL PARTITION_SYMBOL all_or_partition_name_list TABLESPACE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50704)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50704";
        	                EXCEPTION->ruleName	 = (void *)"alter_partition";


        	        }

        	        DISCARD_SYMBOL283 = (pANTLR3_COMMON_TOKEN) MATCHT(DISCARD_SYMBOL, &FOLLOW_DISCARD_SYMBOL_in_alter_partition1713);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DISCARD_SYMBOL283_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISCARD_SYMBOL283));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DISCARD_SYMBOL283_tree);
        	        }

        	        PARTITION_SYMBOL284 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1715);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL284_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL284));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL284_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1717);
        	        all_or_partition_name_list285=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list285.tree);

        	        TABLESPACE_SYMBOL286 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1719);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL286_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL286));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL286_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:485:4: {...}? => IMPORT_SYMBOL PARTITION_SYMBOL all_or_partition_name_list TABLESPACE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50704)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50704";
        	                EXCEPTION->ruleName	 = (void *)"alter_partition";


        	        }

        	        IMPORT_SYMBOL287 = (pANTLR3_COMMON_TOKEN) MATCHT(IMPORT_SYMBOL, &FOLLOW_IMPORT_SYMBOL_in_alter_partition1728);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IMPORT_SYMBOL287_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IMPORT_SYMBOL287));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IMPORT_SYMBOL287_tree);
        	        }

        	        PARTITION_SYMBOL288 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1730);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL288_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL288));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL288_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1732);
        	        all_or_partition_name_list289=all_or_partition_name_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, all_or_partition_name_list289.tree);

        	        TABLESPACE_SYMBOL290 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_alter_partition1734);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL290_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL290));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL290_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulealter_partitionEx; /* Prevent compiler warnings */
    rulealter_partitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_partition */

/**
 * $ANTLR start validation
 * MySQL.g:488:1: validation :{...}? => ( WITH_SYMBOL | WITHOUT_SYMBOL ) VALIDATION_SYMBOL ;
 */
static MySQLParser_validation_return
validation(pMySQLParser ctx)
{
    MySQLParser_validation_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set291;
    pANTLR3_COMMON_TOKEN    VALIDATION_SYMBOL292;

    pANTLR3_BASE_TREE set291_tree;
    pANTLR3_BASE_TREE VALIDATION_SYMBOL292_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set291       = NULL;
    VALIDATION_SYMBOL292       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set291_tree   = NULL;
    VALIDATION_SYMBOL292_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:488:11: ({...}? => ( WITH_SYMBOL | WITHOUT_SYMBOL ) VALIDATION_SYMBOL )
        // MySQL.g:489:2: {...}? => ( WITH_SYMBOL | WITHOUT_SYMBOL ) VALIDATION_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50706)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50706";
                    EXCEPTION->ruleName	 = (void *)"validation";


            }

            set291=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == WITHOUT_SYMBOL || LA(1) == WITH_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set291))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulevalidationEx;
            }


            VALIDATION_SYMBOL292 = (pANTLR3_COMMON_TOKEN) MATCHT(VALIDATION_SYMBOL, &FOLLOW_VALIDATION_SYMBOL_in_validation1755);
            if  (HASEXCEPTION())
            {
                goto rulevalidationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            VALIDATION_SYMBOL292_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALIDATION_SYMBOL292));
            ADAPTOR->addChild(ADAPTOR, root_0, VALIDATION_SYMBOL292_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulevalidationEx; /* Prevent compiler warnings */
    rulevalidationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end validation */

/**
 * $ANTLR start remove_partitioning
 * MySQL.g:492:1: remove_partitioning :{...}? => REMOVE_SYMBOL PARTITIONING_SYMBOL ;
 */
static MySQLParser_remove_partitioning_return
remove_partitioning(pMySQLParser ctx)
{
    MySQLParser_remove_partitioning_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REMOVE_SYMBOL293;
    pANTLR3_COMMON_TOKEN    PARTITIONING_SYMBOL294;

    pANTLR3_BASE_TREE REMOVE_SYMBOL293_tree;
    pANTLR3_BASE_TREE PARTITIONING_SYMBOL294_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REMOVE_SYMBOL293       = NULL;
    PARTITIONING_SYMBOL294       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REMOVE_SYMBOL293_tree   = NULL;
    PARTITIONING_SYMBOL294_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:492:20: ({...}? => REMOVE_SYMBOL PARTITIONING_SYMBOL )
        // MySQL.g:493:2: {...}? => REMOVE_SYMBOL PARTITIONING_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50100)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50100";
                    EXCEPTION->ruleName	 = (void *)"remove_partitioning";


            }

            REMOVE_SYMBOL293 = (pANTLR3_COMMON_TOKEN) MATCHT(REMOVE_SYMBOL, &FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1768);
            if  (HASEXCEPTION())
            {
                goto ruleremove_partitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REMOVE_SYMBOL293_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REMOVE_SYMBOL293));
            ADAPTOR->addChild(ADAPTOR, root_0, REMOVE_SYMBOL293_tree);
            }

            PARTITIONING_SYMBOL294 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONING_SYMBOL, &FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1770);
            if  (HASEXCEPTION())
            {
                goto ruleremove_partitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITIONING_SYMBOL294_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONING_SYMBOL294));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONING_SYMBOL294_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleremove_partitioningEx; /* Prevent compiler warnings */
    ruleremove_partitioningEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end remove_partitioning */

/**
 * $ANTLR start all_or_partition_name_list
 * MySQL.g:496:1: all_or_partition_name_list : ( ALL_SYMBOL | identifier_list );
 */
static MySQLParser_all_or_partition_name_list_return
all_or_partition_name_list(pMySQLParser ctx)
{
    MySQLParser_all_or_partition_name_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALL_SYMBOL295;
    MySQLParser_identifier_list_return identifier_list296;
    #undef	RETURN_TYPE_identifier_list296
    #define	RETURN_TYPE_identifier_list296 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE ALL_SYMBOL295_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL295       = NULL;
    identifier_list296.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL295_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:496:27: ( ALL_SYMBOL | identifier_list )

            ANTLR3_UINT32 alt88;

            alt88=2;

            {
                int LA88_0 = LA(1);
                if ( (LA88_0 == ALL_SYMBOL))
                {
                    alt88=1;
                }
                else if ( (LA88_0 == BACK_TICK_QUOTED_ID || LA88_0 == IDENTIFIER))
                {
                    alt88=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA88_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt88=2;
                }
                else if ( (((LA88_0 >= ASCII_SYMBOL) && (LA88_0 <= YEAR_SYMBOL))))
                {
                    alt88=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 88;
                    EXCEPTION->state        = 0;


                    goto ruleall_or_partition_name_listEx;

                }
            }
            switch (alt88)
            {
        	case 1:
        	    // MySQL.g:497:2: ALL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL295 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1779);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleall_or_partition_name_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL295_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL295));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL295_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:498:4: identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_list_in_all_or_partition_name_list1784);
        	        identifier_list296=identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleall_or_partition_name_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list296.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleall_or_partition_name_listEx; /* Prevent compiler warnings */
    ruleall_or_partition_name_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end all_or_partition_name_list */

/**
 * $ANTLR start alter_tablespace
 * MySQL.g:501:1: alter_tablespace : TABLESPACE_SYMBOL tablespace_ref ( ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL string_literal ( alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )* )? | CHANGE_SYMBOL DATAFILE_SYMBOL string_literal ( change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )* )? | READ_ONLY_SYMBOL | READ_WRITE_SYMBOL | NOT_SYMBOL ACCESSIBLE_SYMBOL ) ;
 */
static MySQLParser_alter_tablespace_return
alter_tablespace(pMySQLParser ctx)
{
    MySQLParser_alter_tablespace_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL297;
    pANTLR3_COMMON_TOKEN    set299;
    pANTLR3_COMMON_TOKEN    DATAFILE_SYMBOL300;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL303;
    pANTLR3_COMMON_TOKEN    CHANGE_SYMBOL305;
    pANTLR3_COMMON_TOKEN    DATAFILE_SYMBOL306;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL309;
    pANTLR3_COMMON_TOKEN    READ_ONLY_SYMBOL311;
    pANTLR3_COMMON_TOKEN    READ_WRITE_SYMBOL312;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL313;
    pANTLR3_COMMON_TOKEN    ACCESSIBLE_SYMBOL314;
    MySQLParser_tablespace_ref_return tablespace_ref298;
    #undef	RETURN_TYPE_tablespace_ref298
    #define	RETURN_TYPE_tablespace_ref298 MySQLParser_tablespace_ref_return

    MySQLParser_string_literal_return string_literal301;
    #undef	RETURN_TYPE_string_literal301
    #define	RETURN_TYPE_string_literal301 MySQLParser_string_literal_return

    MySQLParser_alter_tablespace_option_return alter_tablespace_option302;
    #undef	RETURN_TYPE_alter_tablespace_option302
    #define	RETURN_TYPE_alter_tablespace_option302 MySQLParser_alter_tablespace_option_return

    MySQLParser_alter_tablespace_option_return alter_tablespace_option304;
    #undef	RETURN_TYPE_alter_tablespace_option304
    #define	RETURN_TYPE_alter_tablespace_option304 MySQLParser_alter_tablespace_option_return

    MySQLParser_string_literal_return string_literal307;
    #undef	RETURN_TYPE_string_literal307
    #define	RETURN_TYPE_string_literal307 MySQLParser_string_literal_return

    MySQLParser_change_tablespace_option_return change_tablespace_option308;
    #undef	RETURN_TYPE_change_tablespace_option308
    #define	RETURN_TYPE_change_tablespace_option308 MySQLParser_change_tablespace_option_return

    MySQLParser_change_tablespace_option_return change_tablespace_option310;
    #undef	RETURN_TYPE_change_tablespace_option310
    #define	RETURN_TYPE_change_tablespace_option310 MySQLParser_change_tablespace_option_return

    pANTLR3_BASE_TREE TABLESPACE_SYMBOL297_tree;
    pANTLR3_BASE_TREE set299_tree;
    pANTLR3_BASE_TREE DATAFILE_SYMBOL300_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL303_tree;
    pANTLR3_BASE_TREE CHANGE_SYMBOL305_tree;
    pANTLR3_BASE_TREE DATAFILE_SYMBOL306_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL309_tree;
    pANTLR3_BASE_TREE READ_ONLY_SYMBOL311_tree;
    pANTLR3_BASE_TREE READ_WRITE_SYMBOL312_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL313_tree;
    pANTLR3_BASE_TREE ACCESSIBLE_SYMBOL314_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLESPACE_SYMBOL297       = NULL;
    set299       = NULL;
    DATAFILE_SYMBOL300       = NULL;
    COMMA_SYMBOL303       = NULL;
    CHANGE_SYMBOL305       = NULL;
    DATAFILE_SYMBOL306       = NULL;
    COMMA_SYMBOL309       = NULL;
    READ_ONLY_SYMBOL311       = NULL;
    READ_WRITE_SYMBOL312       = NULL;
    NOT_SYMBOL313       = NULL;
    ACCESSIBLE_SYMBOL314       = NULL;
    tablespace_ref298.tree = NULL;

    string_literal301.tree = NULL;

    alter_tablespace_option302.tree = NULL;

    alter_tablespace_option304.tree = NULL;

    string_literal307.tree = NULL;

    change_tablespace_option308.tree = NULL;

    change_tablespace_option310.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TABLESPACE_SYMBOL297_tree   = NULL;
    set299_tree   = NULL;
    DATAFILE_SYMBOL300_tree   = NULL;
    COMMA_SYMBOL303_tree   = NULL;
    CHANGE_SYMBOL305_tree   = NULL;
    DATAFILE_SYMBOL306_tree   = NULL;
    COMMA_SYMBOL309_tree   = NULL;
    READ_ONLY_SYMBOL311_tree   = NULL;
    READ_WRITE_SYMBOL312_tree   = NULL;
    NOT_SYMBOL313_tree   = NULL;
    ACCESSIBLE_SYMBOL314_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:501:17: ( TABLESPACE_SYMBOL tablespace_ref ( ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL string_literal ( alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )* )? | CHANGE_SYMBOL DATAFILE_SYMBOL string_literal ( change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )* )? | READ_ONLY_SYMBOL | READ_WRITE_SYMBOL | NOT_SYMBOL ACCESSIBLE_SYMBOL ) )
        // MySQL.g:502:2: TABLESPACE_SYMBOL tablespace_ref ( ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL string_literal ( alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )* )? | CHANGE_SYMBOL DATAFILE_SYMBOL string_literal ( change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )* )? | READ_ONLY_SYMBOL | READ_WRITE_SYMBOL | NOT_SYMBOL ACCESSIBLE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TABLESPACE_SYMBOL297 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1793);
            if  (HASEXCEPTION())
            {
                goto rulealter_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TABLESPACE_SYMBOL297_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL297));
            ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL297_tree);
            }

            FOLLOWPUSH(FOLLOW_tablespace_ref_in_alter_tablespace1795);
            tablespace_ref298=tablespace_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, tablespace_ref298.tree);

            // MySQL.g:503:2: ( ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL string_literal ( alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )* )? | CHANGE_SYMBOL DATAFILE_SYMBOL string_literal ( change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )* )? | READ_ONLY_SYMBOL | READ_WRITE_SYMBOL | NOT_SYMBOL ACCESSIBLE_SYMBOL )
            {
                int alt95=5;
                switch ( LA(1) )
                {
                case ADD_SYMBOL:
                case DROP_SYMBOL:
                	{
                		alt95=1;
                	}
                    break;
                case CHANGE_SYMBOL:
                	{
                		alt95=2;
                	}
                    break;
                case READ_ONLY_SYMBOL:
                	{
                		alt95=3;
                	}
                    break;
                case READ_WRITE_SYMBOL:
                	{
                		alt95=4;
                	}
                    break;
                case NOT_SYMBOL:
                	{
                		alt95=5;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 95;
                    EXCEPTION->state        = 0;


                    goto rulealter_tablespaceEx;

                }

                switch (alt95)
                {
            	case 1:
            	    // MySQL.g:504:3: ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL string_literal ( alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )* )?
            	    {
            	        set299=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == ADD_SYMBOL || LA(1) == DROP_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set299))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulealter_tablespaceEx;
            	        }


            	        DATAFILE_SYMBOL300 = (pANTLR3_COMMON_TOKEN) MATCHT(DATAFILE_SYMBOL, &FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1810);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATAFILE_SYMBOL300_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATAFILE_SYMBOL300));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATAFILE_SYMBOL300_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_alter_tablespace1812);
            	        string_literal301=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal301.tree);

            	        // MySQL.g:504:61: ( alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )* )?
            	        {
            	            int alt91=2;
            	            switch ( LA(1) )
            	            {
            	                case AUTOEXTEND_SIZE_SYMBOL:
            	                case ENGINE_SYMBOL:
            	                case INITIAL_SIZE_SYMBOL:
            	                case MAX_SIZE_SYMBOL:
            	                case NO_WAIT_SYMBOL:
            	                case STORAGE_SYMBOL:
            	                case WAIT_SYMBOL:
            	                	{
            	                		alt91=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt91)
            	            {
            	        	case 1:
            	        	    // MySQL.g:504:62: alter_tablespace_option ( ( COMMA_SYMBOL )? alter_tablespace_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_tablespace_option_in_alter_tablespace1815);
            	        	        alter_tablespace_option302=alter_tablespace_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_tablespaceEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_tablespace_option302.tree);

            	        	        // MySQL.g:504:86: ( ( COMMA_SYMBOL )? alter_tablespace_option )*

            	        	        for (;;)
            	        	        {
            	        	            int alt90=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case AUTOEXTEND_SIZE_SYMBOL:
            	        	            case ENGINE_SYMBOL:
            	        	            case INITIAL_SIZE_SYMBOL:
            	        	            case MAX_SIZE_SYMBOL:
            	        	            case NO_WAIT_SYMBOL:
            	        	            case STORAGE_SYMBOL:
            	        	            case WAIT_SYMBOL:
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt90=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt90)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:504:87: ( COMMA_SYMBOL )? alter_tablespace_option
            	        	        	    {
            	        	        	        // MySQL.g:504:87: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt89=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt89=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt89)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:504:87: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL303 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_tablespace1818);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto rulealter_tablespaceEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        COMMA_SYMBOL303_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL303));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL303_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_alter_tablespace_option_in_alter_tablespace1821);
            	        	        	        alter_tablespace_option304=alter_tablespace_option(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulealter_tablespaceEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_tablespace_option304.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop90;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop90: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:506:5: CHANGE_SYMBOL DATAFILE_SYMBOL string_literal ( change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )* )?
            	    {
            	        CHANGE_SYMBOL305 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGE_SYMBOL, &FOLLOW_CHANGE_SYMBOL_in_alter_tablespace1834);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CHANGE_SYMBOL305_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGE_SYMBOL305));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CHANGE_SYMBOL305_tree);
            	        }

            	        DATAFILE_SYMBOL306 = (pANTLR3_COMMON_TOKEN) MATCHT(DATAFILE_SYMBOL, &FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1836);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATAFILE_SYMBOL306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATAFILE_SYMBOL306));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATAFILE_SYMBOL306_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_alter_tablespace1838);
            	        string_literal307=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal307.tree);

            	        // MySQL.g:506:50: ( change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )* )?
            	        {
            	            int alt94=2;
            	            switch ( LA(1) )
            	            {
            	                case AUTOEXTEND_SIZE_SYMBOL:
            	                case INITIAL_SIZE_SYMBOL:
            	                case MAX_SIZE_SYMBOL:
            	                	{
            	                		alt94=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt94)
            	            {
            	        	case 1:
            	        	    // MySQL.g:506:51: change_tablespace_option ( ( COMMA_SYMBOL )? change_tablespace_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_change_tablespace_option_in_alter_tablespace1841);
            	        	        change_tablespace_option308=change_tablespace_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_tablespaceEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_tablespace_option308.tree);

            	        	        // MySQL.g:506:76: ( ( COMMA_SYMBOL )? change_tablespace_option )*

            	        	        for (;;)
            	        	        {
            	        	            int alt93=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case AUTOEXTEND_SIZE_SYMBOL:
            	        	            case INITIAL_SIZE_SYMBOL:
            	        	            case MAX_SIZE_SYMBOL:
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt93=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt93)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:506:77: ( COMMA_SYMBOL )? change_tablespace_option
            	        	        	    {
            	        	        	        // MySQL.g:506:77: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt92=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt92=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt92)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:506:77: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL309 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_tablespace1844);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto rulealter_tablespaceEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        COMMA_SYMBOL309_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL309));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL309_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_change_tablespace_option_in_alter_tablespace1847);
            	        	        	        change_tablespace_option310=change_tablespace_option(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulealter_tablespaceEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_tablespace_option310.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop93;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop93: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:507:5: READ_ONLY_SYMBOL
            	    {
            	        READ_ONLY_SYMBOL311 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_ONLY_SYMBOL, &FOLLOW_READ_ONLY_SYMBOL_in_alter_tablespace1857);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        READ_ONLY_SYMBOL311_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_ONLY_SYMBOL311));
            	        ADAPTOR->addChild(ADAPTOR, root_0, READ_ONLY_SYMBOL311_tree);
            	        }

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:508:5: READ_WRITE_SYMBOL
            	    {
            	        READ_WRITE_SYMBOL312 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_WRITE_SYMBOL, &FOLLOW_READ_WRITE_SYMBOL_in_alter_tablespace1863);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        READ_WRITE_SYMBOL312_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_WRITE_SYMBOL312));
            	        ADAPTOR->addChild(ADAPTOR, root_0, READ_WRITE_SYMBOL312_tree);
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:509:5: NOT_SYMBOL ACCESSIBLE_SYMBOL
            	    {
            	        NOT_SYMBOL313 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_alter_tablespace1869);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NOT_SYMBOL313_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL313));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL313_tree);
            	        }

            	        ACCESSIBLE_SYMBOL314 = (pANTLR3_COMMON_TOKEN) MATCHT(ACCESSIBLE_SYMBOL, &FOLLOW_ACCESSIBLE_SYMBOL_in_alter_tablespace1871);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ACCESSIBLE_SYMBOL314_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ACCESSIBLE_SYMBOL314));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ACCESSIBLE_SYMBOL314_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_tablespaceEx; /* Prevent compiler warnings */
    rulealter_tablespaceEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_tablespace */

/**
 * $ANTLR start alter_tablespace_option
 * MySQL.g:513:1: alter_tablespace_option : ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) );
 */
static MySQLParser_alter_tablespace_option_return
alter_tablespace_option(pMySQLParser ctx)
{
    MySQLParser_alter_tablespace_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL315;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR316;
    pANTLR3_COMMON_TOKEN    AUTOEXTEND_SIZE_SYMBOL318;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR319;
    pANTLR3_COMMON_TOKEN    MAX_SIZE_SYMBOL321;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR322;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL324;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL325;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR326;
    pANTLR3_COMMON_TOKEN    set328;
    MySQLParser_size_number_return size_number317;
    #undef	RETURN_TYPE_size_number317
    #define	RETURN_TYPE_size_number317 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number320;
    #undef	RETURN_TYPE_size_number320
    #define	RETURN_TYPE_size_number320 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number323;
    #undef	RETURN_TYPE_size_number323
    #define	RETURN_TYPE_size_number323 MySQLParser_size_number_return

    MySQLParser_engine_ref_return engine_ref327;
    #undef	RETURN_TYPE_engine_ref327
    #define	RETURN_TYPE_engine_ref327 MySQLParser_engine_ref_return

    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL315_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR316_tree;
    pANTLR3_BASE_TREE AUTOEXTEND_SIZE_SYMBOL318_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR319_tree;
    pANTLR3_BASE_TREE MAX_SIZE_SYMBOL321_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR322_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL324_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL325_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR326_tree;
    pANTLR3_BASE_TREE set328_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INITIAL_SIZE_SYMBOL315       = NULL;
    EQUAL_OPERATOR316       = NULL;
    AUTOEXTEND_SIZE_SYMBOL318       = NULL;
    EQUAL_OPERATOR319       = NULL;
    MAX_SIZE_SYMBOL321       = NULL;
    EQUAL_OPERATOR322       = NULL;
    STORAGE_SYMBOL324       = NULL;
    ENGINE_SYMBOL325       = NULL;
    EQUAL_OPERATOR326       = NULL;
    set328       = NULL;
    size_number317.tree = NULL;

    size_number320.tree = NULL;

    size_number323.tree = NULL;

    engine_ref327.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INITIAL_SIZE_SYMBOL315_tree   = NULL;
    EQUAL_OPERATOR316_tree   = NULL;
    AUTOEXTEND_SIZE_SYMBOL318_tree   = NULL;
    EQUAL_OPERATOR319_tree   = NULL;
    MAX_SIZE_SYMBOL321_tree   = NULL;
    EQUAL_OPERATOR322_tree   = NULL;
    STORAGE_SYMBOL324_tree   = NULL;
    ENGINE_SYMBOL325_tree   = NULL;
    EQUAL_OPERATOR326_tree   = NULL;
    set328_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:513:24: ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) )

            ANTLR3_UINT32 alt101;

            alt101=5;

            switch ( LA(1) )
            {
            case INITIAL_SIZE_SYMBOL:
            	{
            		alt101=1;
            	}
                break;
            case AUTOEXTEND_SIZE_SYMBOL:
            	{
            		alt101=2;
            	}
                break;
            case MAX_SIZE_SYMBOL:
            	{
            		alt101=3;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt101=4;
            	}
                break;
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt101=5;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 101;
                EXCEPTION->state        = 0;


                goto rulealter_tablespace_optionEx;

            }

            switch (alt101)
            {
        	case 1:
        	    // MySQL.g:514:2: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INITIAL_SIZE_SYMBOL315 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace_option1883);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INITIAL_SIZE_SYMBOL315_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INITIAL_SIZE_SYMBOL315));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INITIAL_SIZE_SYMBOL315_tree);
        	        }

        	        // MySQL.g:514:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt96=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt96=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt96)
        	            {
        	        	case 1:
        	        	    // MySQL.g:514:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR316 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1885);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR316_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR316));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR316_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_alter_tablespace_option1888);
        	        size_number317=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number317.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:515:4: AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTOEXTEND_SIZE_SYMBOL318 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTOEXTEND_SIZE_SYMBOL, &FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_alter_tablespace_option1893);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTOEXTEND_SIZE_SYMBOL318_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTOEXTEND_SIZE_SYMBOL318));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTOEXTEND_SIZE_SYMBOL318_tree);
        	        }

        	        // MySQL.g:515:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt97=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt97=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt97)
        	            {
        	        	case 1:
        	        	    // MySQL.g:515:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR319 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1895);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR319_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR319));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR319_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_alter_tablespace_option1898);
        	        size_number320=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number320.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:516:4: MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SIZE_SYMBOL321 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SIZE_SYMBOL, &FOLLOW_MAX_SIZE_SYMBOL_in_alter_tablespace_option1903);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_SIZE_SYMBOL321_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_SIZE_SYMBOL321));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_SIZE_SYMBOL321_tree);
        	        }

        	        // MySQL.g:516:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt98=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt98=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt98)
        	            {
        	        	case 1:
        	        	    // MySQL.g:516:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR322 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1905);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR322_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR322));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR322_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_alter_tablespace_option1908);
        	        size_number323=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number323.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:517:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:517:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt99=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt99=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt99)
        	            {
        	        	case 1:
        	        	    // MySQL.g:517:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL324 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_alter_tablespace_option1913);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STORAGE_SYMBOL324_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL324));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL324_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL325 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_alter_tablespace_option1916);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENGINE_SYMBOL325_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL325));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL325_tree);
        	        }

        	        // MySQL.g:517:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt100=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt100=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt100)
        	            {
        	        	case 1:
        	        	    // MySQL.g:517:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR326 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace_option1918);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR326_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR326));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR326_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_engine_ref_in_alter_tablespace_option1921);
        	        engine_ref327=engine_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref327.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:518:4: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set328=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == NO_WAIT_SYMBOL || LA(1) == WAIT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set328))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulealter_tablespace_optionEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulealter_tablespace_optionEx; /* Prevent compiler warnings */
    rulealter_tablespace_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_tablespace_option */

/**
 * $ANTLR start change_tablespace_option
 * MySQL.g:521:1: change_tablespace_option : ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number );
 */
static MySQLParser_change_tablespace_option_return
change_tablespace_option(pMySQLParser ctx)
{
    MySQLParser_change_tablespace_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL329;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR330;
    pANTLR3_COMMON_TOKEN    AUTOEXTEND_SIZE_SYMBOL332;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR333;
    pANTLR3_COMMON_TOKEN    MAX_SIZE_SYMBOL335;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR336;
    MySQLParser_size_number_return size_number331;
    #undef	RETURN_TYPE_size_number331
    #define	RETURN_TYPE_size_number331 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number334;
    #undef	RETURN_TYPE_size_number334
    #define	RETURN_TYPE_size_number334 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number337;
    #undef	RETURN_TYPE_size_number337
    #define	RETURN_TYPE_size_number337 MySQLParser_size_number_return

    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL329_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR330_tree;
    pANTLR3_BASE_TREE AUTOEXTEND_SIZE_SYMBOL332_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR333_tree;
    pANTLR3_BASE_TREE MAX_SIZE_SYMBOL335_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR336_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INITIAL_SIZE_SYMBOL329       = NULL;
    EQUAL_OPERATOR330       = NULL;
    AUTOEXTEND_SIZE_SYMBOL332       = NULL;
    EQUAL_OPERATOR333       = NULL;
    MAX_SIZE_SYMBOL335       = NULL;
    EQUAL_OPERATOR336       = NULL;
    size_number331.tree = NULL;

    size_number334.tree = NULL;

    size_number337.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INITIAL_SIZE_SYMBOL329_tree   = NULL;
    EQUAL_OPERATOR330_tree   = NULL;
    AUTOEXTEND_SIZE_SYMBOL332_tree   = NULL;
    EQUAL_OPERATOR333_tree   = NULL;
    MAX_SIZE_SYMBOL335_tree   = NULL;
    EQUAL_OPERATOR336_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:521:25: ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )

            ANTLR3_UINT32 alt105;

            alt105=3;

            switch ( LA(1) )
            {
            case INITIAL_SIZE_SYMBOL:
            	{
            		alt105=1;
            	}
                break;
            case AUTOEXTEND_SIZE_SYMBOL:
            	{
            		alt105=2;
            	}
                break;
            case MAX_SIZE_SYMBOL:
            	{
            		alt105=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 105;
                EXCEPTION->state        = 0;


                goto rulechange_tablespace_optionEx;

            }

            switch (alt105)
            {
        	case 1:
        	    // MySQL.g:522:2: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INITIAL_SIZE_SYMBOL329 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_change_tablespace_option1941);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulechange_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INITIAL_SIZE_SYMBOL329_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INITIAL_SIZE_SYMBOL329));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INITIAL_SIZE_SYMBOL329_tree);
        	        }

        	        // MySQL.g:522:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt102=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt102=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt102)
        	            {
        	        	case 1:
        	        	    // MySQL.g:522:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR330 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1943);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulechange_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR330));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR330_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_change_tablespace_option1946);
        	        size_number331=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulechange_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number331.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:523:4: AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTOEXTEND_SIZE_SYMBOL332 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTOEXTEND_SIZE_SYMBOL, &FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_change_tablespace_option1951);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulechange_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTOEXTEND_SIZE_SYMBOL332_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTOEXTEND_SIZE_SYMBOL332));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTOEXTEND_SIZE_SYMBOL332_tree);
        	        }

        	        // MySQL.g:523:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt103=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt103=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt103)
        	            {
        	        	case 1:
        	        	    // MySQL.g:523:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR333 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1953);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulechange_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR333_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR333));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR333_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_change_tablespace_option1956);
        	        size_number334=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulechange_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number334.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:524:4: MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SIZE_SYMBOL335 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SIZE_SYMBOL, &FOLLOW_MAX_SIZE_SYMBOL_in_change_tablespace_option1961);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulechange_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_SIZE_SYMBOL335_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_SIZE_SYMBOL335));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_SIZE_SYMBOL335_tree);
        	        }

        	        // MySQL.g:524:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt104=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt104=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt104)
        	            {
        	        	case 1:
        	        	    // MySQL.g:524:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR336 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_change_tablespace_option1963);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulechange_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR336_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR336));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR336_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_change_tablespace_option1966);
        	        size_number337=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulechange_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number337.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulechange_tablespace_optionEx; /* Prevent compiler warnings */
    rulechange_tablespace_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end change_tablespace_option */

/**
 * $ANTLR start alter_view
 * MySQL.g:527:1: alter_view : ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )? ( definer_clause )? ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL view_ref ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? ;
 */
static MySQLParser_alter_view_return
alter_view(pMySQLParser ctx)
{
    MySQLParser_alter_view_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALGORITHM_SYMBOL338;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR339;
    pANTLR3_COMMON_TOKEN    set340;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL342;
    pANTLR3_COMMON_TOKEN    SECURITY_SYMBOL343;
    pANTLR3_COMMON_TOKEN    set344;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL345;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL348;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL350;
    pANTLR3_COMMON_TOKEN    set351;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL352;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL353;
    MySQLParser_definer_clause_return definer_clause341;
    #undef	RETURN_TYPE_definer_clause341
    #define	RETURN_TYPE_definer_clause341 MySQLParser_definer_clause_return

    MySQLParser_view_ref_return view_ref346;
    #undef	RETURN_TYPE_view_ref346
    #define	RETURN_TYPE_view_ref346 MySQLParser_view_ref_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses347;
    #undef	RETURN_TYPE_identifier_list_with_parentheses347
    #define	RETURN_TYPE_identifier_list_with_parentheses347 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_select_statement_return select_statement349;
    #undef	RETURN_TYPE_select_statement349
    #define	RETURN_TYPE_select_statement349 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL338_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR339_tree;
    pANTLR3_BASE_TREE set340_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL342_tree;
    pANTLR3_BASE_TREE SECURITY_SYMBOL343_tree;
    pANTLR3_BASE_TREE set344_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL345_tree;
    pANTLR3_BASE_TREE AS_SYMBOL348_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL350_tree;
    pANTLR3_BASE_TREE set351_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL352_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL353_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL338       = NULL;
    EQUAL_OPERATOR339       = NULL;
    set340       = NULL;
    SQL_SYMBOL342       = NULL;
    SECURITY_SYMBOL343       = NULL;
    set344       = NULL;
    VIEW_SYMBOL345       = NULL;
    AS_SYMBOL348       = NULL;
    WITH_SYMBOL350       = NULL;
    set351       = NULL;
    CHECK_SYMBOL352       = NULL;
    OPTION_SYMBOL353       = NULL;
    definer_clause341.tree = NULL;

    view_ref346.tree = NULL;

    identifier_list_with_parentheses347.tree = NULL;

    select_statement349.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALGORITHM_SYMBOL338_tree   = NULL;
    EQUAL_OPERATOR339_tree   = NULL;
    set340_tree   = NULL;
    SQL_SYMBOL342_tree   = NULL;
    SECURITY_SYMBOL343_tree   = NULL;
    set344_tree   = NULL;
    VIEW_SYMBOL345_tree   = NULL;
    AS_SYMBOL348_tree   = NULL;
    WITH_SYMBOL350_tree   = NULL;
    set351_tree   = NULL;
    CHECK_SYMBOL352_tree   = NULL;
    OPTION_SYMBOL353_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:527:11: ( ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )? ( definer_clause )? ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL view_ref ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? )
        // MySQL.g:528:2: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )? ( definer_clause )? ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL view_ref ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:528:2: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )?
            {
                int alt106=2;
                switch ( LA(1) )
                {
                    case ALGORITHM_SYMBOL:
                    	{
                    		alt106=1;
                    	}
                        break;
                }

                switch (alt106)
                {
            	case 1:
            	    // MySQL.g:528:3: ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL )
            	    {
            	        ALGORITHM_SYMBOL338 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_alter_view1976);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ALGORITHM_SYMBOL338_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALGORITHM_SYMBOL338));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ALGORITHM_SYMBOL338_tree);
            	        }

            	        EQUAL_OPERATOR339 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_view1978);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EQUAL_OPERATOR339_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR339));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR339_tree);
            	        }

            	        set340=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == MERGE_SYMBOL || LA(1) == TEMPTABLE_SYMBOL || LA(1) == UNDEFINED_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set340))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulealter_viewEx;
            	        }


            	    }
            	    break;

                }
            }

            // MySQL.g:529:3: ( definer_clause )?
            {
                int alt107=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt107=1;
                    	}
                        break;
                }

                switch (alt107)
                {
            	case 1:
            	    // MySQL.g:529:3: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_alter_view1996);
            	        definer_clause341=definer_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, definer_clause341.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:530:3: ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )?
            {
                int alt108=2;
                switch ( LA(1) )
                {
                    case SQL_SYMBOL:
                    	{
                    		alt108=1;
                    	}
                        break;
                }

                switch (alt108)
                {
            	case 1:
            	    // MySQL.g:530:4: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
            	    {
            	        SQL_SYMBOL342 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_alter_view2002);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQL_SYMBOL342_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL342));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL342_tree);
            	        }

            	        SECURITY_SYMBOL343 = (pANTLR3_COMMON_TOKEN) MATCHT(SECURITY_SYMBOL, &FOLLOW_SECURITY_SYMBOL_in_alter_view2004);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SECURITY_SYMBOL343_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECURITY_SYMBOL343));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SECURITY_SYMBOL343_tree);
            	        }

            	        set344=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == DEFINER_SYMBOL || LA(1) == INVOKER_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set344))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulealter_viewEx;
            	        }


            	    }
            	    break;

                }
            }

            VIEW_SYMBOL345 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_alter_view2018);
            if  (HASEXCEPTION())
            {
                goto rulealter_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            VIEW_SYMBOL345_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL345));
            ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL345_tree);
            }

            FOLLOWPUSH(FOLLOW_view_ref_in_alter_view2020);
            view_ref346=view_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_ref346.tree);

            // MySQL.g:531:24: ( identifier_list_with_parentheses )?
            {
                int alt109=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt109=1;
                    	}
                        break;
                }

                switch (alt109)
                {
            	case 1:
            	    // MySQL.g:531:24: identifier_list_with_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_alter_view2022);
            	        identifier_list_with_parentheses347=identifier_list_with_parentheses(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses347.tree);

            	    }
            	    break;

                }
            }

            AS_SYMBOL348 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_alter_view2025);
            if  (HASEXCEPTION())
            {
                goto rulealter_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AS_SYMBOL348_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL348));
            ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL348_tree);
            }

            FOLLOWPUSH(FOLLOW_select_statement_in_alter_view2027);
            select_statement349=select_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement349.tree);

            // MySQL.g:532:3: ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )?
            {
                int alt111=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt111=1;
                    	}
                        break;
                }

                switch (alt111)
                {
            	case 1:
            	    // MySQL.g:532:4: WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL350 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_alter_view2032);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL350_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL350));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL350_tree);
            	        }

            	        // MySQL.g:532:16: ( CASCADED_SYMBOL | LOCAL_SYMBOL )?
            	        {
            	            int alt110=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADED_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                	{
            	                		alt110=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt110)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set351=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == CASCADED_SYMBOL || LA(1) == LOCAL_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set351))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto rulealter_viewEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	        CHECK_SYMBOL352 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_alter_view2043);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CHECK_SYMBOL352_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL352));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL352_tree);
            	        }

            	        OPTION_SYMBOL353 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_alter_view2045);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL353_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL353));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL353_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_viewEx; /* Prevent compiler warnings */
    rulealter_viewEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_view */

/**
 * $ANTLR start create_statement
 * MySQL.g:540:1: create_statement : CREATE_SYMBOL ^ ( create_table_tail | create_index_tail | create_database_tail | ( definer_clause )? ({...}? => create_event_tail | create_view_tail | create_routine_or_udf | create_trigger_tail ) | view_replace_or_algorithm ( definer_clause )? create_view_tail | create_logfile_group_tail | create_server_tail | create_tablespace_tail ) ;
 */
static MySQLParser_create_statement_return
create_statement(pMySQLParser ctx)
{
    MySQLParser_create_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL354;
    MySQLParser_create_table_tail_return create_table_tail355;
    #undef	RETURN_TYPE_create_table_tail355
    #define	RETURN_TYPE_create_table_tail355 MySQLParser_create_table_tail_return

    MySQLParser_create_index_tail_return create_index_tail356;
    #undef	RETURN_TYPE_create_index_tail356
    #define	RETURN_TYPE_create_index_tail356 MySQLParser_create_index_tail_return

    MySQLParser_create_database_tail_return create_database_tail357;
    #undef	RETURN_TYPE_create_database_tail357
    #define	RETURN_TYPE_create_database_tail357 MySQLParser_create_database_tail_return

    MySQLParser_definer_clause_return definer_clause358;
    #undef	RETURN_TYPE_definer_clause358
    #define	RETURN_TYPE_definer_clause358 MySQLParser_definer_clause_return

    MySQLParser_create_event_tail_return create_event_tail359;
    #undef	RETURN_TYPE_create_event_tail359
    #define	RETURN_TYPE_create_event_tail359 MySQLParser_create_event_tail_return

    MySQLParser_create_view_tail_return create_view_tail360;
    #undef	RETURN_TYPE_create_view_tail360
    #define	RETURN_TYPE_create_view_tail360 MySQLParser_create_view_tail_return

    MySQLParser_create_routine_or_udf_return create_routine_or_udf361;
    #undef	RETURN_TYPE_create_routine_or_udf361
    #define	RETURN_TYPE_create_routine_or_udf361 MySQLParser_create_routine_or_udf_return

    MySQLParser_create_trigger_tail_return create_trigger_tail362;
    #undef	RETURN_TYPE_create_trigger_tail362
    #define	RETURN_TYPE_create_trigger_tail362 MySQLParser_create_trigger_tail_return

    MySQLParser_view_replace_or_algorithm_return view_replace_or_algorithm363;
    #undef	RETURN_TYPE_view_replace_or_algorithm363
    #define	RETURN_TYPE_view_replace_or_algorithm363 MySQLParser_view_replace_or_algorithm_return

    MySQLParser_definer_clause_return definer_clause364;
    #undef	RETURN_TYPE_definer_clause364
    #define	RETURN_TYPE_definer_clause364 MySQLParser_definer_clause_return

    MySQLParser_create_view_tail_return create_view_tail365;
    #undef	RETURN_TYPE_create_view_tail365
    #define	RETURN_TYPE_create_view_tail365 MySQLParser_create_view_tail_return

    MySQLParser_create_logfile_group_tail_return create_logfile_group_tail366;
    #undef	RETURN_TYPE_create_logfile_group_tail366
    #define	RETURN_TYPE_create_logfile_group_tail366 MySQLParser_create_logfile_group_tail_return

    MySQLParser_create_server_tail_return create_server_tail367;
    #undef	RETURN_TYPE_create_server_tail367
    #define	RETURN_TYPE_create_server_tail367 MySQLParser_create_server_tail_return

    MySQLParser_create_tablespace_tail_return create_tablespace_tail368;
    #undef	RETURN_TYPE_create_tablespace_tail368
    #define	RETURN_TYPE_create_tablespace_tail368 MySQLParser_create_tablespace_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL354_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL354       = NULL;
    create_table_tail355.tree = NULL;

    create_index_tail356.tree = NULL;

    create_database_tail357.tree = NULL;

    definer_clause358.tree = NULL;

    create_event_tail359.tree = NULL;

    create_view_tail360.tree = NULL;

    create_routine_or_udf361.tree = NULL;

    create_trigger_tail362.tree = NULL;

    view_replace_or_algorithm363.tree = NULL;

    definer_clause364.tree = NULL;

    create_view_tail365.tree = NULL;

    create_logfile_group_tail366.tree = NULL;

    create_server_tail367.tree = NULL;

    create_tablespace_tail368.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL354_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:540:17: ( CREATE_SYMBOL ^ ( create_table_tail | create_index_tail | create_database_tail | ( definer_clause )? ({...}? => create_event_tail | create_view_tail | create_routine_or_udf | create_trigger_tail ) | view_replace_or_algorithm ( definer_clause )? create_view_tail | create_logfile_group_tail | create_server_tail | create_tablespace_tail ) )
        // MySQL.g:541:2: CREATE_SYMBOL ^ ( create_table_tail | create_index_tail | create_database_tail | ( definer_clause )? ({...}? => create_event_tail | create_view_tail | create_routine_or_udf | create_trigger_tail ) | view_replace_or_algorithm ( definer_clause )? create_view_tail | create_logfile_group_tail | create_server_tail | create_tablespace_tail )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL354 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_statement2061);
            if  (HASEXCEPTION())
            {
                goto rulecreate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL354_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL354))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL354_tree, root_0));
            }

            // MySQL.g:542:2: ( create_table_tail | create_index_tail | create_database_tail | ( definer_clause )? ({...}? => create_event_tail | create_view_tail | create_routine_or_udf | create_trigger_tail ) | view_replace_or_algorithm ( definer_clause )? create_view_tail | create_logfile_group_tail | create_server_tail | create_tablespace_tail )
            {
                int alt115=8;
                {
                    int LA115_0 = LA(1);
                    if ( (LA115_0 == TEMPORARY_SYMBOL || LA115_0 == TABLE_SYMBOL))
                    {
                        alt115=1;
                    }
                    else if ( ((SERVER_VERSION < 50600)) && (((LA115_0 >= OFFLINE_SYMBOL) && (LA115_0 <= ONLINE_SYMBOL))))
                    {
                        alt115=2;
                    }
                    else if ( (LA115_0 == FULLTEXT_SYMBOL || LA115_0 == INDEX_SYMBOL || LA115_0 == SPATIAL_SYMBOL || LA115_0 == UNIQUE_SYMBOL))
                    {
                        alt115=2;
                    }
                    else if ( (LA115_0 == DATABASE_SYMBOL))
                    {
                        alt115=3;
                    }
                    else if ( (LA115_0 == DEFINER_SYMBOL))
                    {
                        alt115=4;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA115_0 == EVENT_SYMBOL))
                    {
                        alt115=4;
                    }
                    else if ( (LA115_0 == AGGREGATE_SYMBOL || LA115_0 == FUNCTION_SYMBOL || LA115_0 == VIEW_SYMBOL || LA115_0 == PROCEDURE_SYMBOL || LA115_0 == SQL_SYMBOL || LA115_0 == TRIGGER_SYMBOL))
                    {
                        alt115=4;
                    }
                    else if ( (LA115_0 == ALGORITHM_SYMBOL || LA115_0 == OR_SYMBOL))
                    {
                        alt115=5;
                    }
                    else if ( (LA115_0 == LOGFILE_SYMBOL))
                    {
                        alt115=6;
                    }
                    else if ( (LA115_0 == SERVER_SYMBOL))
                    {
                        alt115=7;
                    }
                    else if ( (LA115_0 == TABLESPACE_SYMBOL))
                    {
                        alt115=8;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 115;
                        EXCEPTION->state        = 0;


                        goto rulecreate_statementEx;

                    }
                }
                switch (alt115)
                {
            	case 1:
            	    // MySQL.g:543:3: create_table_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_create_table_tail_in_create_statement2069);
            	        create_table_tail355=create_table_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_tail355.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:544:5: create_index_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_create_index_tail_in_create_statement2075);
            	        create_index_tail356=create_index_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_index_tail356.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:545:5: create_database_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_create_database_tail_in_create_statement2081);
            	        create_database_tail357=create_database_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_database_tail357.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:546:5: ( definer_clause )? ({...}? => create_event_tail | create_view_tail | create_routine_or_udf | create_trigger_tail )
            	    {
            	        // MySQL.g:546:5: ( definer_clause )?
            	        {
            	            int alt112=2;
            	            switch ( LA(1) )
            	            {
            	                case DEFINER_SYMBOL:
            	                	{
            	                		alt112=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt112)
            	            {
            	        	case 1:
            	        	    // MySQL.g:546:5: definer_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_statement2087);
            	        	        definer_clause358=definer_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, definer_clause358.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:547:4: ({...}? => create_event_tail | create_view_tail | create_routine_or_udf | create_trigger_tail )
            	        {
            	            int alt113=4;
            	            {
            	                int LA113_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50100)) && (LA113_0 == EVENT_SYMBOL))
            	                {
            	                    alt113=1;
            	                }
            	                else if ( (LA113_0 == VIEW_SYMBOL || LA113_0 == SQL_SYMBOL))
            	                {
            	                    alt113=2;
            	                }
            	                else if ( (LA113_0 == AGGREGATE_SYMBOL || LA113_0 == FUNCTION_SYMBOL || LA113_0 == PROCEDURE_SYMBOL))
            	                {
            	                    alt113=3;
            	                }
            	                else if ( (LA113_0 == TRIGGER_SYMBOL))
            	                {
            	                    alt113=4;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 113;
            	                    EXCEPTION->state        = 0;


            	                    goto rulecreate_statementEx;

            	                }
            	            }
            	            switch (alt113)
            	            {
            	        	case 1:
            	        	    // MySQL.g:548:5: {...}? => create_event_tail
            	        	    {
            	        	        if ( !((SERVER_VERSION >= 50100)) )
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50100";
            	        	                EXCEPTION->ruleName	 = (void *)"create_statement";


            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_create_event_tail_in_create_statement2103);
            	        	        create_event_tail359=create_event_tail(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_event_tail359.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:549:7: create_view_tail
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_view_tail_in_create_statement2111);
            	        	        create_view_tail360=create_view_tail(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_view_tail360.tree);

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:550:7: create_routine_or_udf
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_routine_or_udf_in_create_statement2119);
            	        	        create_routine_or_udf361=create_routine_or_udf(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_routine_or_udf361.tree);

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:551:7: create_trigger_tail
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_trigger_tail_in_create_statement2127);
            	        	        create_trigger_tail362=create_trigger_tail(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_trigger_tail362.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:553:5: view_replace_or_algorithm ( definer_clause )? create_view_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_view_replace_or_algorithm_in_create_statement2138);
            	        view_replace_or_algorithm363=view_replace_or_algorithm(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_replace_or_algorithm363.tree);

            	        // MySQL.g:553:31: ( definer_clause )?
            	        {
            	            int alt114=2;
            	            switch ( LA(1) )
            	            {
            	                case DEFINER_SYMBOL:
            	                	{
            	                		alt114=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt114)
            	            {
            	        	case 1:
            	        	    // MySQL.g:553:31: definer_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_statement2140);
            	        	        definer_clause364=definer_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, definer_clause364.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_view_tail_in_create_statement2143);
            	        create_view_tail365=create_view_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_view_tail365.tree);

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:554:5: create_logfile_group_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_create_logfile_group_tail_in_create_statement2149);
            	        create_logfile_group_tail366=create_logfile_group_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_logfile_group_tail366.tree);

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:555:5: create_server_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_create_server_tail_in_create_statement2155);
            	        create_server_tail367=create_server_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_server_tail367.tree);

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:556:5: create_tablespace_tail
            	    {
            	        FOLLOWPUSH(FOLLOW_create_tablespace_tail_in_create_statement2161);
            	        create_tablespace_tail368=create_tablespace_tail(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_tablespace_tail368.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_statementEx; /* Prevent compiler warnings */
    rulecreate_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_statement */

/**
 * $ANTLR start create_database
 * MySQL.g:560:1: create_database : CREATE_SYMBOL ^ create_database_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_database_return
create_database(pMySQLParser ctx)
{
    MySQLParser_create_database_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL369;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL371;
    pANTLR3_COMMON_TOKEN    EOF372;
    MySQLParser_create_database_tail_return create_database_tail370;
    #undef	RETURN_TYPE_create_database_tail370
    #define	RETURN_TYPE_create_database_tail370 MySQLParser_create_database_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL369_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL371_tree;
    pANTLR3_BASE_TREE EOF372_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL369       = NULL;
    SEMICOLON_SYMBOL371       = NULL;
    EOF372       = NULL;
    create_database_tail370.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL369_tree   = NULL;
    SEMICOLON_SYMBOL371_tree   = NULL;
    EOF372_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:560:16: ( CREATE_SYMBOL ^ create_database_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:561:2: CREATE_SYMBOL ^ create_database_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL369 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_database2174);
            if  (HASEXCEPTION())
            {
                goto rulecreate_databaseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL369_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL369))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL369_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_create_database_tail_in_create_database2177);
            create_database_tail370=create_database_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_databaseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_database_tail370.tree);

            // MySQL.g:561:38: ( SEMICOLON_SYMBOL )?
            {
                int alt116=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt116=1;
                    	}
                        break;
                }

                switch (alt116)
                {
            	case 1:
            	    // MySQL.g:561:38: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL371 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_database2179);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_databaseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL371_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL371));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL371_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF372 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_database2182);
            if  (HASEXCEPTION())
            {
                goto rulecreate_databaseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF372_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF372));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF372_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_databaseEx; /* Prevent compiler warnings */
    rulecreate_databaseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_database */

/**
 * $ANTLR start create_database_tail
 * MySQL.g:564:1: create_database_tail : DATABASE_SYMBOL ( if_not_exists )? schema_name ( database_option )* ;
 */
static MySQLParser_create_database_tail_return
create_database_tail(pMySQLParser ctx)
{
    MySQLParser_create_database_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL373;
    MySQLParser_if_not_exists_return if_not_exists374;
    #undef	RETURN_TYPE_if_not_exists374
    #define	RETURN_TYPE_if_not_exists374 MySQLParser_if_not_exists_return

    MySQLParser_schema_name_return schema_name375;
    #undef	RETURN_TYPE_schema_name375
    #define	RETURN_TYPE_schema_name375 MySQLParser_schema_name_return

    MySQLParser_database_option_return database_option376;
    #undef	RETURN_TYPE_database_option376
    #define	RETURN_TYPE_database_option376 MySQLParser_database_option_return

    pANTLR3_BASE_TREE DATABASE_SYMBOL373_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATABASE_SYMBOL373       = NULL;
    if_not_exists374.tree = NULL;

    schema_name375.tree = NULL;

    database_option376.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATABASE_SYMBOL373_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:564:21: ( DATABASE_SYMBOL ( if_not_exists )? schema_name ( database_option )* )
        // MySQL.g:565:2: DATABASE_SYMBOL ( if_not_exists )? schema_name ( database_option )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DATABASE_SYMBOL373 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_create_database_tail2191);
            if  (HASEXCEPTION())
            {
                goto rulecreate_database_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DATABASE_SYMBOL373_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL373));
            ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL373_tree);
            }

            // MySQL.g:565:18: ( if_not_exists )?
            {
                int alt117=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt117=1;
                    	}
                        break;
                }

                switch (alt117)
                {
            	case 1:
            	    // MySQL.g:565:18: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_database_tail2193);
            	        if_not_exists374=if_not_exists(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_database_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_not_exists374.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_schema_name_in_create_database_tail2196);
            schema_name375=schema_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_database_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_name375.tree);

            // MySQL.g:565:45: ( database_option )*

            for (;;)
            {
                int alt118=2;
                switch ( LA(1) )
                {
                case CHAR_SYMBOL:
                case COLLATE_SYMBOL:
                case DEFAULT_SYMBOL:
                	{
                		alt118=1;
                	}
                    break;

                }

                switch (alt118)
                {
            	case 1:
            	    // MySQL.g:565:45: database_option
            	    {
            	        FOLLOWPUSH(FOLLOW_database_option_in_create_database_tail2198);
            	        database_option376=database_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_database_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, database_option376.tree);

            	    }
            	    break;

            	default:
            	    goto loop118;	/* break out of the loop */
            	    break;
                }
            }
            loop118: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_database_tailEx; /* Prevent compiler warnings */
    rulecreate_database_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_database_tail */

/**
 * $ANTLR start create_with_definer
 * MySQL.g:568:1: create_with_definer : CREATE_SYMBOL ^ ( definer_clause )? ;
 */
static MySQLParser_create_with_definer_return
create_with_definer(pMySQLParser ctx)
{
    MySQLParser_create_with_definer_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL377;
    MySQLParser_definer_clause_return definer_clause378;
    #undef	RETURN_TYPE_definer_clause378
    #define	RETURN_TYPE_definer_clause378 MySQLParser_definer_clause_return

    pANTLR3_BASE_TREE CREATE_SYMBOL377_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL377       = NULL;
    definer_clause378.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL377_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:568:20: ( CREATE_SYMBOL ^ ( definer_clause )? )
        // MySQL.g:569:2: CREATE_SYMBOL ^ ( definer_clause )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL377 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_with_definer2208);
            if  (HASEXCEPTION())
            {
                goto rulecreate_with_definerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL377_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL377))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL377_tree, root_0));
            }

            // MySQL.g:569:17: ( definer_clause )?
            {
                int alt119=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt119=1;
                    	}
                        break;
                }

                switch (alt119)
                {
            	case 1:
            	    // MySQL.g:569:17: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_with_definer2211);
            	        definer_clause378=definer_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_with_definerEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, definer_clause378.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_with_definerEx; /* Prevent compiler warnings */
    rulecreate_with_definerEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_with_definer */

/**
 * $ANTLR start create_event
 * MySQL.g:572:1: create_event : create_with_definer create_event_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_event_return
create_event(pMySQLParser ctx)
{
    MySQLParser_create_event_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL381;
    pANTLR3_COMMON_TOKEN    EOF382;
    MySQLParser_create_with_definer_return create_with_definer379;
    #undef	RETURN_TYPE_create_with_definer379
    #define	RETURN_TYPE_create_with_definer379 MySQLParser_create_with_definer_return

    MySQLParser_create_event_tail_return create_event_tail380;
    #undef	RETURN_TYPE_create_event_tail380
    #define	RETURN_TYPE_create_event_tail380 MySQLParser_create_event_tail_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL381_tree;
    pANTLR3_BASE_TREE EOF382_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL381       = NULL;
    EOF382       = NULL;
    create_with_definer379.tree = NULL;

    create_event_tail380.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL381_tree   = NULL;
    EOF382_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:572:13: ( create_with_definer create_event_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:573:2: create_with_definer create_event_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_with_definer_in_create_event2222);
            create_with_definer379=create_with_definer(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_with_definer379.tree);

            FOLLOWPUSH(FOLLOW_create_event_tail_in_create_event2224);
            create_event_tail380=create_event_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_event_tail380.tree);

            // MySQL.g:573:40: ( SEMICOLON_SYMBOL )?
            {
                int alt120=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt120=1;
                    	}
                        break;
                }

                switch (alt120)
                {
            	case 1:
            	    // MySQL.g:573:40: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL381 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_event2226);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL381_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL381));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL381_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF382 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_event2229);
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF382_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF382));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF382_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_eventEx; /* Prevent compiler warnings */
    rulecreate_eventEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_event */

/**
 * $ANTLR start create_event_tail
 * MySQL.g:576:1: create_event_tail : EVENT_SYMBOL ( if_not_exists )? event_name ON_SYMBOL SCHEDULE_SYMBOL schedule ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )? ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )? ( COMMENT_SYMBOL string_literal )? DO_SYMBOL compound_statement ;
 */
static MySQLParser_create_event_tail_return
create_event_tail(pMySQLParser ctx)
{
    MySQLParser_create_event_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL383;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL386;
    pANTLR3_COMMON_TOKEN    SCHEDULE_SYMBOL387;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL389;
    pANTLR3_COMMON_TOKEN    COMPLETION_SYMBOL390;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL391;
    pANTLR3_COMMON_TOKEN    PRESERVE_SYMBOL392;
    pANTLR3_COMMON_TOKEN    ENABLE_SYMBOL393;
    pANTLR3_COMMON_TOKEN    DISABLE_SYMBOL394;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL395;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL396;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL397;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL399;
    MySQLParser_if_not_exists_return if_not_exists384;
    #undef	RETURN_TYPE_if_not_exists384
    #define	RETURN_TYPE_if_not_exists384 MySQLParser_if_not_exists_return

    MySQLParser_event_name_return event_name385;
    #undef	RETURN_TYPE_event_name385
    #define	RETURN_TYPE_event_name385 MySQLParser_event_name_return

    MySQLParser_schedule_return schedule388;
    #undef	RETURN_TYPE_schedule388
    #define	RETURN_TYPE_schedule388 MySQLParser_schedule_return

    MySQLParser_string_literal_return string_literal398;
    #undef	RETURN_TYPE_string_literal398
    #define	RETURN_TYPE_string_literal398 MySQLParser_string_literal_return

    MySQLParser_compound_statement_return compound_statement400;
    #undef	RETURN_TYPE_compound_statement400
    #define	RETURN_TYPE_compound_statement400 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE EVENT_SYMBOL383_tree;
    pANTLR3_BASE_TREE ON_SYMBOL386_tree;
    pANTLR3_BASE_TREE SCHEDULE_SYMBOL387_tree;
    pANTLR3_BASE_TREE ON_SYMBOL389_tree;
    pANTLR3_BASE_TREE COMPLETION_SYMBOL390_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL391_tree;
    pANTLR3_BASE_TREE PRESERVE_SYMBOL392_tree;
    pANTLR3_BASE_TREE ENABLE_SYMBOL393_tree;
    pANTLR3_BASE_TREE DISABLE_SYMBOL394_tree;
    pANTLR3_BASE_TREE ON_SYMBOL395_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL396_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL397_tree;
    pANTLR3_BASE_TREE DO_SYMBOL399_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EVENT_SYMBOL383       = NULL;
    ON_SYMBOL386       = NULL;
    SCHEDULE_SYMBOL387       = NULL;
    ON_SYMBOL389       = NULL;
    COMPLETION_SYMBOL390       = NULL;
    NOT_SYMBOL391       = NULL;
    PRESERVE_SYMBOL392       = NULL;
    ENABLE_SYMBOL393       = NULL;
    DISABLE_SYMBOL394       = NULL;
    ON_SYMBOL395       = NULL;
    SLAVE_SYMBOL396       = NULL;
    COMMENT_SYMBOL397       = NULL;
    DO_SYMBOL399       = NULL;
    if_not_exists384.tree = NULL;

    event_name385.tree = NULL;

    schedule388.tree = NULL;

    string_literal398.tree = NULL;

    compound_statement400.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EVENT_SYMBOL383_tree   = NULL;
    ON_SYMBOL386_tree   = NULL;
    SCHEDULE_SYMBOL387_tree   = NULL;
    ON_SYMBOL389_tree   = NULL;
    COMPLETION_SYMBOL390_tree   = NULL;
    NOT_SYMBOL391_tree   = NULL;
    PRESERVE_SYMBOL392_tree   = NULL;
    ENABLE_SYMBOL393_tree   = NULL;
    DISABLE_SYMBOL394_tree   = NULL;
    ON_SYMBOL395_tree   = NULL;
    SLAVE_SYMBOL396_tree   = NULL;
    COMMENT_SYMBOL397_tree   = NULL;
    DO_SYMBOL399_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:576:18: ( EVENT_SYMBOL ( if_not_exists )? event_name ON_SYMBOL SCHEDULE_SYMBOL schedule ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )? ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )? ( COMMENT_SYMBOL string_literal )? DO_SYMBOL compound_statement )
        // MySQL.g:577:2: EVENT_SYMBOL ( if_not_exists )? event_name ON_SYMBOL SCHEDULE_SYMBOL schedule ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )? ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )? ( COMMENT_SYMBOL string_literal )? DO_SYMBOL compound_statement
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            EVENT_SYMBOL383 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_create_event_tail2238);
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EVENT_SYMBOL383_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENT_SYMBOL383));
            ADAPTOR->addChild(ADAPTOR, root_0, EVENT_SYMBOL383_tree);
            }

            // MySQL.g:577:15: ( if_not_exists )?
            {
                int alt121=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt121=1;
                    	}
                        break;
                }

                switch (alt121)
                {
            	case 1:
            	    // MySQL.g:577:15: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_event_tail2240);
            	        if_not_exists384=if_not_exists(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_not_exists384.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_event_name_in_create_event_tail2243);
            event_name385=event_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, event_name385.tree);

            ON_SYMBOL386 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event_tail2245);
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL386_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL386));
            ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL386_tree);
            }

            SCHEDULE_SYMBOL387 = (pANTLR3_COMMON_TOKEN) MATCHT(SCHEDULE_SYMBOL, &FOLLOW_SCHEDULE_SYMBOL_in_create_event_tail2247);
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SCHEDULE_SYMBOL387_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SCHEDULE_SYMBOL387));
            ADAPTOR->addChild(ADAPTOR, root_0, SCHEDULE_SYMBOL387_tree);
            }

            FOLLOWPUSH(FOLLOW_schedule_in_create_event_tail2249);
            schedule388=schedule(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schedule388.tree);

            // MySQL.g:578:3: ( ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL )?
            {
                int alt123=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt123=1;
                    	}
                        break;
                }

                switch (alt123)
                {
            	case 1:
            	    // MySQL.g:578:4: ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL
            	    {
            	        ON_SYMBOL389 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event_tail2254);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL389_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL389));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL389_tree);
            	        }

            	        COMPLETION_SYMBOL390 = (pANTLR3_COMMON_TOKEN) MATCHT(COMPLETION_SYMBOL, &FOLLOW_COMPLETION_SYMBOL_in_create_event_tail2256);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMPLETION_SYMBOL390_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMPLETION_SYMBOL390));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMPLETION_SYMBOL390_tree);
            	        }

            	        // MySQL.g:578:32: ( NOT_SYMBOL )?
            	        {
            	            int alt122=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt122=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt122)
            	            {
            	        	case 1:
            	        	    // MySQL.g:578:32: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL391 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_create_event_tail2258);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_event_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NOT_SYMBOL391_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL391));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL391_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        PRESERVE_SYMBOL392 = (pANTLR3_COMMON_TOKEN) MATCHT(PRESERVE_SYMBOL, &FOLLOW_PRESERVE_SYMBOL_in_create_event_tail2261);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PRESERVE_SYMBOL392_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRESERVE_SYMBOL392));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PRESERVE_SYMBOL392_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:579:3: ( ENABLE_SYMBOL | DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )? )?
            {
                int alt125=3;
                switch ( LA(1) )
                {
                    case ENABLE_SYMBOL:
                    	{
                    		alt125=1;
                    	}
                        break;
                    case DISABLE_SYMBOL:
                    	{
                    		alt125=2;
                    	}
                        break;
                }

                switch (alt125)
                {
            	case 1:
            	    // MySQL.g:579:4: ENABLE_SYMBOL
            	    {
            	        ENABLE_SYMBOL393 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_create_event_tail2268);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENABLE_SYMBOL393_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENABLE_SYMBOL393));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENABLE_SYMBOL393_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:579:20: DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )?
            	    {
            	        DISABLE_SYMBOL394 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_create_event_tail2272);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DISABLE_SYMBOL394_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISABLE_SYMBOL394));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DISABLE_SYMBOL394_tree);
            	        }

            	        // MySQL.g:579:35: ( ON_SYMBOL SLAVE_SYMBOL )?
            	        {
            	            int alt124=2;
            	            switch ( LA(1) )
            	            {
            	                case ON_SYMBOL:
            	                	{
            	                		alt124=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt124)
            	            {
            	        	case 1:
            	        	    // MySQL.g:579:36: ON_SYMBOL SLAVE_SYMBOL
            	        	    {
            	        	        ON_SYMBOL395 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event_tail2275);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_event_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ON_SYMBOL395_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL395));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL395_tree);
            	        	        }

            	        	        SLAVE_SYMBOL396 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_create_event_tail2277);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_event_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SLAVE_SYMBOL396_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL396));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL396_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:580:3: ( COMMENT_SYMBOL string_literal )?
            {
                int alt126=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt126=1;
                    	}
                        break;
                }

                switch (alt126)
                {
            	case 1:
            	    // MySQL.g:580:4: COMMENT_SYMBOL string_literal
            	    {
            	        COMMENT_SYMBOL397 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_event_tail2286);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL397_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL397));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL397_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_create_event_tail2288);
            	        string_literal398=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_event_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal398.tree);

            	    }
            	    break;

                }
            }

            DO_SYMBOL399 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_create_event_tail2294);
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DO_SYMBOL399_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL399));
            ADAPTOR->addChild(ADAPTOR, root_0, DO_SYMBOL399_tree);
            }

            FOLLOWPUSH(FOLLOW_compound_statement_in_create_event_tail2296);
            compound_statement400=compound_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_event_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement400.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_event_tailEx; /* Prevent compiler warnings */
    rulecreate_event_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_event_tail */

/**
 * $ANTLR start create_routine
 * MySQL.g:584:1: create_routine : create_with_definer create_routine_or_udf ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_routine_return
create_routine(pMySQLParser ctx)
{
    MySQLParser_create_routine_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL403;
    pANTLR3_COMMON_TOKEN    EOF404;
    MySQLParser_create_with_definer_return create_with_definer401;
    #undef	RETURN_TYPE_create_with_definer401
    #define	RETURN_TYPE_create_with_definer401 MySQLParser_create_with_definer_return

    MySQLParser_create_routine_or_udf_return create_routine_or_udf402;
    #undef	RETURN_TYPE_create_routine_or_udf402
    #define	RETURN_TYPE_create_routine_or_udf402 MySQLParser_create_routine_or_udf_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL403_tree;
    pANTLR3_BASE_TREE EOF404_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL403       = NULL;
    EOF404       = NULL;
    create_with_definer401.tree = NULL;

    create_routine_or_udf402.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL403_tree   = NULL;
    EOF404_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:584:15: ( create_with_definer create_routine_or_udf ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:585:2: create_with_definer create_routine_or_udf ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_with_definer_in_create_routine2306);
            create_with_definer401=create_with_definer(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_routineEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_with_definer401.tree);

            FOLLOWPUSH(FOLLOW_create_routine_or_udf_in_create_routine2308);
            create_routine_or_udf402=create_routine_or_udf(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_routineEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_routine_or_udf402.tree);

            // MySQL.g:585:44: ( SEMICOLON_SYMBOL )?
            {
                int alt127=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt127=1;
                    	}
                        break;
                }

                switch (alt127)
                {
            	case 1:
            	    // MySQL.g:585:44: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL403 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_routine2310);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_routineEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL403_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL403));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL403_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF404 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_routine2313);
            if  (HASEXCEPTION())
            {
                goto rulecreate_routineEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF404_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF404));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF404_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_routineEx; /* Prevent compiler warnings */
    rulecreate_routineEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_routine */

/**
 * $ANTLR start create_procedure
 * MySQL.g:588:1: create_procedure : create_with_definer procedure_body ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_procedure_return
create_procedure(pMySQLParser ctx)
{
    MySQLParser_create_procedure_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL407;
    pANTLR3_COMMON_TOKEN    EOF408;
    MySQLParser_create_with_definer_return create_with_definer405;
    #undef	RETURN_TYPE_create_with_definer405
    #define	RETURN_TYPE_create_with_definer405 MySQLParser_create_with_definer_return

    MySQLParser_procedure_body_return procedure_body406;
    #undef	RETURN_TYPE_procedure_body406
    #define	RETURN_TYPE_procedure_body406 MySQLParser_procedure_body_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL407_tree;
    pANTLR3_BASE_TREE EOF408_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL407       = NULL;
    EOF408       = NULL;
    create_with_definer405.tree = NULL;

    procedure_body406.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL407_tree   = NULL;
    EOF408_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:588:17: ( create_with_definer procedure_body ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:589:2: create_with_definer procedure_body ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_with_definer_in_create_procedure2323);
            create_with_definer405=create_with_definer(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_procedureEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_with_definer405.tree);

            FOLLOWPUSH(FOLLOW_procedure_body_in_create_procedure2325);
            procedure_body406=procedure_body(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_procedureEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_body406.tree);

            // MySQL.g:589:37: ( SEMICOLON_SYMBOL )?
            {
                int alt128=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt128=1;
                    	}
                        break;
                }

                switch (alt128)
                {
            	case 1:
            	    // MySQL.g:589:37: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL407 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_procedure2327);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_procedureEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL407_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL407));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL407_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF408 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_procedure2330);
            if  (HASEXCEPTION())
            {
                goto rulecreate_procedureEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF408_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF408));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF408_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_procedureEx; /* Prevent compiler warnings */
    rulecreate_procedureEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_procedure */

/**
 * $ANTLR start create_function
 * MySQL.g:592:1: create_function : create_with_definer function_body ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_function_return
create_function(pMySQLParser ctx)
{
    MySQLParser_create_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL411;
    pANTLR3_COMMON_TOKEN    EOF412;
    MySQLParser_create_with_definer_return create_with_definer409;
    #undef	RETURN_TYPE_create_with_definer409
    #define	RETURN_TYPE_create_with_definer409 MySQLParser_create_with_definer_return

    MySQLParser_function_body_return function_body410;
    #undef	RETURN_TYPE_function_body410
    #define	RETURN_TYPE_function_body410 MySQLParser_function_body_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL411_tree;
    pANTLR3_BASE_TREE EOF412_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL411       = NULL;
    EOF412       = NULL;
    create_with_definer409.tree = NULL;

    function_body410.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL411_tree   = NULL;
    EOF412_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:592:16: ( create_with_definer function_body ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:593:2: create_with_definer function_body ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_with_definer_in_create_function2340);
            create_with_definer409=create_with_definer(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_with_definer409.tree);

            FOLLOWPUSH(FOLLOW_function_body_in_create_function2342);
            function_body410=function_body(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_body410.tree);

            // MySQL.g:593:36: ( SEMICOLON_SYMBOL )?
            {
                int alt129=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt129=1;
                    	}
                        break;
                }

                switch (alt129)
                {
            	case 1:
            	    // MySQL.g:593:36: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL411 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_function2344);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL411_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL411));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL411_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF412 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_function2347);
            if  (HASEXCEPTION())
            {
                goto rulecreate_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF412_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF412));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF412_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_functionEx; /* Prevent compiler warnings */
    rulecreate_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_function */

/**
 * $ANTLR start create_routine_or_udf
 * MySQL.g:596:1: create_routine_or_udf : ( procedure_body | function_body );
 */
static MySQLParser_create_routine_or_udf_return
create_routine_or_udf(pMySQLParser ctx)
{
    MySQLParser_create_routine_or_udf_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_procedure_body_return procedure_body413;
    #undef	RETURN_TYPE_procedure_body413
    #define	RETURN_TYPE_procedure_body413 MySQLParser_procedure_body_return

    MySQLParser_function_body_return function_body414;
    #undef	RETURN_TYPE_function_body414
    #define	RETURN_TYPE_function_body414 MySQLParser_function_body_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    procedure_body413.tree = NULL;

    function_body414.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:596:22: ( procedure_body | function_body )

            ANTLR3_UINT32 alt130;

            alt130=2;

            switch ( LA(1) )
            {
            case PROCEDURE_SYMBOL:
            	{
            		alt130=1;
            	}
                break;
            case AGGREGATE_SYMBOL:
            case FUNCTION_SYMBOL:
            	{
            		alt130=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 130;
                EXCEPTION->state        = 0;


                goto rulecreate_routine_or_udfEx;

            }

            switch (alt130)
            {
        	case 1:
        	    // MySQL.g:597:2: procedure_body
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_procedure_body_in_create_routine_or_udf2356);
        	        procedure_body413=procedure_body(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_body413.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:598:4: function_body
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_function_body_in_create_routine_or_udf2361);
        	        function_body414=function_body(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_body414.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecreate_routine_or_udfEx; /* Prevent compiler warnings */
    rulecreate_routine_or_udfEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_routine_or_udf */

/**
 * $ANTLR start procedure_body
 * MySQL.g:601:1: procedure_body : PROCEDURE_SYMBOL procedure_name OPEN_PAR_SYMBOL ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )? CLOSE_PAR_SYMBOL ( routine_create_options )? compound_statement ;
 */
static MySQLParser_procedure_body_return
procedure_body(pMySQLParser ctx)
{
    MySQLParser_procedure_body_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL415;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL417;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL419;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL421;
    MySQLParser_procedure_name_return procedure_name416;
    #undef	RETURN_TYPE_procedure_name416
    #define	RETURN_TYPE_procedure_name416 MySQLParser_procedure_name_return

    MySQLParser_procedure_parameter_return procedure_parameter418;
    #undef	RETURN_TYPE_procedure_parameter418
    #define	RETURN_TYPE_procedure_parameter418 MySQLParser_procedure_parameter_return

    MySQLParser_procedure_parameter_return procedure_parameter420;
    #undef	RETURN_TYPE_procedure_parameter420
    #define	RETURN_TYPE_procedure_parameter420 MySQLParser_procedure_parameter_return

    MySQLParser_routine_create_options_return routine_create_options422;
    #undef	RETURN_TYPE_routine_create_options422
    #define	RETURN_TYPE_routine_create_options422 MySQLParser_routine_create_options_return

    MySQLParser_compound_statement_return compound_statement423;
    #undef	RETURN_TYPE_compound_statement423
    #define	RETURN_TYPE_compound_statement423 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE PROCEDURE_SYMBOL415_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL417_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL419_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL421_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PROCEDURE_SYMBOL415       = NULL;
    OPEN_PAR_SYMBOL417       = NULL;
    COMMA_SYMBOL419       = NULL;
    CLOSE_PAR_SYMBOL421       = NULL;
    procedure_name416.tree = NULL;

    procedure_parameter418.tree = NULL;

    procedure_parameter420.tree = NULL;

    routine_create_options422.tree = NULL;

    compound_statement423.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PROCEDURE_SYMBOL415_tree   = NULL;
    OPEN_PAR_SYMBOL417_tree   = NULL;
    COMMA_SYMBOL419_tree   = NULL;
    CLOSE_PAR_SYMBOL421_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:601:15: ( PROCEDURE_SYMBOL procedure_name OPEN_PAR_SYMBOL ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )? CLOSE_PAR_SYMBOL ( routine_create_options )? compound_statement )
        // MySQL.g:602:2: PROCEDURE_SYMBOL procedure_name OPEN_PAR_SYMBOL ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )? CLOSE_PAR_SYMBOL ( routine_create_options )? compound_statement
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            PROCEDURE_SYMBOL415 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_procedure_body2370);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PROCEDURE_SYMBOL415_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL415));
            ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL415_tree);
            }

            FOLLOWPUSH(FOLLOW_procedure_name_in_procedure_body2372);
            procedure_name416=procedure_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_name416.tree);

            OPEN_PAR_SYMBOL417 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_procedure_body2374);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL417_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL417));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL417_tree);
            }

            // MySQL.g:602:50: ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )?
            {
                int alt132=2;
                {
                    int LA132_0 = LA(1);
                    if ( (LA132_0 == BACK_TICK_QUOTED_ID || LA132_0 == IDENTIFIER || LA132_0 == INOUT_SYMBOL || LA132_0 == IN_SYMBOL || LA132_0 == OUT_SYMBOL))
                    {
                        alt132=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA132_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt132=1;
                    }
                    else if ( (((LA132_0 >= ASCII_SYMBOL) && (LA132_0 <= YEAR_SYMBOL))))
                    {
                        alt132=1;
                    }
                }
                switch (alt132)
                {
            	case 1:
            	    // MySQL.g:602:51: procedure_parameter ( COMMA_SYMBOL procedure_parameter )*
            	    {
            	        FOLLOWPUSH(FOLLOW_procedure_parameter_in_procedure_body2377);
            	        procedure_parameter418=procedure_parameter(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprocedure_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_parameter418.tree);

            	        // MySQL.g:602:71: ( COMMA_SYMBOL procedure_parameter )*

            	        for (;;)
            	        {
            	            int alt131=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt131=1;
            	            	}
            	                break;

            	            }

            	            switch (alt131)
            	            {
            	        	case 1:
            	        	    // MySQL.g:602:72: COMMA_SYMBOL procedure_parameter
            	        	    {
            	        	        COMMA_SYMBOL419 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_procedure_body2380);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprocedure_bodyEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL419_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL419));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL419_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_procedure_parameter_in_procedure_body2382);
            	        	        procedure_parameter420=procedure_parameter(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprocedure_bodyEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_parameter420.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop131;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop131: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL421 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_body2388);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL421_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL421));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL421_tree);
            }

            // MySQL.g:603:3: ( routine_create_options )?
            {
                int alt133=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    case CONTAINS_SYMBOL:
                    case LANGUAGE_SYMBOL:
                    case NO_SYMBOL:
                    case DETERMINISTIC_SYMBOL:
                    case MODIFIES_SYMBOL:
                    case NOT_SYMBOL:
                    case READS_SYMBOL:
                    case SQL_SYMBOL:
                    	{
                    		alt133=1;
                    	}
                        break;
                }

                switch (alt133)
                {
            	case 1:
            	    // MySQL.g:603:3: routine_create_options
            	    {
            	        FOLLOWPUSH(FOLLOW_routine_create_options_in_procedure_body2392);
            	        routine_create_options422=routine_create_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprocedure_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, routine_create_options422.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_compound_statement_in_procedure_body2395);
            compound_statement423=compound_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement423.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprocedure_bodyEx; /* Prevent compiler warnings */
    ruleprocedure_bodyEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end procedure_body */

/**
 * $ANTLR start function_body
 * MySQL.g:606:1: function_body : ( FUNCTION_SYMBOL ( function_name OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_options )? compound_statement | udf_tail ) | AGGREGATE_SYMBOL FUNCTION_SYMBOL udf_tail );
 */
static MySQLParser_function_body_return
function_body(pMySQLParser ctx)
{
    MySQLParser_function_body_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL424;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL426;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL428;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL430;
    pANTLR3_COMMON_TOKEN    RETURNS_SYMBOL431;
    pANTLR3_COMMON_TOKEN    AGGREGATE_SYMBOL436;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL437;
    MySQLParser_function_name_return function_name425;
    #undef	RETURN_TYPE_function_name425
    #define	RETURN_TYPE_function_name425 MySQLParser_function_name_return

    MySQLParser_function_parameter_return function_parameter427;
    #undef	RETURN_TYPE_function_parameter427
    #define	RETURN_TYPE_function_parameter427 MySQLParser_function_parameter_return

    MySQLParser_function_parameter_return function_parameter429;
    #undef	RETURN_TYPE_function_parameter429
    #define	RETURN_TYPE_function_parameter429 MySQLParser_function_parameter_return

    MySQLParser_data_type_return data_type432;
    #undef	RETURN_TYPE_data_type432
    #define	RETURN_TYPE_data_type432 MySQLParser_data_type_return

    MySQLParser_routine_create_options_return routine_create_options433;
    #undef	RETURN_TYPE_routine_create_options433
    #define	RETURN_TYPE_routine_create_options433 MySQLParser_routine_create_options_return

    MySQLParser_compound_statement_return compound_statement434;
    #undef	RETURN_TYPE_compound_statement434
    #define	RETURN_TYPE_compound_statement434 MySQLParser_compound_statement_return

    MySQLParser_udf_tail_return udf_tail435;
    #undef	RETURN_TYPE_udf_tail435
    #define	RETURN_TYPE_udf_tail435 MySQLParser_udf_tail_return

    MySQLParser_udf_tail_return udf_tail438;
    #undef	RETURN_TYPE_udf_tail438
    #define	RETURN_TYPE_udf_tail438 MySQLParser_udf_tail_return

    pANTLR3_BASE_TREE FUNCTION_SYMBOL424_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL426_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL428_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL430_tree;
    pANTLR3_BASE_TREE RETURNS_SYMBOL431_tree;
    pANTLR3_BASE_TREE AGGREGATE_SYMBOL436_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL437_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FUNCTION_SYMBOL424       = NULL;
    OPEN_PAR_SYMBOL426       = NULL;
    COMMA_SYMBOL428       = NULL;
    CLOSE_PAR_SYMBOL430       = NULL;
    RETURNS_SYMBOL431       = NULL;
    AGGREGATE_SYMBOL436       = NULL;
    FUNCTION_SYMBOL437       = NULL;
    function_name425.tree = NULL;

    function_parameter427.tree = NULL;

    function_parameter429.tree = NULL;

    data_type432.tree = NULL;

    routine_create_options433.tree = NULL;

    compound_statement434.tree = NULL;

    udf_tail435.tree = NULL;

    udf_tail438.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FUNCTION_SYMBOL424_tree   = NULL;
    OPEN_PAR_SYMBOL426_tree   = NULL;
    COMMA_SYMBOL428_tree   = NULL;
    CLOSE_PAR_SYMBOL430_tree   = NULL;
    RETURNS_SYMBOL431_tree   = NULL;
    AGGREGATE_SYMBOL436_tree   = NULL;
    FUNCTION_SYMBOL437_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:606:14: ( FUNCTION_SYMBOL ( function_name OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_options )? compound_statement | udf_tail ) | AGGREGATE_SYMBOL FUNCTION_SYMBOL udf_tail )

            ANTLR3_UINT32 alt138;

            alt138=2;

            switch ( LA(1) )
            {
            case FUNCTION_SYMBOL:
            	{
            		alt138=1;
            	}
                break;
            case AGGREGATE_SYMBOL:
            	{
            		alt138=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 138;
                EXCEPTION->state        = 0;


                goto rulefunction_bodyEx;

            }

            switch (alt138)
            {
        	case 1:
        	    // MySQL.g:607:2: FUNCTION_SYMBOL ( function_name OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_options )? compound_statement | udf_tail )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FUNCTION_SYMBOL424 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_function_body2405);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_bodyEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FUNCTION_SYMBOL424_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL424));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL424_tree);
        	        }

        	        // MySQL.g:608:2: ( function_name OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_options )? compound_statement | udf_tail )
        	        {
        	            int alt137=2;
        	            {
        	                int LA137_0 = LA(1);
        	                if ( (LA137_0 == IDENTIFIER))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt137=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt137=2;
        	                    	}
        	                        break;

        	                    default:
        	                        if (BACKTRACKING>0)
        	                        {
        	                            FAILEDFLAG = ANTLR3_TRUE;
        	                            return retval;
        	                        }

        	                        CONSTRUCTEX();
        	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                        EXCEPTION->message      = (void *)"";
        	                        EXCEPTION->decisionNum  = 137;
        	                        EXCEPTION->state        = 1;


        	                        goto rulefunction_bodyEx;

        	                    }

        	                }
        	                else if ( (LA137_0 == BACK_TICK_QUOTED_ID))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt137=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt137=2;
        	                    	}
        	                        break;

        	                    default:
        	                        if (BACKTRACKING>0)
        	                        {
        	                            FAILEDFLAG = ANTLR3_TRUE;
        	                            return retval;
        	                        }

        	                        CONSTRUCTEX();
        	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                        EXCEPTION->message      = (void *)"";
        	                        EXCEPTION->decisionNum  = 137;
        	                        EXCEPTION->state        = 2;


        	                        goto rulefunction_bodyEx;

        	                    }

        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA137_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    {
        	                        int LA137_3 = LA(2);
        	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA137_3 == DOT_SYMBOL || LA137_3 == OPEN_PAR_SYMBOL))
        	                        {
        	                            alt137=1;
        	                        }
        	                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA137_3 == RETURNS_SYMBOL))
        	                        {
        	                            alt137=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 137;
        	                            EXCEPTION->state        = 3;


        	                            goto rulefunction_bodyEx;

        	                        }
        	                    }
        	                }
        	                else if ( (((LA137_0 >= ACTION_SYMBOL) && (LA137_0 <= YEAR_SYMBOL))))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt137=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt137=2;
        	                    	}
        	                        break;

        	                    default:
        	                        if (BACKTRACKING>0)
        	                        {
        	                            FAILEDFLAG = ANTLR3_TRUE;
        	                            return retval;
        	                        }

        	                        CONSTRUCTEX();
        	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                        EXCEPTION->message      = (void *)"";
        	                        EXCEPTION->decisionNum  = 137;
        	                        EXCEPTION->state        = 4;


        	                        goto rulefunction_bodyEx;

        	                    }

        	                }
        	                else if ( (((LA137_0 >= ASCII_SYMBOL) && (LA137_0 <= XA_SYMBOL))))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt137=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt137=2;
        	                    	}
        	                        break;

        	                    default:
        	                        if (BACKTRACKING>0)
        	                        {
        	                            FAILEDFLAG = ANTLR3_TRUE;
        	                            return retval;
        	                        }

        	                        CONSTRUCTEX();
        	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                        EXCEPTION->message      = (void *)"";
        	                        EXCEPTION->decisionNum  = 137;
        	                        EXCEPTION->state        = 5;


        	                        goto rulefunction_bodyEx;

        	                    }

        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 137;
        	                    EXCEPTION->state        = 0;


        	                    goto rulefunction_bodyEx;

        	                }
        	            }
        	            switch (alt137)
        	            {
        	        	case 1:
        	        	    // MySQL.g:609:3: function_name OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_options )? compound_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_function_name_in_function_body2412);
        	        	        function_name425=function_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_name425.tree);

        	        	        OPEN_PAR_SYMBOL426 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_body2414);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPEN_PAR_SYMBOL426_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL426));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL426_tree);
        	        	        }

        	        	        // MySQL.g:609:33: ( function_parameter ( COMMA_SYMBOL function_parameter )* )?
        	        	        {
        	        	            int alt135=2;
        	        	            {
        	        	                int LA135_0 = LA(1);
        	        	                if ( (LA135_0 == BACK_TICK_QUOTED_ID || LA135_0 == IDENTIFIER))
        	        	                {
        	        	                    alt135=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA135_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt135=1;
        	        	                }
        	        	                else if ( (((LA135_0 >= ASCII_SYMBOL) && (LA135_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt135=1;
        	        	                }
        	        	            }
        	        	            switch (alt135)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:609:34: function_parameter ( COMMA_SYMBOL function_parameter )*
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_function_parameter_in_function_body2417);
        	        	        	        function_parameter427=function_parameter(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_bodyEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_parameter427.tree);

        	        	        	        // MySQL.g:609:53: ( COMMA_SYMBOL function_parameter )*

        	        	        	        for (;;)
        	        	        	        {
        	        	        	            int alt134=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	            case COMMA_SYMBOL:
        	        	        	            	{
        	        	        	            		alt134=1;
        	        	        	            	}
        	        	        	                break;

        	        	        	            }

        	        	        	            switch (alt134)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:609:54: COMMA_SYMBOL function_parameter
        	        	        	        	    {
        	        	        	        	        COMMA_SYMBOL428 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_body2420);
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto rulefunction_bodyEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        	        COMMA_SYMBOL428_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL428));
        	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL428_tree);
        	        	        	        	        }

        	        	        	        	        FOLLOWPUSH(FOLLOW_function_parameter_in_function_body2422);
        	        	        	        	        function_parameter429=function_parameter(ctx);

        	        	        	        	        FOLLOWPOP();
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto rulefunction_bodyEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_parameter429.tree);

        	        	        	        	    }
        	        	        	        	    break;

        	        	        	        	default:
        	        	        	        	    goto loop134;	/* break out of the loop */
        	        	        	        	    break;
        	        	        	            }
        	        	        	        }
        	        	        	        loop134: ; /* Jump out to here if this rule does not match */


        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        CLOSE_PAR_SYMBOL430 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_body2428);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CLOSE_PAR_SYMBOL430_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL430));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL430_tree);
        	        	        }

        	        	        RETURNS_SYMBOL431 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURNS_SYMBOL, &FOLLOW_RETURNS_SYMBOL_in_function_body2430);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        RETURNS_SYMBOL431_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RETURNS_SYMBOL431));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, RETURNS_SYMBOL431_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_data_type_in_function_body2435);
        	        	        data_type432=data_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type432.tree);

        	        	        // MySQL.g:610:14: ( routine_create_options )?
        	        	        {
        	        	            int alt136=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COMMENT_SYMBOL:
        	        	                case CONTAINS_SYMBOL:
        	        	                case LANGUAGE_SYMBOL:
        	        	                case NO_SYMBOL:
        	        	                case DETERMINISTIC_SYMBOL:
        	        	                case MODIFIES_SYMBOL:
        	        	                case NOT_SYMBOL:
        	        	                case READS_SYMBOL:
        	        	                case SQL_SYMBOL:
        	        	                	{
        	        	                		alt136=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt136)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:610:14: routine_create_options
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_routine_create_options_in_function_body2437);
        	        	        	        routine_create_options433=routine_create_options(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_bodyEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, routine_create_options433.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_compound_statement_in_function_body2440);
        	        	        compound_statement434=compound_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement434.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:611:5: udf_tail
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_udf_tail_in_function_body2446);
        	        	        udf_tail435=udf_tail(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_bodyEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, udf_tail435.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:613:4: AGGREGATE_SYMBOL FUNCTION_SYMBOL udf_tail
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AGGREGATE_SYMBOL436 = (pANTLR3_COMMON_TOKEN) MATCHT(AGGREGATE_SYMBOL, &FOLLOW_AGGREGATE_SYMBOL_in_function_body2454);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_bodyEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AGGREGATE_SYMBOL436_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AGGREGATE_SYMBOL436));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AGGREGATE_SYMBOL436_tree);
        	        }

        	        FUNCTION_SYMBOL437 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_function_body2456);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_bodyEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FUNCTION_SYMBOL437_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL437));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL437_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_udf_tail_in_function_body2458);
        	        udf_tail438=udf_tail(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_bodyEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, udf_tail438.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulefunction_bodyEx; /* Prevent compiler warnings */
    rulefunction_bodyEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end function_body */

/**
 * $ANTLR start udf_tail
 * MySQL.g:616:1: udf_tail : udf_name RETURNS_SYMBOL ( STRING_SYMBOL | INT_SYMBOL | REAL_SYMBOL | DECIMAL_SYMBOL ) SONAME_SYMBOL string_literal ;
 */
static MySQLParser_udf_tail_return
udf_tail(pMySQLParser ctx)
{
    MySQLParser_udf_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    RETURNS_SYMBOL440;
    pANTLR3_COMMON_TOKEN    set441;
    pANTLR3_COMMON_TOKEN    SONAME_SYMBOL442;
    MySQLParser_udf_name_return udf_name439;
    #undef	RETURN_TYPE_udf_name439
    #define	RETURN_TYPE_udf_name439 MySQLParser_udf_name_return

    MySQLParser_string_literal_return string_literal443;
    #undef	RETURN_TYPE_string_literal443
    #define	RETURN_TYPE_string_literal443 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE RETURNS_SYMBOL440_tree;
    pANTLR3_BASE_TREE set441_tree;
    pANTLR3_BASE_TREE SONAME_SYMBOL442_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RETURNS_SYMBOL440       = NULL;
    set441       = NULL;
    SONAME_SYMBOL442       = NULL;
    udf_name439.tree = NULL;

    string_literal443.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RETURNS_SYMBOL440_tree   = NULL;
    set441_tree   = NULL;
    SONAME_SYMBOL442_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:616:9: ( udf_name RETURNS_SYMBOL ( STRING_SYMBOL | INT_SYMBOL | REAL_SYMBOL | DECIMAL_SYMBOL ) SONAME_SYMBOL string_literal )
        // MySQL.g:617:2: udf_name RETURNS_SYMBOL ( STRING_SYMBOL | INT_SYMBOL | REAL_SYMBOL | DECIMAL_SYMBOL ) SONAME_SYMBOL string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_udf_name_in_udf_tail2468);
            udf_name439=udf_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleudf_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, udf_name439.tree);

            RETURNS_SYMBOL440 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURNS_SYMBOL, &FOLLOW_RETURNS_SYMBOL_in_udf_tail2470);
            if  (HASEXCEPTION())
            {
                goto ruleudf_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RETURNS_SYMBOL440_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RETURNS_SYMBOL440));
            ADAPTOR->addChild(ADAPTOR, root_0, RETURNS_SYMBOL440_tree);
            }

            set441=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == STRING_SYMBOL || LA(1) == DECIMAL_SYMBOL || LA(1) == INT_SYMBOL || LA(1) == REAL_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set441))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleudf_tailEx;
            }


            SONAME_SYMBOL442 = (pANTLR3_COMMON_TOKEN) MATCHT(SONAME_SYMBOL, &FOLLOW_SONAME_SYMBOL_in_udf_tail2488);
            if  (HASEXCEPTION())
            {
                goto ruleudf_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SONAME_SYMBOL442_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SONAME_SYMBOL442));
            ADAPTOR->addChild(ADAPTOR, root_0, SONAME_SYMBOL442_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_udf_tail2490);
            string_literal443=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleudf_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal443.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleudf_tailEx; /* Prevent compiler warnings */
    ruleudf_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end udf_tail */

/**
 * $ANTLR start routine_create_options
 * MySQL.g:620:1: routine_create_options : ( routine_create_option )+ -> ^( ROUTINE_CREATE_OPTIONS ( routine_create_option )+ ) ;
 */
static MySQLParser_routine_create_options_return
routine_create_options(pMySQLParser ctx)
{
    MySQLParser_routine_create_options_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_routine_create_option_return routine_create_option444;
    #undef	RETURN_TYPE_routine_create_option444
    #define	RETURN_TYPE_routine_create_option444 MySQLParser_routine_create_option_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_routine_create_option;
    /* Initialize rule variables
     */

    root_0 = NULL;

    routine_create_option444.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_routine_create_option   = NULL;
    #define CREATE_stream_routine_create_option  if (stream_routine_create_option == NULL) {stream_routine_create_option = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule routine_create_option"); }

    retval.tree  = NULL;

    {
        // MySQL.g:620:23: ( ( routine_create_option )+ -> ^( ROUTINE_CREATE_OPTIONS ( routine_create_option )+ ) )
        // MySQL.g:621:2: ( routine_create_option )+
        {
            // MySQL.g:621:2: ( routine_create_option )+
            {
                int cnt139=0;

                for (;;)
                {
                    int alt139=2;
            	switch ( LA(1) )
            	{
            	case COMMENT_SYMBOL:
            	case CONTAINS_SYMBOL:
            	case LANGUAGE_SYMBOL:
            	case NO_SYMBOL:
            	case DETERMINISTIC_SYMBOL:
            	case MODIFIES_SYMBOL:
            	case NOT_SYMBOL:
            	case READS_SYMBOL:
            	case SQL_SYMBOL:
            		{
            			alt139=1;
            		}
            	    break;

            	}

            	switch (alt139)
            	{
            	    case 1:
            	        // MySQL.g:621:2: routine_create_option
            	        {
            	            FOLLOWPUSH(FOLLOW_routine_create_option_in_routine_create_options2499);
            	            routine_create_option444=routine_create_option(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleroutine_create_optionsEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) { CREATE_stream_routine_create_option; stream_routine_create_option->add(stream_routine_create_option, routine_create_option444.tree, NULL); }

            	        }
            	        break;

            	    default:

            		if ( cnt139 >= 1 )
            		{
            		    goto loop139;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto ruleroutine_create_optionsEx;
            	}
            	cnt139++;
                }
                loop139: ;	/* Jump to here if this rule does not match */
            }

            /* AST REWRITE
             * elements          : routine_create_option
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 621:25: -> ^( ROUTINE_CREATE_OPTIONS ( routine_create_option )+ )
            	{
            	    // MySQL.g:621:28: ^( ROUTINE_CREATE_OPTIONS ( routine_create_option )+ )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ROUTINE_CREATE_OPTIONS, (pANTLR3_UINT8)"ROUTINE_CREATE_OPTIONS")
            	        , root_1));

            	        if ((stream_routine_create_option == NULL || !stream_routine_create_option->hasNext(stream_routine_create_option))  )
            	        {
            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_REWRITE_EARLY_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
            	        }
            	        else
            	        {
            	        	while ( (stream_routine_create_option->hasNext(stream_routine_create_option))  ) {
            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_routine_create_option == NULL ? NULL : stream_routine_create_option->nextTree(stream_routine_create_option));

            	        	}
            	        	stream_routine_create_option->reset(stream_routine_create_option);

            	        }
            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleroutine_create_optionsEx; /* Prevent compiler warnings */
    ruleroutine_create_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_routine_create_option != NULL) stream_routine_create_option->free(stream_routine_create_option);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end routine_create_options */

/**
 * $ANTLR start routine_create_option
 * MySQL.g:624:1: routine_create_option : ( routine_option | ( NOT_SYMBOL )? DETERMINISTIC_SYMBOL );
 */
static MySQLParser_routine_create_option_return
routine_create_option(pMySQLParser ctx)
{
    MySQLParser_routine_create_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NOT_SYMBOL446;
    pANTLR3_COMMON_TOKEN    DETERMINISTIC_SYMBOL447;
    MySQLParser_routine_option_return routine_option445;
    #undef	RETURN_TYPE_routine_option445
    #define	RETURN_TYPE_routine_option445 MySQLParser_routine_option_return

    pANTLR3_BASE_TREE NOT_SYMBOL446_tree;
    pANTLR3_BASE_TREE DETERMINISTIC_SYMBOL447_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL446       = NULL;
    DETERMINISTIC_SYMBOL447       = NULL;
    routine_option445.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL446_tree   = NULL;
    DETERMINISTIC_SYMBOL447_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:624:22: ( routine_option | ( NOT_SYMBOL )? DETERMINISTIC_SYMBOL )

            ANTLR3_UINT32 alt141;

            alt141=2;

            switch ( LA(1) )
            {
            case COMMENT_SYMBOL:
            case CONTAINS_SYMBOL:
            case LANGUAGE_SYMBOL:
            case NO_SYMBOL:
            case MODIFIES_SYMBOL:
            case READS_SYMBOL:
            case SQL_SYMBOL:
            	{
            		alt141=1;
            	}
                break;
            case DETERMINISTIC_SYMBOL:
            case NOT_SYMBOL:
            	{
            		alt141=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 141;
                EXCEPTION->state        = 0;


                goto ruleroutine_create_optionEx;

            }

            switch (alt141)
            {
        	case 1:
        	    // MySQL.g:625:2: routine_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_routine_option_in_routine_create_option2519);
        	        routine_option445=routine_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_create_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, routine_option445.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:626:4: ( NOT_SYMBOL )? DETERMINISTIC_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:626:4: ( NOT_SYMBOL )?
        	        {
        	            int alt140=2;
        	            switch ( LA(1) )
        	            {
        	                case NOT_SYMBOL:
        	                	{
        	                		alt140=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt140)
        	            {
        	        	case 1:
        	        	    // MySQL.g:626:4: NOT_SYMBOL
        	        	    {
        	        	        NOT_SYMBOL446 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_routine_create_option2524);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleroutine_create_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOT_SYMBOL446_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL446));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL446_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        DETERMINISTIC_SYMBOL447 = (pANTLR3_COMMON_TOKEN) MATCHT(DETERMINISTIC_SYMBOL, &FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option2527);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_create_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DETERMINISTIC_SYMBOL447_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DETERMINISTIC_SYMBOL447));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DETERMINISTIC_SYMBOL447_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleroutine_create_optionEx; /* Prevent compiler warnings */
    ruleroutine_create_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end routine_create_option */

/**
 * $ANTLR start routine_alter_options
 * MySQL.g:629:1: routine_alter_options : ( routine_create_option )+ -> ^( ROUTINE_ALTER_OPTIONS ( routine_create_option )+ ) ;
 */
static MySQLParser_routine_alter_options_return
routine_alter_options(pMySQLParser ctx)
{
    MySQLParser_routine_alter_options_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_routine_create_option_return routine_create_option448;
    #undef	RETURN_TYPE_routine_create_option448
    #define	RETURN_TYPE_routine_create_option448 MySQLParser_routine_create_option_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_routine_create_option;
    /* Initialize rule variables
     */

    root_0 = NULL;

    routine_create_option448.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_routine_create_option   = NULL;
    #define CREATE_stream_routine_create_option  if (stream_routine_create_option == NULL) {stream_routine_create_option = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule routine_create_option"); }

    retval.tree  = NULL;

    {
        // MySQL.g:629:22: ( ( routine_create_option )+ -> ^( ROUTINE_ALTER_OPTIONS ( routine_create_option )+ ) )
        // MySQL.g:630:2: ( routine_create_option )+
        {
            // MySQL.g:630:2: ( routine_create_option )+
            {
                int cnt142=0;

                for (;;)
                {
                    int alt142=2;
            	switch ( LA(1) )
            	{
            	case COMMENT_SYMBOL:
            	case CONTAINS_SYMBOL:
            	case LANGUAGE_SYMBOL:
            	case NO_SYMBOL:
            	case DETERMINISTIC_SYMBOL:
            	case MODIFIES_SYMBOL:
            	case NOT_SYMBOL:
            	case READS_SYMBOL:
            	case SQL_SYMBOL:
            		{
            			alt142=1;
            		}
            	    break;

            	}

            	switch (alt142)
            	{
            	    case 1:
            	        // MySQL.g:630:2: routine_create_option
            	        {
            	            FOLLOWPUSH(FOLLOW_routine_create_option_in_routine_alter_options2536);
            	            routine_create_option448=routine_create_option(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleroutine_alter_optionsEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) { CREATE_stream_routine_create_option; stream_routine_create_option->add(stream_routine_create_option, routine_create_option448.tree, NULL); }

            	        }
            	        break;

            	    default:

            		if ( cnt142 >= 1 )
            		{
            		    goto loop142;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto ruleroutine_alter_optionsEx;
            	}
            	cnt142++;
                }
                loop142: ;	/* Jump to here if this rule does not match */
            }

            /* AST REWRITE
             * elements          : routine_create_option
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 630:25: -> ^( ROUTINE_ALTER_OPTIONS ( routine_create_option )+ )
            	{
            	    // MySQL.g:630:28: ^( ROUTINE_ALTER_OPTIONS ( routine_create_option )+ )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, ROUTINE_ALTER_OPTIONS, (pANTLR3_UINT8)"ROUTINE_ALTER_OPTIONS")
            	        , root_1));

            	        if ((stream_routine_create_option == NULL || !stream_routine_create_option->hasNext(stream_routine_create_option))  )
            	        {
            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_REWRITE_EARLY_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
            	        }
            	        else
            	        {
            	        	while ( (stream_routine_create_option->hasNext(stream_routine_create_option))  ) {
            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_routine_create_option == NULL ? NULL : stream_routine_create_option->nextTree(stream_routine_create_option));

            	        	}
            	        	stream_routine_create_option->reset(stream_routine_create_option);

            	        }
            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleroutine_alter_optionsEx; /* Prevent compiler warnings */
    ruleroutine_alter_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_routine_create_option != NULL) stream_routine_create_option->free(stream_routine_create_option);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end routine_alter_options */

/**
 * $ANTLR start routine_option
 * MySQL.g:633:1: routine_option : ( COMMENT_SYMBOL string_literal | LANGUAGE_SYMBOL SQL_SYMBOL | NO_SYMBOL SQL_SYMBOL | CONTAINS_SYMBOL SQL_SYMBOL | READS_SYMBOL SQL_SYMBOL DATA_SYMBOL | MODIFIES_SYMBOL SQL_SYMBOL DATA_SYMBOL | SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) );
 */
static MySQLParser_routine_option_return
routine_option(pMySQLParser ctx)
{
    MySQLParser_routine_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL449;
    pANTLR3_COMMON_TOKEN    LANGUAGE_SYMBOL451;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL452;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL453;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL454;
    pANTLR3_COMMON_TOKEN    CONTAINS_SYMBOL455;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL456;
    pANTLR3_COMMON_TOKEN    READS_SYMBOL457;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL458;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL459;
    pANTLR3_COMMON_TOKEN    MODIFIES_SYMBOL460;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL461;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL462;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL463;
    pANTLR3_COMMON_TOKEN    SECURITY_SYMBOL464;
    pANTLR3_COMMON_TOKEN    set465;
    MySQLParser_string_literal_return string_literal450;
    #undef	RETURN_TYPE_string_literal450
    #define	RETURN_TYPE_string_literal450 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE COMMENT_SYMBOL449_tree;
    pANTLR3_BASE_TREE LANGUAGE_SYMBOL451_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL452_tree;
    pANTLR3_BASE_TREE NO_SYMBOL453_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL454_tree;
    pANTLR3_BASE_TREE CONTAINS_SYMBOL455_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL456_tree;
    pANTLR3_BASE_TREE READS_SYMBOL457_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL458_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL459_tree;
    pANTLR3_BASE_TREE MODIFIES_SYMBOL460_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL461_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL462_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL463_tree;
    pANTLR3_BASE_TREE SECURITY_SYMBOL464_tree;
    pANTLR3_BASE_TREE set465_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMENT_SYMBOL449       = NULL;
    LANGUAGE_SYMBOL451       = NULL;
    SQL_SYMBOL452       = NULL;
    NO_SYMBOL453       = NULL;
    SQL_SYMBOL454       = NULL;
    CONTAINS_SYMBOL455       = NULL;
    SQL_SYMBOL456       = NULL;
    READS_SYMBOL457       = NULL;
    SQL_SYMBOL458       = NULL;
    DATA_SYMBOL459       = NULL;
    MODIFIES_SYMBOL460       = NULL;
    SQL_SYMBOL461       = NULL;
    DATA_SYMBOL462       = NULL;
    SQL_SYMBOL463       = NULL;
    SECURITY_SYMBOL464       = NULL;
    set465       = NULL;
    string_literal450.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMENT_SYMBOL449_tree   = NULL;
    LANGUAGE_SYMBOL451_tree   = NULL;
    SQL_SYMBOL452_tree   = NULL;
    NO_SYMBOL453_tree   = NULL;
    SQL_SYMBOL454_tree   = NULL;
    CONTAINS_SYMBOL455_tree   = NULL;
    SQL_SYMBOL456_tree   = NULL;
    READS_SYMBOL457_tree   = NULL;
    SQL_SYMBOL458_tree   = NULL;
    DATA_SYMBOL459_tree   = NULL;
    MODIFIES_SYMBOL460_tree   = NULL;
    SQL_SYMBOL461_tree   = NULL;
    DATA_SYMBOL462_tree   = NULL;
    SQL_SYMBOL463_tree   = NULL;
    SECURITY_SYMBOL464_tree   = NULL;
    set465_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:633:15: ( COMMENT_SYMBOL string_literal | LANGUAGE_SYMBOL SQL_SYMBOL | NO_SYMBOL SQL_SYMBOL | CONTAINS_SYMBOL SQL_SYMBOL | READS_SYMBOL SQL_SYMBOL DATA_SYMBOL | MODIFIES_SYMBOL SQL_SYMBOL DATA_SYMBOL | SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )

            ANTLR3_UINT32 alt143;

            alt143=7;

            switch ( LA(1) )
            {
            case COMMENT_SYMBOL:
            	{
            		alt143=1;
            	}
                break;
            case LANGUAGE_SYMBOL:
            	{
            		alt143=2;
            	}
                break;
            case NO_SYMBOL:
            	{
            		alt143=3;
            	}
                break;
            case CONTAINS_SYMBOL:
            	{
            		alt143=4;
            	}
                break;
            case READS_SYMBOL:
            	{
            		alt143=5;
            	}
                break;
            case MODIFIES_SYMBOL:
            	{
            		alt143=6;
            	}
                break;
            case SQL_SYMBOL:
            	{
            		alt143=7;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 143;
                EXCEPTION->state        = 0;


                goto ruleroutine_optionEx;

            }

            switch (alt143)
            {
        	case 1:
        	    // MySQL.g:634:2: COMMENT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL449 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_routine_option2556);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL449_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL449));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL449_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_routine_option2558);
        	        string_literal450=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal450.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:635:4: LANGUAGE_SYMBOL SQL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LANGUAGE_SYMBOL451 = (pANTLR3_COMMON_TOKEN) MATCHT(LANGUAGE_SYMBOL, &FOLLOW_LANGUAGE_SYMBOL_in_routine_option2563);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LANGUAGE_SYMBOL451_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LANGUAGE_SYMBOL451));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LANGUAGE_SYMBOL451_tree);
        	        }

        	        SQL_SYMBOL452 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2565);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_SYMBOL452_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL452));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL452_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:636:4: NO_SYMBOL SQL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_SYMBOL453 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_routine_option2570);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_SYMBOL453_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL453));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL453_tree);
        	        }

        	        SQL_SYMBOL454 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2572);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_SYMBOL454_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL454));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL454_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:637:4: CONTAINS_SYMBOL SQL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONTAINS_SYMBOL455 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTAINS_SYMBOL, &FOLLOW_CONTAINS_SYMBOL_in_routine_option2577);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONTAINS_SYMBOL455_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTAINS_SYMBOL455));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONTAINS_SYMBOL455_tree);
        	        }

        	        SQL_SYMBOL456 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2579);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_SYMBOL456_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL456));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL456_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:638:4: READS_SYMBOL SQL_SYMBOL DATA_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        READS_SYMBOL457 = (pANTLR3_COMMON_TOKEN) MATCHT(READS_SYMBOL, &FOLLOW_READS_SYMBOL_in_routine_option2584);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READS_SYMBOL457_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READS_SYMBOL457));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READS_SYMBOL457_tree);
        	        }

        	        SQL_SYMBOL458 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2586);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_SYMBOL458_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL458));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL458_tree);
        	        }

        	        DATA_SYMBOL459 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_routine_option2588);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL459_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL459));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL459_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:639:4: MODIFIES_SYMBOL SQL_SYMBOL DATA_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MODIFIES_SYMBOL460 = (pANTLR3_COMMON_TOKEN) MATCHT(MODIFIES_SYMBOL, &FOLLOW_MODIFIES_SYMBOL_in_routine_option2593);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MODIFIES_SYMBOL460_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODIFIES_SYMBOL460));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MODIFIES_SYMBOL460_tree);
        	        }

        	        SQL_SYMBOL461 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2595);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_SYMBOL461_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL461));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL461_tree);
        	        }

        	        DATA_SYMBOL462 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_routine_option2597);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL462_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL462));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL462_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:640:4: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQL_SYMBOL463 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2602);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_SYMBOL463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL463));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL463_tree);
        	        }

        	        SECURITY_SYMBOL464 = (pANTLR3_COMMON_TOKEN) MATCHT(SECURITY_SYMBOL, &FOLLOW_SECURITY_SYMBOL_in_routine_option2604);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECURITY_SYMBOL464_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECURITY_SYMBOL464));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECURITY_SYMBOL464_tree);
        	        }

        	        set465=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DEFINER_SYMBOL || LA(1) == INVOKER_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set465))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleroutine_optionEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleroutine_optionEx; /* Prevent compiler warnings */
    ruleroutine_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end routine_option */

/**
 * $ANTLR start create_index
 * MySQL.g:643:1: create_index : CREATE_SYMBOL ^ create_index_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_index_return
create_index(pMySQLParser ctx)
{
    MySQLParser_create_index_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL466;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL468;
    pANTLR3_COMMON_TOKEN    EOF469;
    MySQLParser_create_index_tail_return create_index_tail467;
    #undef	RETURN_TYPE_create_index_tail467
    #define	RETURN_TYPE_create_index_tail467 MySQLParser_create_index_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL466_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL468_tree;
    pANTLR3_BASE_TREE EOF469_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL466       = NULL;
    SEMICOLON_SYMBOL468       = NULL;
    EOF469       = NULL;
    create_index_tail467.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL466_tree   = NULL;
    SEMICOLON_SYMBOL468_tree   = NULL;
    EOF469_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:643:13: ( CREATE_SYMBOL ^ create_index_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:644:2: CREATE_SYMBOL ^ create_index_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL466 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_index2622);
            if  (HASEXCEPTION())
            {
                goto rulecreate_indexEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL466_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL466))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL466_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_create_index_tail_in_create_index2625);
            create_index_tail467=create_index_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_indexEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_index_tail467.tree);

            // MySQL.g:644:35: ( SEMICOLON_SYMBOL )?
            {
                int alt144=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt144=1;
                    	}
                        break;
                }

                switch (alt144)
                {
            	case 1:
            	    // MySQL.g:644:35: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL468 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_index2627);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_indexEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL468_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL468));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL468_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF469 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_index2630);
            if  (HASEXCEPTION())
            {
                goto rulecreate_indexEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF469));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF469_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_indexEx; /* Prevent compiler warnings */
    rulecreate_indexEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_index */

/**
 * $ANTLR start create_index_tail
 * MySQL.g:647:1: create_index_tail : ( online_option )? ( ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )? | FULLTEXT_SYMBOL INDEX_SYMBOL identifier create_index_target ( fulltext_index_option )* ( index_lock_algorithm )? | SPATIAL_SYMBOL INDEX_SYMBOL identifier create_index_target ( spatial_index_option )* ( index_lock_algorithm )? ) ;
 */
static MySQLParser_create_index_tail_return
create_index_tail(pMySQLParser ctx)
{
    MySQLParser_create_index_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL471;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL472;
    pANTLR3_COMMON_TOKEN    FULLTEXT_SYMBOL478;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL479;
    pANTLR3_COMMON_TOKEN    SPATIAL_SYMBOL484;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL485;
    MySQLParser_online_option_return online_option470;
    #undef	RETURN_TYPE_online_option470
    #define	RETURN_TYPE_online_option470 MySQLParser_online_option_return

    MySQLParser_identifier_return identifier473;
    #undef	RETURN_TYPE_identifier473
    #define	RETURN_TYPE_identifier473 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type474;
    #undef	RETURN_TYPE_index_type474
    #define	RETURN_TYPE_index_type474 MySQLParser_index_type_return

    MySQLParser_create_index_target_return create_index_target475;
    #undef	RETURN_TYPE_create_index_target475
    #define	RETURN_TYPE_create_index_target475 MySQLParser_create_index_target_return

    MySQLParser_index_option_return index_option476;
    #undef	RETURN_TYPE_index_option476
    #define	RETURN_TYPE_index_option476 MySQLParser_index_option_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm477;
    #undef	RETURN_TYPE_index_lock_algorithm477
    #define	RETURN_TYPE_index_lock_algorithm477 MySQLParser_index_lock_algorithm_return

    MySQLParser_identifier_return identifier480;
    #undef	RETURN_TYPE_identifier480
    #define	RETURN_TYPE_identifier480 MySQLParser_identifier_return

    MySQLParser_create_index_target_return create_index_target481;
    #undef	RETURN_TYPE_create_index_target481
    #define	RETURN_TYPE_create_index_target481 MySQLParser_create_index_target_return

    MySQLParser_fulltext_index_option_return fulltext_index_option482;
    #undef	RETURN_TYPE_fulltext_index_option482
    #define	RETURN_TYPE_fulltext_index_option482 MySQLParser_fulltext_index_option_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm483;
    #undef	RETURN_TYPE_index_lock_algorithm483
    #define	RETURN_TYPE_index_lock_algorithm483 MySQLParser_index_lock_algorithm_return

    MySQLParser_identifier_return identifier486;
    #undef	RETURN_TYPE_identifier486
    #define	RETURN_TYPE_identifier486 MySQLParser_identifier_return

    MySQLParser_create_index_target_return create_index_target487;
    #undef	RETURN_TYPE_create_index_target487
    #define	RETURN_TYPE_create_index_target487 MySQLParser_create_index_target_return

    MySQLParser_spatial_index_option_return spatial_index_option488;
    #undef	RETURN_TYPE_spatial_index_option488
    #define	RETURN_TYPE_spatial_index_option488 MySQLParser_spatial_index_option_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm489;
    #undef	RETURN_TYPE_index_lock_algorithm489
    #define	RETURN_TYPE_index_lock_algorithm489 MySQLParser_index_lock_algorithm_return

    pANTLR3_BASE_TREE UNIQUE_SYMBOL471_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL472_tree;
    pANTLR3_BASE_TREE FULLTEXT_SYMBOL478_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL479_tree;
    pANTLR3_BASE_TREE SPATIAL_SYMBOL484_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL485_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNIQUE_SYMBOL471       = NULL;
    INDEX_SYMBOL472       = NULL;
    FULLTEXT_SYMBOL478       = NULL;
    INDEX_SYMBOL479       = NULL;
    SPATIAL_SYMBOL484       = NULL;
    INDEX_SYMBOL485       = NULL;
    online_option470.tree = NULL;

    identifier473.tree = NULL;

    index_type474.tree = NULL;

    create_index_target475.tree = NULL;

    index_option476.tree = NULL;

    index_lock_algorithm477.tree = NULL;

    identifier480.tree = NULL;

    create_index_target481.tree = NULL;

    fulltext_index_option482.tree = NULL;

    index_lock_algorithm483.tree = NULL;

    identifier486.tree = NULL;

    create_index_target487.tree = NULL;

    spatial_index_option488.tree = NULL;

    index_lock_algorithm489.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNIQUE_SYMBOL471_tree   = NULL;
    INDEX_SYMBOL472_tree   = NULL;
    FULLTEXT_SYMBOL478_tree   = NULL;
    INDEX_SYMBOL479_tree   = NULL;
    SPATIAL_SYMBOL484_tree   = NULL;
    INDEX_SYMBOL485_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:647:18: ( ( online_option )? ( ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )? | FULLTEXT_SYMBOL INDEX_SYMBOL identifier create_index_target ( fulltext_index_option )* ( index_lock_algorithm )? | SPATIAL_SYMBOL INDEX_SYMBOL identifier create_index_target ( spatial_index_option )* ( index_lock_algorithm )? ) )
        // MySQL.g:648:2: ( online_option )? ( ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )? | FULLTEXT_SYMBOL INDEX_SYMBOL identifier create_index_target ( fulltext_index_option )* ( index_lock_algorithm )? | SPATIAL_SYMBOL INDEX_SYMBOL identifier create_index_target ( spatial_index_option )* ( index_lock_algorithm )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:648:2: ( online_option )?
            {
                int alt145=2;
                {
                    int LA145_0 = LA(1);
                    if ( ((SERVER_VERSION < 50600)) && (((LA145_0 >= OFFLINE_SYMBOL) && (LA145_0 <= ONLINE_SYMBOL))))
                    {
                        alt145=1;
                    }
                }
                switch (alt145)
                {
            	case 1:
            	    // MySQL.g:648:2: online_option
            	    {
            	        FOLLOWPUSH(FOLLOW_online_option_in_create_index_tail2639);
            	        online_option470=online_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, online_option470.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:649:2: ( ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )? | FULLTEXT_SYMBOL INDEX_SYMBOL identifier create_index_target ( fulltext_index_option )* ( index_lock_algorithm )? | SPATIAL_SYMBOL INDEX_SYMBOL identifier create_index_target ( spatial_index_option )* ( index_lock_algorithm )? )
            {
                int alt154=3;
                switch ( LA(1) )
                {
                case INDEX_SYMBOL:
                case UNIQUE_SYMBOL:
                	{
                		alt154=1;
                	}
                    break;
                case FULLTEXT_SYMBOL:
                	{
                		alt154=2;
                	}
                    break;
                case SPATIAL_SYMBOL:
                	{
                		alt154=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 154;
                    EXCEPTION->state        = 0;


                    goto rulecreate_index_tailEx;

                }

                switch (alt154)
                {
            	case 1:
            	    // MySQL.g:650:3: ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )?
            	    {
            	        // MySQL.g:650:3: ( UNIQUE_SYMBOL )?
            	        {
            	            int alt146=2;
            	            switch ( LA(1) )
            	            {
            	                case UNIQUE_SYMBOL:
            	                	{
            	                		alt146=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt146)
            	            {
            	        	case 1:
            	        	    // MySQL.g:650:3: UNIQUE_SYMBOL
            	        	    {
            	        	        UNIQUE_SYMBOL471 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_create_index_tail2647);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        UNIQUE_SYMBOL471_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNIQUE_SYMBOL471));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNIQUE_SYMBOL471_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INDEX_SYMBOL472 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_index_tail2650);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL472_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL472));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL472_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_index_tail2652);
            	        identifier473=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier473.tree);

            	        // MySQL.g:650:42: ( index_type )?
            	        {
            	            int alt147=2;
            	            switch ( LA(1) )
            	            {
            	                case TYPE_SYMBOL:
            	                case USING_SYMBOL:
            	                	{
            	                		alt147=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt147)
            	            {
            	        	case 1:
            	        	    // MySQL.g:650:42: index_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_index_tail2654);
            	        	        index_type474=index_type(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type474.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_index_target_in_create_index_tail2657);
            	        create_index_target475=create_index_target(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_index_target475.tree);

            	        // MySQL.g:650:74: ( index_option )*

            	        for (;;)
            	        {
            	            int alt148=2;
            	            {
            	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	                */
            	                int LA148_0 = LA(1);
            	                if ( (LA148_0 == KEY_BLOCK_SIZE_SYMBOL || LA148_0 == TYPE_SYMBOL || LA148_0 == USING_SYMBOL))
            	                {
            	                    alt148=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50600)) && (LA148_0 == COMMENT_SYMBOL))
            	                {
            	                    alt148=1;
            	                }

            	            }
            	            switch (alt148)
            	            {
            	        	case 1:
            	        	    // MySQL.g:650:74: index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_index_tail2659);
            	        	        index_option476=index_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option476.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop148;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop148: ; /* Jump out to here if this rule does not match */


            	        // MySQL.g:650:88: ( index_lock_algorithm )?
            	        {
            	            int alt149=2;
            	            {
            	                int LA149_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA149_0 == ALGORITHM_SYMBOL || LA149_0 == LOCK_SYMBOL))
            	                {
            	                    alt149=1;
            	                }
            	            }
            	            switch (alt149)
            	            {
            	        	case 1:
            	        	    // MySQL.g:650:88: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index_tail2662);
            	        	        index_lock_algorithm477=index_lock_algorithm(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_lock_algorithm477.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:651:5: FULLTEXT_SYMBOL INDEX_SYMBOL identifier create_index_target ( fulltext_index_option )* ( index_lock_algorithm )?
            	    {
            	        FULLTEXT_SYMBOL478 = (pANTLR3_COMMON_TOKEN) MATCHT(FULLTEXT_SYMBOL, &FOLLOW_FULLTEXT_SYMBOL_in_create_index_tail2669);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FULLTEXT_SYMBOL478_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULLTEXT_SYMBOL478));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FULLTEXT_SYMBOL478_tree);
            	        }

            	        INDEX_SYMBOL479 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_index_tail2671);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL479_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL479));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL479_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_index_tail2673);
            	        identifier480=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier480.tree);

            	        FOLLOWPUSH(FOLLOW_create_index_target_in_create_index_tail2675);
            	        create_index_target481=create_index_target(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_index_target481.tree);

            	        // MySQL.g:651:65: ( fulltext_index_option )*

            	        for (;;)
            	        {
            	            int alt150=2;
            	            {
            	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	                */
            	                int LA150_0 = LA(1);
            	                if ( (LA150_0 == KEY_BLOCK_SIZE_SYMBOL || LA150_0 == WITH_SYMBOL))
            	                {
            	                    alt150=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50600)) && (LA150_0 == COMMENT_SYMBOL))
            	                {
            	                    alt150=1;
            	                }

            	            }
            	            switch (alt150)
            	            {
            	        	case 1:
            	        	    // MySQL.g:651:65: fulltext_index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_fulltext_index_option_in_create_index_tail2677);
            	        	        fulltext_index_option482=fulltext_index_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fulltext_index_option482.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop150;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop150: ; /* Jump out to here if this rule does not match */


            	        // MySQL.g:651:88: ( index_lock_algorithm )?
            	        {
            	            int alt151=2;
            	            {
            	                int LA151_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA151_0 == ALGORITHM_SYMBOL || LA151_0 == LOCK_SYMBOL))
            	                {
            	                    alt151=1;
            	                }
            	            }
            	            switch (alt151)
            	            {
            	        	case 1:
            	        	    // MySQL.g:651:88: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index_tail2680);
            	        	        index_lock_algorithm483=index_lock_algorithm(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_lock_algorithm483.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:652:5: SPATIAL_SYMBOL INDEX_SYMBOL identifier create_index_target ( spatial_index_option )* ( index_lock_algorithm )?
            	    {
            	        SPATIAL_SYMBOL484 = (pANTLR3_COMMON_TOKEN) MATCHT(SPATIAL_SYMBOL, &FOLLOW_SPATIAL_SYMBOL_in_create_index_tail2687);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SPATIAL_SYMBOL484_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SPATIAL_SYMBOL484));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SPATIAL_SYMBOL484_tree);
            	        }

            	        INDEX_SYMBOL485 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_index_tail2689);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL485_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL485));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL485_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_index_tail2691);
            	        identifier486=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier486.tree);

            	        FOLLOWPUSH(FOLLOW_create_index_target_in_create_index_tail2693);
            	        create_index_target487=create_index_target(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_index_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_index_target487.tree);

            	        // MySQL.g:652:64: ( spatial_index_option )*

            	        for (;;)
            	        {
            	            int alt152=2;
            	            {
            	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	                */
            	                int LA152_0 = LA(1);
            	                if ( (LA152_0 == KEY_BLOCK_SIZE_SYMBOL))
            	                {
            	                    alt152=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50600)) && (LA152_0 == COMMENT_SYMBOL))
            	                {
            	                    alt152=1;
            	                }

            	            }
            	            switch (alt152)
            	            {
            	        	case 1:
            	        	    // MySQL.g:652:64: spatial_index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_create_index_tail2695);
            	        	        spatial_index_option488=spatial_index_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_index_option488.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop152;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop152: ; /* Jump out to here if this rule does not match */


            	        // MySQL.g:652:86: ( index_lock_algorithm )?
            	        {
            	            int alt153=2;
            	            {
            	                int LA153_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA153_0 == ALGORITHM_SYMBOL || LA153_0 == LOCK_SYMBOL))
            	                {
            	                    alt153=1;
            	                }
            	            }
            	            switch (alt153)
            	            {
            	        	case 1:
            	        	    // MySQL.g:652:86: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index_tail2698);
            	        	        index_lock_algorithm489=index_lock_algorithm(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_index_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_lock_algorithm489.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_index_tailEx; /* Prevent compiler warnings */
    rulecreate_index_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_index_tail */

/**
 * $ANTLR start create_index_target
 * MySQL.g:656:1: create_index_target : ON_SYMBOL ^ table_ref index_columns ;
 */
static MySQLParser_create_index_target_return
create_index_target(pMySQLParser ctx)
{
    MySQLParser_create_index_target_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ON_SYMBOL490;
    MySQLParser_table_ref_return table_ref491;
    #undef	RETURN_TYPE_table_ref491
    #define	RETURN_TYPE_table_ref491 MySQLParser_table_ref_return

    MySQLParser_index_columns_return index_columns492;
    #undef	RETURN_TYPE_index_columns492
    #define	RETURN_TYPE_index_columns492 MySQLParser_index_columns_return

    pANTLR3_BASE_TREE ON_SYMBOL490_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL490       = NULL;
    table_ref491.tree = NULL;

    index_columns492.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL490_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:656:20: ( ON_SYMBOL ^ table_ref index_columns )
        // MySQL.g:657:2: ON_SYMBOL ^ table_ref index_columns
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ON_SYMBOL490 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_index_target2711);
            if  (HASEXCEPTION())
            {
                goto rulecreate_index_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL490_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL490))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ON_SYMBOL490_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_create_index_target2714);
            table_ref491=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_index_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref491.tree);

            FOLLOWPUSH(FOLLOW_index_columns_in_create_index_target2716);
            index_columns492=index_columns(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_index_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns492.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_index_targetEx; /* Prevent compiler warnings */
    rulecreate_index_targetEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_index_target */

/**
 * $ANTLR start create_logfile_group
 * MySQL.g:660:1: create_logfile_group : CREATE_SYMBOL ^ create_logfile_group_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_logfile_group_return
create_logfile_group(pMySQLParser ctx)
{
    MySQLParser_create_logfile_group_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL493;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL495;
    pANTLR3_COMMON_TOKEN    EOF496;
    MySQLParser_create_logfile_group_tail_return create_logfile_group_tail494;
    #undef	RETURN_TYPE_create_logfile_group_tail494
    #define	RETURN_TYPE_create_logfile_group_tail494 MySQLParser_create_logfile_group_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL493_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL495_tree;
    pANTLR3_BASE_TREE EOF496_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL493       = NULL;
    SEMICOLON_SYMBOL495       = NULL;
    EOF496       = NULL;
    create_logfile_group_tail494.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL493_tree   = NULL;
    SEMICOLON_SYMBOL495_tree   = NULL;
    EOF496_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:660:21: ( CREATE_SYMBOL ^ create_logfile_group_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:661:2: CREATE_SYMBOL ^ create_logfile_group_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL493 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_logfile_group2726);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL493_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL493))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL493_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_create_logfile_group_tail_in_create_logfile_group2729);
            create_logfile_group_tail494=create_logfile_group_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_logfile_group_tail494.tree);

            // MySQL.g:661:43: ( SEMICOLON_SYMBOL )?
            {
                int alt155=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt155=1;
                    	}
                        break;
                }

                switch (alt155)
                {
            	case 1:
            	    // MySQL.g:661:43: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL495 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_logfile_group2731);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_logfile_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL495_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL495));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL495_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF496 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_logfile_group2734);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF496_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF496));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF496_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_logfile_groupEx; /* Prevent compiler warnings */
    rulecreate_logfile_groupEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_logfile_group */

/**
 * $ANTLR start create_logfile_group_tail
 * MySQL.g:664:1: create_logfile_group_tail : LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_name ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )? ;
 */
static MySQLParser_create_logfile_group_tail_return
create_logfile_group_tail(pMySQLParser ctx)
{
    MySQLParser_create_logfile_group_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOGFILE_SYMBOL497;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL498;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL500;
    pANTLR3_COMMON_TOKEN    set501;
    MySQLParser_logfile_group_name_return logfile_group_name499;
    #undef	RETURN_TYPE_logfile_group_name499
    #define	RETURN_TYPE_logfile_group_name499 MySQLParser_logfile_group_name_return

    MySQLParser_string_literal_return string_literal502;
    #undef	RETURN_TYPE_string_literal502
    #define	RETURN_TYPE_string_literal502 MySQLParser_string_literal_return

    MySQLParser_logfile_group_options_return logfile_group_options503;
    #undef	RETURN_TYPE_logfile_group_options503
    #define	RETURN_TYPE_logfile_group_options503 MySQLParser_logfile_group_options_return

    pANTLR3_BASE_TREE LOGFILE_SYMBOL497_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL498_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL500_tree;
    pANTLR3_BASE_TREE set501_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOGFILE_SYMBOL497       = NULL;
    GROUP_SYMBOL498       = NULL;
    ADD_SYMBOL500       = NULL;
    set501       = NULL;
    logfile_group_name499.tree = NULL;

    string_literal502.tree = NULL;

    logfile_group_options503.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOGFILE_SYMBOL497_tree   = NULL;
    GROUP_SYMBOL498_tree   = NULL;
    ADD_SYMBOL500_tree   = NULL;
    set501_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:664:26: ( LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_name ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )? )
        // MySQL.g:665:2: LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_name ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOGFILE_SYMBOL497 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group_tail2743);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_group_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOGFILE_SYMBOL497_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGFILE_SYMBOL497));
            ADAPTOR->addChild(ADAPTOR, root_0, LOGFILE_SYMBOL497_tree);
            }

            GROUP_SYMBOL498 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_create_logfile_group_tail2745);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_group_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GROUP_SYMBOL498_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL498));
            ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL498_tree);
            }

            FOLLOWPUSH(FOLLOW_logfile_group_name_in_create_logfile_group_tail2747);
            logfile_group_name499=logfile_group_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_group_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logfile_group_name499.tree);

            ADD_SYMBOL500 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_create_logfile_group_tail2749);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_group_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ADD_SYMBOL500_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL500));
            ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL500_tree);
            }

            set501=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == REDOFILE_SYMBOL || LA(1) == UNDOFILE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set501))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulecreate_logfile_group_tailEx;
            }


            FOLLOWPUSH(FOLLOW_string_literal_in_create_logfile_group_tail2759);
            string_literal502=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_group_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal502.tree);

            // MySQL.g:666:3: ( logfile_group_options )?
            {
                int alt156=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    case ENGINE_SYMBOL:
                    case INITIAL_SIZE_SYMBOL:
                    case NO_WAIT_SYMBOL:
                    case NODEGROUP_SYMBOL:
                    case REDO_BUFFER_SIZE_SYMBOL:
                    case STORAGE_SYMBOL:
                    case UNDO_BUFFER_SIZE_SYMBOL:
                    case WAIT_SYMBOL:
                    	{
                    		alt156=1;
                    	}
                        break;
                }

                switch (alt156)
                {
            	case 1:
            	    // MySQL.g:666:3: logfile_group_options
            	    {
            	        FOLLOWPUSH(FOLLOW_logfile_group_options_in_create_logfile_group_tail2763);
            	        logfile_group_options503=logfile_group_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_logfile_group_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logfile_group_options503.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_logfile_group_tailEx; /* Prevent compiler warnings */
    rulecreate_logfile_group_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_logfile_group_tail */

/**
 * $ANTLR start logfile_group_options
 * MySQL.g:669:1: logfile_group_options : ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) -> ^( LOGFILE_GROUP_OPTIONS_TOKEN logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) ;
 */
static MySQLParser_logfile_group_options_return
logfile_group_options(pMySQLParser ctx)
{
    MySQLParser_logfile_group_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL505;
    MySQLParser_logfile_group_option_return logfile_group_option504;
    #undef	RETURN_TYPE_logfile_group_option504
    #define	RETURN_TYPE_logfile_group_option504 MySQLParser_logfile_group_option_return

    MySQLParser_logfile_group_option_return logfile_group_option506;
    #undef	RETURN_TYPE_logfile_group_option506
    #define	RETURN_TYPE_logfile_group_option506 MySQLParser_logfile_group_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL505_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_logfile_group_option;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL505       = NULL;
    logfile_group_option504.tree = NULL;

    logfile_group_option506.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL505_tree   = NULL;

    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_logfile_group_option   = NULL;
    #define CREATE_stream_logfile_group_option  if (stream_logfile_group_option == NULL) {stream_logfile_group_option = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule logfile_group_option"); }

    retval.tree  = NULL;

    {
        // MySQL.g:669:22: ( ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) -> ^( LOGFILE_GROUP_OPTIONS_TOKEN logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) )
        // MySQL.g:670:2: ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
        {
            // MySQL.g:670:2: ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            // MySQL.g:670:3: logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )*
            {
                FOLLOWPUSH(FOLLOW_logfile_group_option_in_logfile_group_options2774);
                logfile_group_option504=logfile_group_option(ctx);

                FOLLOWPOP();
                if  (HASEXCEPTION())
                {
                    goto rulelogfile_group_optionsEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) { CREATE_stream_logfile_group_option; stream_logfile_group_option->add(stream_logfile_group_option, logfile_group_option504.tree, NULL); }

                // MySQL.g:670:24: ( ( COMMA_SYMBOL )? logfile_group_option )*

                for (;;)
                {
                    int alt158=2;
                    switch ( LA(1) )
                    {
                    case COMMENT_SYMBOL:
                    case ENGINE_SYMBOL:
                    case INITIAL_SIZE_SYMBOL:
                    case NO_WAIT_SYMBOL:
                    case NODEGROUP_SYMBOL:
                    case REDO_BUFFER_SIZE_SYMBOL:
                    case STORAGE_SYMBOL:
                    case UNDO_BUFFER_SIZE_SYMBOL:
                    case WAIT_SYMBOL:
                    case COMMA_SYMBOL:
                    	{
                    		alt158=1;
                    	}
                        break;

                    }

                    switch (alt158)
                    {
                	case 1:
                	    // MySQL.g:670:25: ( COMMA_SYMBOL )? logfile_group_option
                	    {
                	        // MySQL.g:670:25: ( COMMA_SYMBOL )?
                	        {
                	            int alt157=2;
                	            switch ( LA(1) )
                	            {
                	                case COMMA_SYMBOL:
                	                	{
                	                		alt157=1;
                	                	}
                	                    break;
                	            }

                	            switch (alt157)
                	            {
                	        	case 1:
                	        	    // MySQL.g:670:25: COMMA_SYMBOL
                	        	    {
                	        	        COMMA_SYMBOL505 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_logfile_group_options2777);
                	        	        if  (HASEXCEPTION())
                	        	        {
                	        	            goto rulelogfile_group_optionsEx;
                	        	        }
                	        	        if (HASFAILED())
                	        	        {
                	        	            return retval;
                	        	        }
                	        	         
                	        	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL505, NULL); }


                	        	    }
                	        	    break;

                	            }
                	        }

                	        FOLLOWPUSH(FOLLOW_logfile_group_option_in_logfile_group_options2780);
                	        logfile_group_option506=logfile_group_option(ctx);

                	        FOLLOWPOP();
                	        if  (HASEXCEPTION())
                	        {
                	            goto rulelogfile_group_optionsEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) { CREATE_stream_logfile_group_option; stream_logfile_group_option->add(stream_logfile_group_option, logfile_group_option506.tree, NULL); }

                	    }
                	    break;

                	default:
                	    goto loop158;	/* break out of the loop */
                	    break;
                    }
                }
                loop158: ; /* Jump out to here if this rule does not match */


            }


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, logfile_group_option, logfile_group_option
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 671:3: -> ^( LOGFILE_GROUP_OPTIONS_TOKEN logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            	{
            	    // MySQL.g:671:6: ^( LOGFILE_GROUP_OPTIONS_TOKEN logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, LOGFILE_GROUP_OPTIONS_TOKEN, (pANTLR3_UINT8)"LOGFILE_GROUP_OPTIONS_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_logfile_group_option == NULL ? NULL : stream_logfile_group_option->nextTree(stream_logfile_group_option));

            	        // MySQL.g:671:57: ( ( COMMA_SYMBOL )? logfile_group_option )*
            	        {
            	        	while ( (stream_logfile_group_option != NULL && stream_logfile_group_option->hasNext(stream_logfile_group_option))  )
            	        	{
            	        		// MySQL.g:671:58: ( COMMA_SYMBOL )?
            	        		{
            	        			if ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        			{
            	        				ADAPTOR->addChild(ADAPTOR, root_1, 
            	        				stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        				);

            	        			}
            	        			if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        		}

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_logfile_group_option == NULL ? NULL : stream_logfile_group_option->nextTree(stream_logfile_group_option));

            	        	}
            	        	if (stream_logfile_group_option != NULL) stream_logfile_group_option->reset(stream_logfile_group_option);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulelogfile_group_optionsEx; /* Prevent compiler warnings */
    rulelogfile_group_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_logfile_group_option != NULL) stream_logfile_group_option->free(stream_logfile_group_option);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logfile_group_options */

/**
 * $ANTLR start logfile_group_option
 * MySQL.g:674:1: logfile_group_option : ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | ( UNDO_BUFFER_SIZE_SYMBOL | REDO_BUFFER_SIZE_SYMBOL ) ( EQUAL_OPERATOR )? size_number | NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER ) | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref );
 */
static MySQLParser_logfile_group_option_return
logfile_group_option(pMySQLParser ctx)
{
    MySQLParser_logfile_group_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL507;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR508;
    pANTLR3_COMMON_TOKEN    set510;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR511;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL513;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR514;
    pANTLR3_COMMON_TOKEN    set515;
    pANTLR3_COMMON_TOKEN    set516;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL517;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR518;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL520;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL521;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR522;
    MySQLParser_size_number_return size_number509;
    #undef	RETURN_TYPE_size_number509
    #define	RETURN_TYPE_size_number509 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number512;
    #undef	RETURN_TYPE_size_number512
    #define	RETURN_TYPE_size_number512 MySQLParser_size_number_return

    MySQLParser_string_literal_return string_literal519;
    #undef	RETURN_TYPE_string_literal519
    #define	RETURN_TYPE_string_literal519 MySQLParser_string_literal_return

    MySQLParser_engine_ref_return engine_ref523;
    #undef	RETURN_TYPE_engine_ref523
    #define	RETURN_TYPE_engine_ref523 MySQLParser_engine_ref_return

    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL507_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR508_tree;
    pANTLR3_BASE_TREE set510_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR511_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL513_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR514_tree;
    pANTLR3_BASE_TREE set515_tree;
    pANTLR3_BASE_TREE set516_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL517_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR518_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL520_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL521_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR522_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INITIAL_SIZE_SYMBOL507       = NULL;
    EQUAL_OPERATOR508       = NULL;
    set510       = NULL;
    EQUAL_OPERATOR511       = NULL;
    NODEGROUP_SYMBOL513       = NULL;
    EQUAL_OPERATOR514       = NULL;
    set515       = NULL;
    set516       = NULL;
    COMMENT_SYMBOL517       = NULL;
    EQUAL_OPERATOR518       = NULL;
    STORAGE_SYMBOL520       = NULL;
    ENGINE_SYMBOL521       = NULL;
    EQUAL_OPERATOR522       = NULL;
    size_number509.tree = NULL;

    size_number512.tree = NULL;

    string_literal519.tree = NULL;

    engine_ref523.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INITIAL_SIZE_SYMBOL507_tree   = NULL;
    EQUAL_OPERATOR508_tree   = NULL;
    set510_tree   = NULL;
    EQUAL_OPERATOR511_tree   = NULL;
    NODEGROUP_SYMBOL513_tree   = NULL;
    EQUAL_OPERATOR514_tree   = NULL;
    set515_tree   = NULL;
    set516_tree   = NULL;
    COMMENT_SYMBOL517_tree   = NULL;
    EQUAL_OPERATOR518_tree   = NULL;
    STORAGE_SYMBOL520_tree   = NULL;
    ENGINE_SYMBOL521_tree   = NULL;
    EQUAL_OPERATOR522_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:674:21: ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | ( UNDO_BUFFER_SIZE_SYMBOL | REDO_BUFFER_SIZE_SYMBOL ) ( EQUAL_OPERATOR )? size_number | NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER ) | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref )

            ANTLR3_UINT32 alt165;

            alt165=6;

            switch ( LA(1) )
            {
            case INITIAL_SIZE_SYMBOL:
            	{
            		alt165=1;
            	}
                break;
            case REDO_BUFFER_SIZE_SYMBOL:
            case UNDO_BUFFER_SIZE_SYMBOL:
            	{
            		alt165=2;
            	}
                break;
            case NODEGROUP_SYMBOL:
            	{
            		alt165=3;
            	}
                break;
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt165=4;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt165=5;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt165=6;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 165;
                EXCEPTION->state        = 0;


                goto rulelogfile_group_optionEx;

            }

            switch (alt165)
            {
        	case 1:
        	    // MySQL.g:675:2: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INITIAL_SIZE_SYMBOL507 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2810);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INITIAL_SIZE_SYMBOL507_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INITIAL_SIZE_SYMBOL507));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INITIAL_SIZE_SYMBOL507_tree);
        	        }

        	        // MySQL.g:675:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt159=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt159=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt159)
        	            {
        	        	case 1:
        	        	    // MySQL.g:675:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR508 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2812);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR508_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR508));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR508_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_logfile_group_option2815);
        	        size_number509=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number509.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:676:4: ( UNDO_BUFFER_SIZE_SYMBOL | REDO_BUFFER_SIZE_SYMBOL ) ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set510=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == REDO_BUFFER_SIZE_SYMBOL || LA(1) == UNDO_BUFFER_SIZE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set510))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulelogfile_group_optionEx;
        	        }


        	        // MySQL.g:676:56: ( EQUAL_OPERATOR )?
        	        {
        	            int alt160=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt160=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt160)
        	            {
        	        	case 1:
        	        	    // MySQL.g:676:56: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR511 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2828);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR511_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR511));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR511_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_logfile_group_option2831);
        	        size_number512=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number512.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:677:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NODEGROUP_SYMBOL513 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2836);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NODEGROUP_SYMBOL513_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL513));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL513_tree);
        	        }

        	        // MySQL.g:677:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt161=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt161=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt161)
        	            {
        	        	case 1:
        	        	    // MySQL.g:677:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR514 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2838);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR514_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR514));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR514_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set515=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == HEXNUMBER || LA(1) == INTEGER )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set515))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulelogfile_group_optionEx;
        	        }


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:678:4: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set516=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == NO_WAIT_SYMBOL || LA(1) == WAIT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set516))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulelogfile_group_optionEx;
        	        }


        	    }
        	    break;
        	case 5:
        	    // MySQL.g:679:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL517 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2863);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL517_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL517));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL517_tree);
        	        }

        	        // MySQL.g:679:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt162=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt162=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt162)
        	            {
        	        	case 1:
        	        	    // MySQL.g:679:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR518 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2865);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR518_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR518));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR518_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_logfile_group_option2868);
        	        string_literal519=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal519.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:680:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:680:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt163=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt163=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt163)
        	            {
        	        	case 1:
        	        	    // MySQL.g:680:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL520 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2873);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STORAGE_SYMBOL520_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL520));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL520_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL521 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2876);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENGINE_SYMBOL521_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL521));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL521_tree);
        	        }

        	        // MySQL.g:680:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt164=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt164=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt164)
        	            {
        	        	case 1:
        	        	    // MySQL.g:680:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR522 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2878);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR522_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR522));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR522_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_engine_ref_in_logfile_group_option2881);
        	        engine_ref523=engine_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref523.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelogfile_group_optionEx; /* Prevent compiler warnings */
    rulelogfile_group_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logfile_group_option */

/**
 * $ANTLR start create_server
 * MySQL.g:683:1: create_server : CREATE_SYMBOL ^ create_server_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_server_return
create_server(pMySQLParser ctx)
{
    MySQLParser_create_server_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL524;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL526;
    pANTLR3_COMMON_TOKEN    EOF527;
    MySQLParser_create_server_tail_return create_server_tail525;
    #undef	RETURN_TYPE_create_server_tail525
    #define	RETURN_TYPE_create_server_tail525 MySQLParser_create_server_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL524_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL526_tree;
    pANTLR3_BASE_TREE EOF527_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL524       = NULL;
    SEMICOLON_SYMBOL526       = NULL;
    EOF527       = NULL;
    create_server_tail525.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL524_tree   = NULL;
    SEMICOLON_SYMBOL526_tree   = NULL;
    EOF527_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:683:14: ( CREATE_SYMBOL ^ create_server_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:684:2: CREATE_SYMBOL ^ create_server_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL524 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_server2892);
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL524_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL524))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL524_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_create_server_tail_in_create_server2895);
            create_server_tail525=create_server_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_server_tail525.tree);

            // MySQL.g:684:36: ( SEMICOLON_SYMBOL )?
            {
                int alt166=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt166=1;
                    	}
                        break;
                }

                switch (alt166)
                {
            	case 1:
            	    // MySQL.g:684:36: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL526 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_server2897);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_serverEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL526_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL526));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL526_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF527 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_server2900);
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF527_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF527));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF527_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_serverEx; /* Prevent compiler warnings */
    rulecreate_serverEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_server */

/**
 * $ANTLR start create_server_tail
 * MySQL.g:687:1: create_server_tail : SERVER_SYMBOL text_or_identifier FOREIGN_SYMBOL DATA_SYMBOL WRAPPER_SYMBOL text_or_identifier server_options ;
 */
static MySQLParser_create_server_tail_return
create_server_tail(pMySQLParser ctx)
{
    MySQLParser_create_server_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SERVER_SYMBOL528;
    pANTLR3_COMMON_TOKEN    FOREIGN_SYMBOL530;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL531;
    pANTLR3_COMMON_TOKEN    WRAPPER_SYMBOL532;
    MySQLParser_text_or_identifier_return text_or_identifier529;
    #undef	RETURN_TYPE_text_or_identifier529
    #define	RETURN_TYPE_text_or_identifier529 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier533;
    #undef	RETURN_TYPE_text_or_identifier533
    #define	RETURN_TYPE_text_or_identifier533 MySQLParser_text_or_identifier_return

    MySQLParser_server_options_return server_options534;
    #undef	RETURN_TYPE_server_options534
    #define	RETURN_TYPE_server_options534 MySQLParser_server_options_return

    pANTLR3_BASE_TREE SERVER_SYMBOL528_tree;
    pANTLR3_BASE_TREE FOREIGN_SYMBOL530_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL531_tree;
    pANTLR3_BASE_TREE WRAPPER_SYMBOL532_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SERVER_SYMBOL528       = NULL;
    FOREIGN_SYMBOL530       = NULL;
    DATA_SYMBOL531       = NULL;
    WRAPPER_SYMBOL532       = NULL;
    text_or_identifier529.tree = NULL;

    text_or_identifier533.tree = NULL;

    server_options534.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SERVER_SYMBOL528_tree   = NULL;
    FOREIGN_SYMBOL530_tree   = NULL;
    DATA_SYMBOL531_tree   = NULL;
    WRAPPER_SYMBOL532_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:687:19: ( SERVER_SYMBOL text_or_identifier FOREIGN_SYMBOL DATA_SYMBOL WRAPPER_SYMBOL text_or_identifier server_options )
        // MySQL.g:688:2: SERVER_SYMBOL text_or_identifier FOREIGN_SYMBOL DATA_SYMBOL WRAPPER_SYMBOL text_or_identifier server_options
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SERVER_SYMBOL528 = (pANTLR3_COMMON_TOKEN) MATCHT(SERVER_SYMBOL, &FOLLOW_SERVER_SYMBOL_in_create_server_tail2909);
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SERVER_SYMBOL528_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERVER_SYMBOL528));
            ADAPTOR->addChild(ADAPTOR, root_0, SERVER_SYMBOL528_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_create_server_tail2911);
            text_or_identifier529=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier529.tree);

            FOREIGN_SYMBOL530 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_create_server_tail2915);
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOREIGN_SYMBOL530_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOREIGN_SYMBOL530));
            ADAPTOR->addChild(ADAPTOR, root_0, FOREIGN_SYMBOL530_tree);
            }

            DATA_SYMBOL531 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_create_server_tail2917);
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DATA_SYMBOL531_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL531));
            ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL531_tree);
            }

            WRAPPER_SYMBOL532 = (pANTLR3_COMMON_TOKEN) MATCHT(WRAPPER_SYMBOL, &FOLLOW_WRAPPER_SYMBOL_in_create_server_tail2919);
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WRAPPER_SYMBOL532_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WRAPPER_SYMBOL532));
            ADAPTOR->addChild(ADAPTOR, root_0, WRAPPER_SYMBOL532_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_create_server_tail2921);
            text_or_identifier533=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier533.tree);

            FOLLOWPUSH(FOLLOW_server_options_in_create_server_tail2923);
            server_options534=server_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_server_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_options534.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_server_tailEx; /* Prevent compiler warnings */
    rulecreate_server_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_server_tail */

/**
 * $ANTLR start server_options
 * MySQL.g:692:1: server_options : OPTIONS_SYMBOL ^ OPEN_PAR_SYMBOL server_option ( COMMA_SYMBOL server_option )* CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_server_options_return
server_options(pMySQLParser ctx)
{
    MySQLParser_server_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPTIONS_SYMBOL535;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL536;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL538;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL540;
    MySQLParser_server_option_return server_option537;
    #undef	RETURN_TYPE_server_option537
    #define	RETURN_TYPE_server_option537 MySQLParser_server_option_return

    MySQLParser_server_option_return server_option539;
    #undef	RETURN_TYPE_server_option539
    #define	RETURN_TYPE_server_option539 MySQLParser_server_option_return

    pANTLR3_BASE_TREE OPTIONS_SYMBOL535_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL536_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL538_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL540_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPTIONS_SYMBOL535       = NULL;
    OPEN_PAR_SYMBOL536       = NULL;
    COMMA_SYMBOL538       = NULL;
    CLOSE_PAR_SYMBOL540       = NULL;
    server_option537.tree = NULL;

    server_option539.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPTIONS_SYMBOL535_tree   = NULL;
    OPEN_PAR_SYMBOL536_tree   = NULL;
    COMMA_SYMBOL538_tree   = NULL;
    CLOSE_PAR_SYMBOL540_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:692:15: ( OPTIONS_SYMBOL ^ OPEN_PAR_SYMBOL server_option ( COMMA_SYMBOL server_option )* CLOSE_PAR_SYMBOL )
        // MySQL.g:693:2: OPTIONS_SYMBOL ^ OPEN_PAR_SYMBOL server_option ( COMMA_SYMBOL server_option )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPTIONS_SYMBOL535 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIONS_SYMBOL, &FOLLOW_OPTIONS_SYMBOL_in_server_options2932);
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPTIONS_SYMBOL535_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIONS_SYMBOL535))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, OPTIONS_SYMBOL535_tree, root_0));
            }

            OPEN_PAR_SYMBOL536 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_server_options2935);
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL536_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL536));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL536_tree);
            }

            FOLLOWPUSH(FOLLOW_server_option_in_server_options2937);
            server_option537=server_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_option537.tree);

            // MySQL.g:693:48: ( COMMA_SYMBOL server_option )*

            for (;;)
            {
                int alt167=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt167=1;
                	}
                    break;

                }

                switch (alt167)
                {
            	case 1:
            	    // MySQL.g:693:49: COMMA_SYMBOL server_option
            	    {
            	        COMMA_SYMBOL538 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_server_options2940);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleserver_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL538_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL538));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL538_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_server_option_in_server_options2942);
            	        server_option539=server_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleserver_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_option539.tree);

            	    }
            	    break;

            	default:
            	    goto loop167;	/* break out of the loop */
            	    break;
                }
            }
            loop167: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL540 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2946);
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL540_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL540));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL540_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleserver_optionsEx; /* Prevent compiler warnings */
    ruleserver_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end server_options */

/**
 * $ANTLR start server_option
 * MySQL.g:697:1: server_option : ( HOST_SYMBOL string_literal | DATABASE_SYMBOL string_literal | USER_SYMBOL string_literal | PASSWORD_SYMBOL string_literal | SOCKET_SYMBOL string_literal | OWNER_SYMBOL string_literal | PORT_SYMBOL INTEGER );
 */
static MySQLParser_server_option_return
server_option(pMySQLParser ctx)
{
    MySQLParser_server_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    HOST_SYMBOL541;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL543;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL545;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL547;
    pANTLR3_COMMON_TOKEN    SOCKET_SYMBOL549;
    pANTLR3_COMMON_TOKEN    OWNER_SYMBOL551;
    pANTLR3_COMMON_TOKEN    PORT_SYMBOL553;
    pANTLR3_COMMON_TOKEN    INTEGER554;
    MySQLParser_string_literal_return string_literal542;
    #undef	RETURN_TYPE_string_literal542
    #define	RETURN_TYPE_string_literal542 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal544;
    #undef	RETURN_TYPE_string_literal544
    #define	RETURN_TYPE_string_literal544 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal546;
    #undef	RETURN_TYPE_string_literal546
    #define	RETURN_TYPE_string_literal546 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal548;
    #undef	RETURN_TYPE_string_literal548
    #define	RETURN_TYPE_string_literal548 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal550;
    #undef	RETURN_TYPE_string_literal550
    #define	RETURN_TYPE_string_literal550 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal552;
    #undef	RETURN_TYPE_string_literal552
    #define	RETURN_TYPE_string_literal552 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE HOST_SYMBOL541_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL543_tree;
    pANTLR3_BASE_TREE USER_SYMBOL545_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL547_tree;
    pANTLR3_BASE_TREE SOCKET_SYMBOL549_tree;
    pANTLR3_BASE_TREE OWNER_SYMBOL551_tree;
    pANTLR3_BASE_TREE PORT_SYMBOL553_tree;
    pANTLR3_BASE_TREE INTEGER554_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    HOST_SYMBOL541       = NULL;
    DATABASE_SYMBOL543       = NULL;
    USER_SYMBOL545       = NULL;
    PASSWORD_SYMBOL547       = NULL;
    SOCKET_SYMBOL549       = NULL;
    OWNER_SYMBOL551       = NULL;
    PORT_SYMBOL553       = NULL;
    INTEGER554       = NULL;
    string_literal542.tree = NULL;

    string_literal544.tree = NULL;

    string_literal546.tree = NULL;

    string_literal548.tree = NULL;

    string_literal550.tree = NULL;

    string_literal552.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    HOST_SYMBOL541_tree   = NULL;
    DATABASE_SYMBOL543_tree   = NULL;
    USER_SYMBOL545_tree   = NULL;
    PASSWORD_SYMBOL547_tree   = NULL;
    SOCKET_SYMBOL549_tree   = NULL;
    OWNER_SYMBOL551_tree   = NULL;
    PORT_SYMBOL553_tree   = NULL;
    INTEGER554_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:697:14: ( HOST_SYMBOL string_literal | DATABASE_SYMBOL string_literal | USER_SYMBOL string_literal | PASSWORD_SYMBOL string_literal | SOCKET_SYMBOL string_literal | OWNER_SYMBOL string_literal | PORT_SYMBOL INTEGER )

            ANTLR3_UINT32 alt168;

            alt168=7;

            switch ( LA(1) )
            {
            case HOST_SYMBOL:
            	{
            		alt168=1;
            	}
                break;
            case DATABASE_SYMBOL:
            	{
            		alt168=2;
            	}
                break;
            case USER_SYMBOL:
            	{
            		alt168=3;
            	}
                break;
            case PASSWORD_SYMBOL:
            	{
            		alt168=4;
            	}
                break;
            case SOCKET_SYMBOL:
            	{
            		alt168=5;
            	}
                break;
            case OWNER_SYMBOL:
            	{
            		alt168=6;
            	}
                break;
            case PORT_SYMBOL:
            	{
            		alt168=7;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 168;
                EXCEPTION->state        = 0;


                goto ruleserver_optionEx;

            }

            switch (alt168)
            {
        	case 1:
        	    // MySQL.g:698:2: HOST_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOST_SYMBOL541 = (pANTLR3_COMMON_TOKEN) MATCHT(HOST_SYMBOL, &FOLLOW_HOST_SYMBOL_in_server_option2956);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOST_SYMBOL541_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOST_SYMBOL541));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOST_SYMBOL541_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2958);
        	        string_literal542=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal542.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:699:4: DATABASE_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATABASE_SYMBOL543 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_server_option2963);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATABASE_SYMBOL543_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL543));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL543_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2965);
        	        string_literal544=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal544.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:700:4: USER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USER_SYMBOL545 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_server_option2970);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_SYMBOL545_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL545));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL545_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2972);
        	        string_literal546=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal546.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:701:4: PASSWORD_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL547 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_server_option2977);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL547_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL547));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL547_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2979);
        	        string_literal548=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal548.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:702:4: SOCKET_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SOCKET_SYMBOL549 = (pANTLR3_COMMON_TOKEN) MATCHT(SOCKET_SYMBOL, &FOLLOW_SOCKET_SYMBOL_in_server_option2984);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SOCKET_SYMBOL549_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SOCKET_SYMBOL549));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SOCKET_SYMBOL549_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2986);
        	        string_literal550=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal550.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:703:4: OWNER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OWNER_SYMBOL551 = (pANTLR3_COMMON_TOKEN) MATCHT(OWNER_SYMBOL, &FOLLOW_OWNER_SYMBOL_in_server_option2991);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OWNER_SYMBOL551_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OWNER_SYMBOL551));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OWNER_SYMBOL551_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2993);
        	        string_literal552=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal552.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:704:4: PORT_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PORT_SYMBOL553 = (pANTLR3_COMMON_TOKEN) MATCHT(PORT_SYMBOL, &FOLLOW_PORT_SYMBOL_in_server_option2998);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PORT_SYMBOL553_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PORT_SYMBOL553));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PORT_SYMBOL553_tree);
        	        }

        	        INTEGER554 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_server_option3000);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER554_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER554));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER554_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleserver_optionEx; /* Prevent compiler warnings */
    ruleserver_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end server_option */

/**
 * $ANTLR start create_table
 * MySQL.g:707:1: create_table : CREATE_SYMBOL ^ create_table_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_table_return
create_table(pMySQLParser ctx)
{
    MySQLParser_create_table_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL555;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL557;
    pANTLR3_COMMON_TOKEN    EOF558;
    MySQLParser_create_table_tail_return create_table_tail556;
    #undef	RETURN_TYPE_create_table_tail556
    #define	RETURN_TYPE_create_table_tail556 MySQLParser_create_table_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL555_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL557_tree;
    pANTLR3_BASE_TREE EOF558_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL555       = NULL;
    SEMICOLON_SYMBOL557       = NULL;
    EOF558       = NULL;
    create_table_tail556.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL555_tree   = NULL;
    SEMICOLON_SYMBOL557_tree   = NULL;
    EOF558_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:707:13: ( CREATE_SYMBOL ^ create_table_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:708:2: CREATE_SYMBOL ^ create_table_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL555 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_table3010);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL555_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL555))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL555_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_create_table_tail_in_create_table3013);
            create_table_tail556=create_table_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_tail556.tree);

            // MySQL.g:708:35: ( SEMICOLON_SYMBOL )?
            {
                int alt169=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt169=1;
                    	}
                        break;
                }

                switch (alt169)
                {
            	case 1:
            	    // MySQL.g:708:35: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL557 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_table3015);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL557_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL557));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL557_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF558 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_table3018);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF558_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF558));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF558_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_tableEx; /* Prevent compiler warnings */
    rulecreate_tableEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_table */

/**
 * $ANTLR start create_table_tail
 * MySQL.g:711:1: create_table_tail : ( TEMPORARY_SYMBOL )? TABLE_SYMBOL ( if_not_exists )? table_name ( OPEN_PAR_SYMBOL ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? ) | ( create_table_options )? ( partitioning )? table_creation_source | LIKE_SYMBOL table_ref | OPEN_PAR_SYMBOL LIKE_SYMBOL table_ref CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_create_table_tail_return
create_table_tail(pMySQLParser ctx)
{
    MySQLParser_create_table_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TEMPORARY_SYMBOL559;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL560;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL563;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL565;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL571;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL576;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL578;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL579;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL581;
    MySQLParser_if_not_exists_return if_not_exists561;
    #undef	RETURN_TYPE_if_not_exists561
    #define	RETURN_TYPE_if_not_exists561 MySQLParser_if_not_exists_return

    MySQLParser_table_name_return table_name562;
    #undef	RETURN_TYPE_table_name562
    #define	RETURN_TYPE_table_name562 MySQLParser_table_name_return

    MySQLParser_create_field_list_return create_field_list564;
    #undef	RETURN_TYPE_create_field_list564
    #define	RETURN_TYPE_create_field_list564 MySQLParser_create_field_list_return

    MySQLParser_create_table_options_return create_table_options566;
    #undef	RETURN_TYPE_create_table_options566
    #define	RETURN_TYPE_create_table_options566 MySQLParser_create_table_options_return

    MySQLParser_partitioning_return partitioning567;
    #undef	RETURN_TYPE_partitioning567
    #define	RETURN_TYPE_partitioning567 MySQLParser_partitioning_return

    MySQLParser_table_creation_source_return table_creation_source568;
    #undef	RETURN_TYPE_table_creation_source568
    #define	RETURN_TYPE_table_creation_source568 MySQLParser_table_creation_source_return

    MySQLParser_partitioning_return partitioning569;
    #undef	RETURN_TYPE_partitioning569
    #define	RETURN_TYPE_partitioning569 MySQLParser_partitioning_return

    MySQLParser_create_select_return create_select570;
    #undef	RETURN_TYPE_create_select570
    #define	RETURN_TYPE_create_select570 MySQLParser_create_select_return

    MySQLParser_union_clause_return union_clause572;
    #undef	RETURN_TYPE_union_clause572
    #define	RETURN_TYPE_union_clause572 MySQLParser_union_clause_return

    MySQLParser_create_table_options_return create_table_options573;
    #undef	RETURN_TYPE_create_table_options573
    #define	RETURN_TYPE_create_table_options573 MySQLParser_create_table_options_return

    MySQLParser_partitioning_return partitioning574;
    #undef	RETURN_TYPE_partitioning574
    #define	RETURN_TYPE_partitioning574 MySQLParser_partitioning_return

    MySQLParser_table_creation_source_return table_creation_source575;
    #undef	RETURN_TYPE_table_creation_source575
    #define	RETURN_TYPE_table_creation_source575 MySQLParser_table_creation_source_return

    MySQLParser_table_ref_return table_ref577;
    #undef	RETURN_TYPE_table_ref577
    #define	RETURN_TYPE_table_ref577 MySQLParser_table_ref_return

    MySQLParser_table_ref_return table_ref580;
    #undef	RETURN_TYPE_table_ref580
    #define	RETURN_TYPE_table_ref580 MySQLParser_table_ref_return

    pANTLR3_BASE_TREE TEMPORARY_SYMBOL559_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL560_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL563_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL565_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL571_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL576_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL578_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL579_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL581_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TEMPORARY_SYMBOL559       = NULL;
    TABLE_SYMBOL560       = NULL;
    OPEN_PAR_SYMBOL563       = NULL;
    CLOSE_PAR_SYMBOL565       = NULL;
    CLOSE_PAR_SYMBOL571       = NULL;
    LIKE_SYMBOL576       = NULL;
    OPEN_PAR_SYMBOL578       = NULL;
    LIKE_SYMBOL579       = NULL;
    CLOSE_PAR_SYMBOL581       = NULL;
    if_not_exists561.tree = NULL;

    table_name562.tree = NULL;

    create_field_list564.tree = NULL;

    create_table_options566.tree = NULL;

    partitioning567.tree = NULL;

    table_creation_source568.tree = NULL;

    partitioning569.tree = NULL;

    create_select570.tree = NULL;

    union_clause572.tree = NULL;

    create_table_options573.tree = NULL;

    partitioning574.tree = NULL;

    table_creation_source575.tree = NULL;

    table_ref577.tree = NULL;

    table_ref580.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TEMPORARY_SYMBOL559_tree   = NULL;
    TABLE_SYMBOL560_tree   = NULL;
    OPEN_PAR_SYMBOL563_tree   = NULL;
    CLOSE_PAR_SYMBOL565_tree   = NULL;
    CLOSE_PAR_SYMBOL571_tree   = NULL;
    LIKE_SYMBOL576_tree   = NULL;
    OPEN_PAR_SYMBOL578_tree   = NULL;
    LIKE_SYMBOL579_tree   = NULL;
    CLOSE_PAR_SYMBOL581_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:711:18: ( ( TEMPORARY_SYMBOL )? TABLE_SYMBOL ( if_not_exists )? table_name ( OPEN_PAR_SYMBOL ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? ) | ( create_table_options )? ( partitioning )? table_creation_source | LIKE_SYMBOL table_ref | OPEN_PAR_SYMBOL LIKE_SYMBOL table_ref CLOSE_PAR_SYMBOL ) )
        // MySQL.g:712:2: ( TEMPORARY_SYMBOL )? TABLE_SYMBOL ( if_not_exists )? table_name ( OPEN_PAR_SYMBOL ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? ) | ( create_table_options )? ( partitioning )? table_creation_source | LIKE_SYMBOL table_ref | OPEN_PAR_SYMBOL LIKE_SYMBOL table_ref CLOSE_PAR_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:712:2: ( TEMPORARY_SYMBOL )?
            {
                int alt170=2;
                switch ( LA(1) )
                {
                    case TEMPORARY_SYMBOL:
                    	{
                    		alt170=1;
                    	}
                        break;
                }

                switch (alt170)
                {
            	case 1:
            	    // MySQL.g:712:2: TEMPORARY_SYMBOL
            	    {
            	        TEMPORARY_SYMBOL559 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_create_table_tail3027);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TEMPORARY_SYMBOL559_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEMPORARY_SYMBOL559));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TEMPORARY_SYMBOL559_tree);
            	        }

            	    }
            	    break;

                }
            }

            TABLE_SYMBOL560 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_create_table_tail3030);
            if  (HASEXCEPTION())
            {
                goto rulecreate_table_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TABLE_SYMBOL560_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL560));
            ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL560_tree);
            }

            // MySQL.g:712:33: ( if_not_exists )?
            {
                int alt171=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt171=1;
                    	}
                        break;
                }

                switch (alt171)
                {
            	case 1:
            	    // MySQL.g:712:33: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_table_tail3032);
            	        if_not_exists561=if_not_exists(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_not_exists561.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_name_in_create_table_tail3035);
            table_name562=table_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_table_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_name562.tree);

            // MySQL.g:713:3: ( OPEN_PAR_SYMBOL ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? ) | ( create_table_options )? ( partitioning )? table_creation_source | LIKE_SYMBOL table_ref | OPEN_PAR_SYMBOL LIKE_SYMBOL table_ref CLOSE_PAR_SYMBOL )
            {
                int alt179=4;
                {
                    int LA179_0 = LA(1);
                    if ( (LA179_0 == OPEN_PAR_SYMBOL))
                    {
                        {
                            int LA179_1 = LA(2);
                            if ( (LA179_1 == LIKE_SYMBOL))
                            {
                                alt179=4;
                            }
                            else if ( (((LA179_1 >= ASCII_SYMBOL) && (LA179_1 <= YEAR_SYMBOL)) || LA179_1 == BACK_TICK_QUOTED_ID || LA179_1 == CHECK_SYMBOL || LA179_1 == CONSTRAINT_SYMBOL || LA179_1 == DOUBLE_QUOTED_TEXT || LA179_1 == FOREIGN_SYMBOL || LA179_1 == FULLTEXT_SYMBOL || LA179_1 == IDENTIFIER || LA179_1 == INDEX_SYMBOL || LA179_1 == KEY_SYMBOL || LA179_1 == PRIMARY_SYMBOL || LA179_1 == SPATIAL_SYMBOL || LA179_1 == UNIQUE_SYMBOL))
                            {
                                alt179=1;
                            }
                            else if ( (LA179_1 == SELECT_SYMBOL))
                            {
                                alt179=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 179;
                                EXCEPTION->state        = 1;


                                goto rulecreate_table_tailEx;

                            }
                        }
                    }
                    else if ( (LA179_0 == ENGINE_SYMBOL))
                    {
                        alt179=2;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA179_0 == TYPE_SYMBOL))
                    {
                        alt179=2;
                    }
                    else if ( (LA179_0 == COMMENT_SYMBOL || LA179_0 == AUTO_INCREMENT_SYMBOL || LA179_0 == AVG_ROW_LENGTH_SYMBOL || LA179_0 == MAX_ROWS_SYMBOL || LA179_0 == MIN_ROWS_SYMBOL || LA179_0 == PACK_KEYS_SYMBOL || LA179_0 == PASSWORD_SYMBOL))
                    {
                        alt179=2;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (((LA179_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA179_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                    {
                        alt179=2;
                    }
                    else if ( (((LA179_0 >= CHARSET_SYMBOL) && (LA179_0 <= CHECKSUM_SYMBOL)) || LA179_0 == CONNECTION_SYMBOL || LA179_0 == DATA_SYMBOL || LA179_0 == DELAY_KEY_WRITE_SYMBOL || ((LA179_0 >= INSERT_METHOD_SYMBOL) && (LA179_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA179_0 == ROW_FORMAT_SYMBOL || LA179_0 == STORAGE_SYMBOL || ((LA179_0 >= TABLE_CHECKSUM_SYMBOL) && (LA179_0 <= TABLESPACE_SYMBOL)) || LA179_0 == CHAR_SYMBOL || LA179_0 == COLLATE_SYMBOL || LA179_0 == DEFAULT_SYMBOL || LA179_0 == INDEX_SYMBOL || LA179_0 == UNION_SYMBOL))
                    {
                        alt179=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA179_0 == PARTITION_SYMBOL))
                    {
                        alt179=2;
                    }
                    else if ( (LA179_0 == AS_SYMBOL || LA179_0 == IGNORE_SYMBOL || LA179_0 == REPLACE_SYMBOL || LA179_0 == SELECT_SYMBOL))
                    {
                        alt179=2;
                    }
                    else if ( (LA179_0 == LIKE_SYMBOL))
                    {
                        alt179=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 179;
                        EXCEPTION->state        = 0;


                        goto rulecreate_table_tailEx;

                    }
                }
                switch (alt179)
                {
            	case 1:
            	    // MySQL.g:714:4: OPEN_PAR_SYMBOL ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? )
            	    {
            	        OPEN_PAR_SYMBOL563 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3044);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL563_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL563));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL563_tree);
            	        }

            	        // MySQL.g:715:5: ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? )
            	        {
            	            int alt176=2;
            	            {
            	                int LA176_0 = LA(1);
            	                if ( (LA176_0 == BACK_TICK_QUOTED_ID || LA176_0 == IDENTIFIER))
            	                {
            	                    alt176=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA176_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt176=1;
            	                }
            	                else if ( (((LA176_0 >= ASCII_SYMBOL) && (LA176_0 <= PARSER_SYMBOL)) || ((LA176_0 >= PORT_SYMBOL) && (LA176_0 <= YEAR_SYMBOL)) || LA176_0 == CHECK_SYMBOL || LA176_0 == CONSTRAINT_SYMBOL || LA176_0 == FOREIGN_SYMBOL || LA176_0 == FULLTEXT_SYMBOL || LA176_0 == INDEX_SYMBOL || LA176_0 == KEY_SYMBOL || LA176_0 == PRIMARY_SYMBOL || LA176_0 == SPATIAL_SYMBOL || LA176_0 == UNIQUE_SYMBOL))
            	                {
            	                    alt176=1;
            	                }
            	                else if ( (LA176_0 == PARTITION_SYMBOL))
            	                {
            	                    {
            	                        int LA176_5 = LA(2);
            	                        if ( ((SERVER_VERSION >= 50100)) && (LA176_5 == BY_SYMBOL))
            	                        {
            	                            alt176=2;
            	                        }
            	                        else if ( (LA176_5 == BIT_SYMBOL || ((LA176_5 >= BOOL_SYMBOL) && (LA176_5 <= BOOLEAN_SYMBOL)) || ((LA176_5 >= DATETIME_SYMBOL) && (LA176_5 <= DATE_SYMBOL)) || LA176_5 == ENUM_SYMBOL || LA176_5 == FIXED_SYMBOL || ((LA176_5 >= GEOMETRY_SYMBOL) && (LA176_5 <= GEOMETRYCOLLECTION_SYMBOL)) || LA176_5 == LINESTRING_SYMBOL || ((LA176_5 >= MULTILINESTRING_SYMBOL) && (LA176_5 <= MULTIPOLYGON_SYMBOL)) || ((LA176_5 >= NATIONAL_SYMBOL) && (LA176_5 <= NCHAR_SYMBOL)) || LA176_5 == NVARCHAR_SYMBOL || ((LA176_5 >= POINT_SYMBOL) && (LA176_5 <= POLYGON_SYMBOL)) || LA176_5 == SERIAL_SYMBOL || LA176_5 == TEXT_SYMBOL || LA176_5 == TIMESTAMP_SYMBOL || LA176_5 == TIME_SYMBOL || LA176_5 == YEAR_SYMBOL || ((LA176_5 >= BIGINT_SYMBOL) && (LA176_5 <= BINARY_SYMBOL)) || LA176_5 == BLOB_SYMBOL || LA176_5 == CHAR_SYMBOL || LA176_5 == DECIMAL_SYMBOL || LA176_5 == DOUBLE_SYMBOL || LA176_5 == FLOAT_SYMBOL || LA176_5 == INT_SYMBOL || ((LA176_5 >= LONGBLOB_SYMBOL) && (LA176_5 <= LONGTEXT_SYMBOL)) || LA176_5 == LONG_SYMBOL || ((LA176_5 >= MEDIUMBLOB_SYMBOL) && (LA176_5 <= MEDIUMTEXT_SYMBOL)) || LA176_5 == NUMERIC_SYMBOL || LA176_5 == REAL_SYMBOL || LA176_5 == SET_SYMBOL || LA176_5 == SMALLINT_SYMBOL || ((LA176_5 >= TINYBLOB_SYMBOL) && (LA176_5 <= TINYTEXT_SYMBOL)) || LA176_5 == VARBINARY_SYMBOL || LA176_5 == VARCHAR_SYMBOL))
            	                        {
            	                            alt176=1;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


            	                            CONSTRUCTEX();
            	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                            EXCEPTION->message      = (void *)"";
            	                            EXCEPTION->decisionNum  = 176;
            	                            EXCEPTION->state        = 5;


            	                            goto rulecreate_table_tailEx;

            	                        }
            	                    }
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 176;
            	                    EXCEPTION->state        = 0;


            	                    goto rulecreate_table_tailEx;

            	                }
            	            }
            	            switch (alt176)
            	            {
            	        	case 1:
            	        	    // MySQL.g:716:6: create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_field_list_in_create_table_tail3057);
            	        	        create_field_list564=create_field_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_field_list564.tree);

            	        	        CLOSE_PAR_SYMBOL565 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3059);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL565_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL565));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL565_tree);
            	        	        }

            	        	        // MySQL.g:716:41: ( create_table_options )?
            	        	        {
            	        	            int alt172=2;
            	        	            {
            	        	                int LA172_0 = LA(1);
            	        	                if ( (LA172_0 == ENGINE_SYMBOL))
            	        	                {
            	        	                    alt172=1;
            	        	                }
            	        	                else if ( ((SERVER_VERSION < 50500)) && (LA172_0 == TYPE_SYMBOL))
            	        	                {
            	        	                    alt172=1;
            	        	                }
            	        	                else if ( (LA172_0 == COMMENT_SYMBOL || LA172_0 == AUTO_INCREMENT_SYMBOL || LA172_0 == AVG_ROW_LENGTH_SYMBOL || LA172_0 == MAX_ROWS_SYMBOL || LA172_0 == MIN_ROWS_SYMBOL || LA172_0 == PACK_KEYS_SYMBOL || LA172_0 == PASSWORD_SYMBOL))
            	        	                {
            	        	                    alt172=1;
            	        	                }
            	        	                else if ( ((SERVER_VERSION >= 50600)) && (((LA172_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA172_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	        	                {
            	        	                    alt172=1;
            	        	                }
            	        	                else if ( (((LA172_0 >= CHARSET_SYMBOL) && (LA172_0 <= CHECKSUM_SYMBOL)) || LA172_0 == CONNECTION_SYMBOL || LA172_0 == DATA_SYMBOL || LA172_0 == DELAY_KEY_WRITE_SYMBOL || ((LA172_0 >= INSERT_METHOD_SYMBOL) && (LA172_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA172_0 == ROW_FORMAT_SYMBOL || LA172_0 == STORAGE_SYMBOL || ((LA172_0 >= TABLE_CHECKSUM_SYMBOL) && (LA172_0 <= TABLESPACE_SYMBOL)) || LA172_0 == CHAR_SYMBOL || LA172_0 == COLLATE_SYMBOL || LA172_0 == DEFAULT_SYMBOL || LA172_0 == INDEX_SYMBOL || LA172_0 == UNION_SYMBOL))
            	        	                {
            	        	                    alt172=1;
            	        	                }
            	        	            }
            	        	            switch (alt172)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:716:41: create_table_options
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_create_table_options_in_create_table_tail3061);
            	        	        	        create_table_options566=create_table_options(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulecreate_table_tailEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_options566.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:716:63: ( partitioning )?
            	        	        {
            	        	            int alt173=2;
            	        	            {
            	        	                int LA173_0 = LA(1);
            	        	                if ( ((SERVER_VERSION >= 50100)) && (LA173_0 == PARTITION_SYMBOL))
            	        	                {
            	        	                    alt173=1;
            	        	                }
            	        	            }
            	        	            switch (alt173)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:716:63: partitioning
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table_tail3064);
            	        	        	        partitioning567=partitioning(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulecreate_table_tailEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partitioning567.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:716:77: ( table_creation_source )?
            	        	        {
            	        	            int alt174=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                case IGNORE_SYMBOL:
            	        	                case OPEN_PAR_SYMBOL:
            	        	                case REPLACE_SYMBOL:
            	        	                case SELECT_SYMBOL:
            	        	                	{
            	        	                		alt174=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt174)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:716:77: table_creation_source
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_table_creation_source_in_create_table_tail3067);
            	        	        	        table_creation_source568=table_creation_source(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulecreate_table_tailEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_creation_source568.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:717:8: partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table_tail3077);
            	        	        partitioning569=partitioning(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partitioning569.tree);

            	        	        FOLLOWPUSH(FOLLOW_create_select_in_create_table_tail3079);
            	        	        create_select570=create_select(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select570.tree);

            	        	        CLOSE_PAR_SYMBOL571 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3081);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL571_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL571));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL571_tree);
            	        	        }

            	        	        // MySQL.g:717:52: ( union_clause )?
            	        	        {
            	        	            int alt175=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case UNION_SYMBOL:
            	        	                	{
            	        	                		alt175=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt175)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:717:52: union_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_create_table_tail3083);
            	        	        	        union_clause572=union_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulecreate_table_tailEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause572.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:719:6: ( create_table_options )? ( partitioning )? table_creation_source
            	    {
            	        // MySQL.g:719:6: ( create_table_options )?
            	        {
            	            int alt177=2;
            	            {
            	                int LA177_0 = LA(1);
            	                if ( (LA177_0 == ENGINE_SYMBOL))
            	                {
            	                    alt177=1;
            	                }
            	                else if ( ((SERVER_VERSION < 50500)) && (LA177_0 == TYPE_SYMBOL))
            	                {
            	                    alt177=1;
            	                }
            	                else if ( (LA177_0 == COMMENT_SYMBOL || LA177_0 == AUTO_INCREMENT_SYMBOL || LA177_0 == AVG_ROW_LENGTH_SYMBOL || LA177_0 == MAX_ROWS_SYMBOL || LA177_0 == MIN_ROWS_SYMBOL || LA177_0 == PACK_KEYS_SYMBOL || LA177_0 == PASSWORD_SYMBOL))
            	                {
            	                    alt177=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50600)) && (((LA177_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA177_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	                {
            	                    alt177=1;
            	                }
            	                else if ( (((LA177_0 >= CHARSET_SYMBOL) && (LA177_0 <= CHECKSUM_SYMBOL)) || LA177_0 == CONNECTION_SYMBOL || LA177_0 == DATA_SYMBOL || LA177_0 == DELAY_KEY_WRITE_SYMBOL || ((LA177_0 >= INSERT_METHOD_SYMBOL) && (LA177_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA177_0 == ROW_FORMAT_SYMBOL || LA177_0 == STORAGE_SYMBOL || ((LA177_0 >= TABLE_CHECKSUM_SYMBOL) && (LA177_0 <= TABLESPACE_SYMBOL)) || LA177_0 == CHAR_SYMBOL || LA177_0 == COLLATE_SYMBOL || LA177_0 == DEFAULT_SYMBOL || LA177_0 == INDEX_SYMBOL || LA177_0 == UNION_SYMBOL))
            	                {
            	                    alt177=1;
            	                }
            	            }
            	            switch (alt177)
            	            {
            	        	case 1:
            	        	    // MySQL.g:719:6: create_table_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_table_options_in_create_table_tail3097);
            	        	        create_table_options573=create_table_options(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_options573.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:719:28: ( partitioning )?
            	        {
            	            int alt178=2;
            	            {
            	                int LA178_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50100)) && (LA178_0 == PARTITION_SYMBOL))
            	                {
            	                    alt178=1;
            	                }
            	            }
            	            switch (alt178)
            	            {
            	        	case 1:
            	        	    // MySQL.g:719:28: partitioning
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table_tail3100);
            	        	        partitioning574=partitioning(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partitioning574.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_table_creation_source_in_create_table_tail3103);
            	        table_creation_source575=table_creation_source(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_creation_source575.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:720:6: LIKE_SYMBOL table_ref
            	    {
            	        LIKE_SYMBOL576 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_create_table_tail3110);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LIKE_SYMBOL576_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL576));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL576_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_create_table_tail3112);
            	        table_ref577=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref577.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:721:6: OPEN_PAR_SYMBOL LIKE_SYMBOL table_ref CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL578 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table_tail3119);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL578_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL578));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL578_tree);
            	        }

            	        LIKE_SYMBOL579 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_create_table_tail3121);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LIKE_SYMBOL579_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL579));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL579_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_create_table_tail3123);
            	        table_ref580=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref580.tree);

            	        CLOSE_PAR_SYMBOL581 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_tail3125);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL581_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL581));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL581_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_table_tailEx; /* Prevent compiler warnings */
    rulecreate_table_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_table_tail */

/**
 * $ANTLR start create_field_list
 * MySQL.g:725:1: create_field_list : create_item ( COMMA_SYMBOL create_item )* ;
 */
static MySQLParser_create_field_list_return
create_field_list(pMySQLParser ctx)
{
    MySQLParser_create_field_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL583;
    MySQLParser_create_item_return create_item582;
    #undef	RETURN_TYPE_create_item582
    #define	RETURN_TYPE_create_item582 MySQLParser_create_item_return

    MySQLParser_create_item_return create_item584;
    #undef	RETURN_TYPE_create_item584
    #define	RETURN_TYPE_create_item584 MySQLParser_create_item_return

    pANTLR3_BASE_TREE COMMA_SYMBOL583_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL583       = NULL;
    create_item582.tree = NULL;

    create_item584.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL583_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:725:18: ( create_item ( COMMA_SYMBOL create_item )* )
        // MySQL.g:726:2: create_item ( COMMA_SYMBOL create_item )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_item_in_create_field_list3138);
            create_item582=create_item(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_field_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_item582.tree);

            // MySQL.g:726:14: ( COMMA_SYMBOL create_item )*

            for (;;)
            {
                int alt180=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt180=1;
                	}
                    break;

                }

                switch (alt180)
                {
            	case 1:
            	    // MySQL.g:726:15: COMMA_SYMBOL create_item
            	    {
            	        COMMA_SYMBOL583 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_field_list3141);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_field_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL583_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL583));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL583_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_create_item_in_create_field_list3143);
            	        create_item584=create_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_field_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_item584.tree);

            	    }
            	    break;

            	default:
            	    goto loop180;	/* break out of the loop */
            	    break;
                }
            }
            loop180: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_field_listEx; /* Prevent compiler warnings */
    rulecreate_field_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_field_list */

/**
 * $ANTLR start create_item
 * MySQL.g:729:1: create_item : create_field_list_item -> ^( CREATE_ITEM_TOKEN create_field_list_item ) ;
 */
static MySQLParser_create_item_return
create_item(pMySQLParser ctx)
{
    MySQLParser_create_item_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_create_field_list_item_return create_field_list_item585;
    #undef	RETURN_TYPE_create_field_list_item585
    #define	RETURN_TYPE_create_field_list_item585 MySQLParser_create_field_list_item_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_create_field_list_item;
    /* Initialize rule variables
     */

    root_0 = NULL;

    create_field_list_item585.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_create_field_list_item   = NULL;
    #define CREATE_stream_create_field_list_item  if (stream_create_field_list_item == NULL) {stream_create_field_list_item = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule create_field_list_item"); }

    retval.tree  = NULL;

    {
        // MySQL.g:729:12: ( create_field_list_item -> ^( CREATE_ITEM_TOKEN create_field_list_item ) )
        // MySQL.g:730:2: create_field_list_item
        {
            FOLLOWPUSH(FOLLOW_create_field_list_item_in_create_item3154);
            create_field_list_item585=create_field_list_item(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_create_field_list_item; stream_create_field_list_item->add(stream_create_field_list_item, create_field_list_item585.tree, NULL); }

            /* AST REWRITE
             * elements          : create_field_list_item
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 730:25: -> ^( CREATE_ITEM_TOKEN create_field_list_item )
            	{
            	    // MySQL.g:730:28: ^( CREATE_ITEM_TOKEN create_field_list_item )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, CREATE_ITEM_TOKEN, (pANTLR3_UINT8)"CREATE_ITEM_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_create_field_list_item == NULL ? NULL : stream_create_field_list_item->nextTree(stream_create_field_list_item));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_itemEx; /* Prevent compiler warnings */
    rulecreate_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_create_field_list_item != NULL) stream_create_field_list_item->free(stream_create_field_list_item);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_item */

/**
 * $ANTLR start create_field_list_item
 * MySQL.g:733:1: create_field_list_item : ( column_definition | ( CONSTRAINT_SYMBOL ( identifier )? )? ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( pure_identifier )? index_columns reference_definition | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* ) | ( INDEX_SYMBOL | KEY_SYMBOL ) ( identifier )? ( index_type )? index_columns ( index_option )* | ( FULLTEXT_SYMBOL | SPATIAL_SYMBOL ) ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )* | CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL );
 */
static MySQLParser_create_field_list_item_return
create_field_list_item(pMySQLParser ctx)
{
    MySQLParser_create_field_list_item_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CONSTRAINT_SYMBOL587;
    pANTLR3_COMMON_TOKEN    PRIMARY_SYMBOL589;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL590;
    pANTLR3_COMMON_TOKEN    FOREIGN_SYMBOL594;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL595;
    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL599;
    pANTLR3_COMMON_TOKEN    set600;
    pANTLR3_COMMON_TOKEN    set605;
    pANTLR3_COMMON_TOKEN    set610;
    pANTLR3_COMMON_TOKEN    set611;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL615;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL616;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL618;
    MySQLParser_column_definition_return column_definition586;
    #undef	RETURN_TYPE_column_definition586
    #define	RETURN_TYPE_column_definition586 MySQLParser_column_definition_return

    MySQLParser_identifier_return identifier588;
    #undef	RETURN_TYPE_identifier588
    #define	RETURN_TYPE_identifier588 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type591;
    #undef	RETURN_TYPE_index_type591
    #define	RETURN_TYPE_index_type591 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns592;
    #undef	RETURN_TYPE_index_columns592
    #define	RETURN_TYPE_index_columns592 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option593;
    #undef	RETURN_TYPE_index_option593
    #define	RETURN_TYPE_index_option593 MySQLParser_index_option_return

    MySQLParser_pure_identifier_return pure_identifier596;
    #undef	RETURN_TYPE_pure_identifier596
    #define	RETURN_TYPE_pure_identifier596 MySQLParser_pure_identifier_return

    MySQLParser_index_columns_return index_columns597;
    #undef	RETURN_TYPE_index_columns597
    #define	RETURN_TYPE_index_columns597 MySQLParser_index_columns_return

    MySQLParser_reference_definition_return reference_definition598;
    #undef	RETURN_TYPE_reference_definition598
    #define	RETURN_TYPE_reference_definition598 MySQLParser_reference_definition_return

    MySQLParser_identifier_return identifier601;
    #undef	RETURN_TYPE_identifier601
    #define	RETURN_TYPE_identifier601 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type602;
    #undef	RETURN_TYPE_index_type602
    #define	RETURN_TYPE_index_type602 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns603;
    #undef	RETURN_TYPE_index_columns603
    #define	RETURN_TYPE_index_columns603 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option604;
    #undef	RETURN_TYPE_index_option604
    #define	RETURN_TYPE_index_option604 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier606;
    #undef	RETURN_TYPE_identifier606
    #define	RETURN_TYPE_identifier606 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type607;
    #undef	RETURN_TYPE_index_type607
    #define	RETURN_TYPE_index_type607 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns608;
    #undef	RETURN_TYPE_index_columns608
    #define	RETURN_TYPE_index_columns608 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option609;
    #undef	RETURN_TYPE_index_option609
    #define	RETURN_TYPE_index_option609 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier612;
    #undef	RETURN_TYPE_identifier612
    #define	RETURN_TYPE_identifier612 MySQLParser_identifier_return

    MySQLParser_index_columns_return index_columns613;
    #undef	RETURN_TYPE_index_columns613
    #define	RETURN_TYPE_index_columns613 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option614;
    #undef	RETURN_TYPE_index_option614
    #define	RETURN_TYPE_index_option614 MySQLParser_index_option_return

    MySQLParser_expression_return expression617;
    #undef	RETURN_TYPE_expression617
    #define	RETURN_TYPE_expression617 MySQLParser_expression_return

    pANTLR3_BASE_TREE CONSTRAINT_SYMBOL587_tree;
    pANTLR3_BASE_TREE PRIMARY_SYMBOL589_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL590_tree;
    pANTLR3_BASE_TREE FOREIGN_SYMBOL594_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL595_tree;
    pANTLR3_BASE_TREE UNIQUE_SYMBOL599_tree;
    pANTLR3_BASE_TREE set600_tree;
    pANTLR3_BASE_TREE set605_tree;
    pANTLR3_BASE_TREE set610_tree;
    pANTLR3_BASE_TREE set611_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL615_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL616_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL618_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONSTRAINT_SYMBOL587       = NULL;
    PRIMARY_SYMBOL589       = NULL;
    KEY_SYMBOL590       = NULL;
    FOREIGN_SYMBOL594       = NULL;
    KEY_SYMBOL595       = NULL;
    UNIQUE_SYMBOL599       = NULL;
    set600       = NULL;
    set605       = NULL;
    set610       = NULL;
    set611       = NULL;
    CHECK_SYMBOL615       = NULL;
    OPEN_PAR_SYMBOL616       = NULL;
    CLOSE_PAR_SYMBOL618       = NULL;
    column_definition586.tree = NULL;

    identifier588.tree = NULL;

    index_type591.tree = NULL;

    index_columns592.tree = NULL;

    index_option593.tree = NULL;

    pure_identifier596.tree = NULL;

    index_columns597.tree = NULL;

    reference_definition598.tree = NULL;

    identifier601.tree = NULL;

    index_type602.tree = NULL;

    index_columns603.tree = NULL;

    index_option604.tree = NULL;

    identifier606.tree = NULL;

    index_type607.tree = NULL;

    index_columns608.tree = NULL;

    index_option609.tree = NULL;

    identifier612.tree = NULL;

    index_columns613.tree = NULL;

    index_option614.tree = NULL;

    expression617.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONSTRAINT_SYMBOL587_tree   = NULL;
    PRIMARY_SYMBOL589_tree   = NULL;
    KEY_SYMBOL590_tree   = NULL;
    FOREIGN_SYMBOL594_tree   = NULL;
    KEY_SYMBOL595_tree   = NULL;
    UNIQUE_SYMBOL599_tree   = NULL;
    set600_tree   = NULL;
    set605_tree   = NULL;
    set610_tree   = NULL;
    set611_tree   = NULL;
    CHECK_SYMBOL615_tree   = NULL;
    OPEN_PAR_SYMBOL616_tree   = NULL;
    CLOSE_PAR_SYMBOL618_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:733:23: ( column_definition | ( CONSTRAINT_SYMBOL ( identifier )? )? ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( pure_identifier )? index_columns reference_definition | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* ) | ( INDEX_SYMBOL | KEY_SYMBOL ) ( identifier )? ( index_type )? index_columns ( index_option )* | ( FULLTEXT_SYMBOL | SPATIAL_SYMBOL ) ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )* | CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt197;

            alt197=5;

            {
                int LA197_0 = LA(1);
                if ( (LA197_0 == BACK_TICK_QUOTED_ID || LA197_0 == IDENTIFIER))
                {
                    alt197=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA197_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt197=1;
                }
                else if ( (((LA197_0 >= ASCII_SYMBOL) && (LA197_0 <= YEAR_SYMBOL))))
                {
                    alt197=1;
                }
                else if ( (LA197_0 == CONSTRAINT_SYMBOL || LA197_0 == FOREIGN_SYMBOL || LA197_0 == PRIMARY_SYMBOL || LA197_0 == UNIQUE_SYMBOL))
                {
                    alt197=2;
                }
                else if ( (LA197_0 == INDEX_SYMBOL || LA197_0 == KEY_SYMBOL))
                {
                    alt197=3;
                }
                else if ( (LA197_0 == FULLTEXT_SYMBOL || LA197_0 == SPATIAL_SYMBOL))
                {
                    alt197=4;
                }
                else if ( (LA197_0 == CHECK_SYMBOL))
                {
                    alt197=5;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 197;
                    EXCEPTION->state        = 0;


                    goto rulecreate_field_list_itemEx;

                }
            }
            switch (alt197)
            {
        	case 1:
        	    // MySQL.g:734:2: column_definition
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_column_definition_in_create_field_list_item3171);
        	        column_definition586=column_definition(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_definition586.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:735:4: ( CONSTRAINT_SYMBOL ( identifier )? )? ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( pure_identifier )? index_columns reference_definition | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:735:4: ( CONSTRAINT_SYMBOL ( identifier )? )?
        	        {
        	            int alt182=2;
        	            switch ( LA(1) )
        	            {
        	                case CONSTRAINT_SYMBOL:
        	                	{
        	                		alt182=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt182)
        	            {
        	        	case 1:
        	        	    // MySQL.g:735:5: CONSTRAINT_SYMBOL ( identifier )?
        	        	    {
        	        	        CONSTRAINT_SYMBOL587 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSTRAINT_SYMBOL, &FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item3177);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CONSTRAINT_SYMBOL587_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONSTRAINT_SYMBOL587));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CONSTRAINT_SYMBOL587_tree);
        	        	        }

        	        	        // MySQL.g:735:23: ( identifier )?
        	        	        {
        	        	            int alt181=2;
        	        	            {
        	        	                int LA181_0 = LA(1);
        	        	                if ( (LA181_0 == BACK_TICK_QUOTED_ID || LA181_0 == IDENTIFIER))
        	        	                {
        	        	                    alt181=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA181_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt181=1;
        	        	                }
        	        	                else if ( (((LA181_0 >= ASCII_SYMBOL) && (LA181_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt181=1;
        	        	                }
        	        	            }
        	        	            switch (alt181)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:735:23: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item3179);
        	        	        	        identifier588=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier588.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:736:3: ( PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )* | FOREIGN_SYMBOL KEY_SYMBOL ( pure_identifier )? index_columns reference_definition | UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )* )
        	        {
        	            int alt190=3;
        	            switch ( LA(1) )
        	            {
        	            case PRIMARY_SYMBOL:
        	            	{
        	            		alt190=1;
        	            	}
        	                break;
        	            case FOREIGN_SYMBOL:
        	            	{
        	            		alt190=2;
        	            	}
        	                break;
        	            case UNIQUE_SYMBOL:
        	            	{
        	            		alt190=3;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 190;
        	                EXCEPTION->state        = 0;


        	                goto rulecreate_field_list_itemEx;

        	            }

        	            switch (alt190)
        	            {
        	        	case 1:
        	        	    // MySQL.g:737:4: PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )*
        	        	    {
        	        	        PRIMARY_SYMBOL589 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item3191);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRIMARY_SYMBOL589_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL589));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL589_tree);
        	        	        }

        	        	        KEY_SYMBOL590 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_create_field_list_item3193);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        KEY_SYMBOL590_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL590));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL590_tree);
        	        	        }

        	        	        // MySQL.g:737:30: ( index_type )?
        	        	        {
        	        	            int alt183=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt183=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt183)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:737:30: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item3195);
        	        	        	        index_type591=index_type(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type591.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item3198);
        	        	        index_columns592=index_columns(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns592.tree);

        	        	        // MySQL.g:737:56: ( index_option )*

        	        	        for (;;)
        	        	        {
        	        	            int alt184=2;
        	        	            {
        	        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	                */
        	        	                int LA184_0 = LA(1);
        	        	                if ( (LA184_0 == KEY_BLOCK_SIZE_SYMBOL || LA184_0 == TYPE_SYMBOL || LA184_0 == USING_SYMBOL))
        	        	                {
        	        	                    alt184=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50600)) && (LA184_0 == COMMENT_SYMBOL))
        	        	                {
        	        	                    alt184=1;
        	        	                }

        	        	            }
        	        	            switch (alt184)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:737:56: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item3200);
        	        	        	        index_option593=index_option(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option593.tree);

        	        	        	    }
        	        	        	    break;

        	        	        	default:
        	        	        	    goto loop184;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop184: ; /* Jump out to here if this rule does not match */


        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:738:6: FOREIGN_SYMBOL KEY_SYMBOL ( pure_identifier )? index_columns reference_definition
        	        	    {
        	        	        FOREIGN_SYMBOL594 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item3208);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        FOREIGN_SYMBOL594_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOREIGN_SYMBOL594));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOREIGN_SYMBOL594_tree);
        	        	        }

        	        	        KEY_SYMBOL595 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_create_field_list_item3210);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        KEY_SYMBOL595_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL595));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL595_tree);
        	        	        }

        	        	        // MySQL.g:738:32: ( pure_identifier )?
        	        	        {
        	        	            int alt185=2;
        	        	            {
        	        	                int LA185_0 = LA(1);
        	        	                if ( (LA185_0 == BACK_TICK_QUOTED_ID || LA185_0 == IDENTIFIER))
        	        	                {
        	        	                    alt185=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA185_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt185=1;
        	        	                }
        	        	            }
        	        	            switch (alt185)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:738:32: pure_identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_create_field_list_item3212);
        	        	        	        pure_identifier596=pure_identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier596.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item3215);
        	        	        index_columns597=index_columns(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns597.tree);

        	        	        FOLLOWPUSH(FOLLOW_reference_definition_in_create_field_list_item3217);
        	        	        reference_definition598=reference_definition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition598.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:739:6: UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )*
        	        	    {
        	        	        UNIQUE_SYMBOL599 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item3224);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNIQUE_SYMBOL599_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNIQUE_SYMBOL599));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNIQUE_SYMBOL599_tree);
        	        	        }

        	        	        // MySQL.g:739:20: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        	        {
        	        	            int alt186=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case INDEX_SYMBOL:
        	        	                case KEY_SYMBOL:
        	        	                	{
        	        	                		alt186=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt186)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:
        	        	        	    {
        	        	        	        set600=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        	        	        {
        	        	        	            CONSUME();
        	        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set600))
        	        	        	            );
        	        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        	        }
        	        	        	        else
        	        	        	        {
        	        	        	            if (BACKTRACKING>0)
        	        	        	            {
        	        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	        	                return retval;
        	        	        	            }

        	        	        	            CONSTRUCTEX();
        	        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	        	            EXCEPTION->expectingSet = NULL;

        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }


        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:739:49: ( identifier )?
        	        	        {
        	        	            int alt187=2;
        	        	            {
        	        	                int LA187_0 = LA(1);
        	        	                if ( (LA187_0 == BACK_TICK_QUOTED_ID || LA187_0 == IDENTIFIER))
        	        	                {
        	        	                    alt187=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA187_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt187=1;
        	        	                }
        	        	                else if ( (LA187_0 == TYPE_SYMBOL))
        	        	                {
        	        	                    switch ( LA(2) )
        	        	                    {
        	        	                        case TYPE_SYMBOL:
        	        	                        case OPEN_PAR_SYMBOL:
        	        	                        case USING_SYMBOL:
        	        	                        	{
        	        	                        		alt187=1;
        	        	                        	}
        	        	                            break;
        	        	                    }

        	        	                }
        	        	                else if ( (((LA187_0 >= ASCII_SYMBOL) && (LA187_0 <= TYPES_SYMBOL)) || ((LA187_0 >= UDF_RETURNS_SYMBOL) && (LA187_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt187=1;
        	        	                }
        	        	            }
        	        	            switch (alt187)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:739:49: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item3235);
        	        	        	        identifier601=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier601.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:739:61: ( index_type )?
        	        	        {
        	        	            int alt188=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt188=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt188)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:739:61: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item3238);
        	        	        	        index_type602=index_type(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type602.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item3241);
        	        	        index_columns603=index_columns(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns603.tree);

        	        	        // MySQL.g:739:87: ( index_option )*

        	        	        for (;;)
        	        	        {
        	        	            int alt189=2;
        	        	            {
        	        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	                */
        	        	                int LA189_0 = LA(1);
        	        	                if ( (LA189_0 == KEY_BLOCK_SIZE_SYMBOL || LA189_0 == TYPE_SYMBOL || LA189_0 == USING_SYMBOL))
        	        	                {
        	        	                    alt189=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50600)) && (LA189_0 == COMMENT_SYMBOL))
        	        	                {
        	        	                    alt189=1;
        	        	                }

        	        	            }
        	        	            switch (alt189)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:739:87: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item3243);
        	        	        	        index_option604=index_option(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_field_list_itemEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option604.tree);

        	        	        	    }
        	        	        	    break;

        	        	        	default:
        	        	        	    goto loop189;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop189: ; /* Jump out to here if this rule does not match */


        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:741:4: ( INDEX_SYMBOL | KEY_SYMBOL ) ( identifier )? ( index_type )? index_columns ( index_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set605=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set605))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_field_list_itemEx;
        	        }


        	        // MySQL.g:741:32: ( identifier )?
        	        {
        	            int alt191=2;
        	            {
        	                int LA191_0 = LA(1);
        	                if ( (LA191_0 == BACK_TICK_QUOTED_ID || LA191_0 == IDENTIFIER))
        	                {
        	                    alt191=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA191_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt191=1;
        	                }
        	                else if ( (LA191_0 == TYPE_SYMBOL))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                        case TYPE_SYMBOL:
        	                        case OPEN_PAR_SYMBOL:
        	                        case USING_SYMBOL:
        	                        	{
        	                        		alt191=1;
        	                        	}
        	                            break;
        	                    }

        	                }
        	                else if ( (((LA191_0 >= ASCII_SYMBOL) && (LA191_0 <= TYPES_SYMBOL)) || ((LA191_0 >= UDF_RETURNS_SYMBOL) && (LA191_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt191=1;
        	                }
        	            }
        	            switch (alt191)
        	            {
        	        	case 1:
        	        	    // MySQL.g:741:32: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item3261);
        	        	        identifier606=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier606.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:741:44: ( index_type )?
        	        {
        	            int alt192=2;
        	            switch ( LA(1) )
        	            {
        	                case TYPE_SYMBOL:
        	                case USING_SYMBOL:
        	                	{
        	                		alt192=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt192)
        	            {
        	        	case 1:
        	        	    // MySQL.g:741:44: index_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item3264);
        	        	        index_type607=index_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type607.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item3267);
        	        index_columns608=index_columns(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns608.tree);

        	        // MySQL.g:741:70: ( index_option )*

        	        for (;;)
        	        {
        	            int alt193=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA193_0 = LA(1);
        	                if ( (LA193_0 == KEY_BLOCK_SIZE_SYMBOL || LA193_0 == TYPE_SYMBOL || LA193_0 == USING_SYMBOL))
        	                {
        	                    alt193=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50600)) && (LA193_0 == COMMENT_SYMBOL))
        	                {
        	                    alt193=1;
        	                }

        	            }
        	            switch (alt193)
        	            {
        	        	case 1:
        	        	    // MySQL.g:741:70: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item3269);
        	        	        index_option609=index_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option609.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop193;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop193: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:742:4: ( FULLTEXT_SYMBOL | SPATIAL_SYMBOL ) ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? index_columns ( index_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set610=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == FULLTEXT_SYMBOL || LA(1) == SPATIAL_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set610))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_field_list_itemEx;
        	        }


        	        // MySQL.g:742:39: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        {
        	            int alt194=2;
        	            switch ( LA(1) )
        	            {
        	                case INDEX_SYMBOL:
        	                case KEY_SYMBOL:
        	                	{
        	                		alt194=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt194)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set611=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set611))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulecreate_field_list_itemEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:742:68: ( identifier )?
        	        {
        	            int alt195=2;
        	            {
        	                int LA195_0 = LA(1);
        	                if ( (LA195_0 == BACK_TICK_QUOTED_ID || LA195_0 == IDENTIFIER))
        	                {
        	                    alt195=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA195_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt195=1;
        	                }
        	                else if ( (((LA195_0 >= ASCII_SYMBOL) && (LA195_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt195=1;
        	                }
        	            }
        	            switch (alt195)
        	            {
        	        	case 1:
        	        	    // MySQL.g:742:68: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item3292);
        	        	        identifier612=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier612.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item3295);
        	        index_columns613=index_columns(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns613.tree);

        	        // MySQL.g:742:94: ( index_option )*

        	        for (;;)
        	        {
        	            int alt196=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA196_0 = LA(1);
        	                if ( (LA196_0 == KEY_BLOCK_SIZE_SYMBOL || LA196_0 == TYPE_SYMBOL || LA196_0 == USING_SYMBOL))
        	                {
        	                    alt196=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50600)) && (LA196_0 == COMMENT_SYMBOL))
        	                {
        	                    alt196=1;
        	                }

        	            }
        	            switch (alt196)
        	            {
        	        	case 1:
        	        	    // MySQL.g:742:94: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item3297);
        	        	        index_option614=index_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_option614.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop196;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop196: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 5:
        	    // MySQL.g:743:4: CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL615 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_create_field_list_item3303);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHECK_SYMBOL615_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL615));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL615_tree);
        	        }

        	        OPEN_PAR_SYMBOL616 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item3305);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL616_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL616));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL616_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_create_field_list_item3307);
        	        expression617=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression617.tree);

        	        CLOSE_PAR_SYMBOL618 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item3309);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL618_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL618));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL618_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecreate_field_list_itemEx; /* Prevent compiler warnings */
    rulecreate_field_list_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_field_list_item */

/**
 * $ANTLR start table_creation_source
 * MySQL.g:746:1: table_creation_source : ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select ( union_clause )? | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? ) ;
 */
static MySQLParser_table_creation_source_return
table_creation_source(pMySQLParser ctx)
{
    MySQLParser_table_creation_source_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set619;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL620;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL623;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL625;
    MySQLParser_create_select_return create_select621;
    #undef	RETURN_TYPE_create_select621
    #define	RETURN_TYPE_create_select621 MySQLParser_create_select_return

    MySQLParser_union_clause_return union_clause622;
    #undef	RETURN_TYPE_union_clause622
    #define	RETURN_TYPE_union_clause622 MySQLParser_union_clause_return

    MySQLParser_create_select_return create_select624;
    #undef	RETURN_TYPE_create_select624
    #define	RETURN_TYPE_create_select624 MySQLParser_create_select_return

    MySQLParser_union_or_order_by_or_limit_return union_or_order_by_or_limit626;
    #undef	RETURN_TYPE_union_or_order_by_or_limit626
    #define	RETURN_TYPE_union_or_order_by_or_limit626 MySQLParser_union_or_order_by_or_limit_return

    pANTLR3_BASE_TREE set619_tree;
    pANTLR3_BASE_TREE AS_SYMBOL620_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL623_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL625_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set619       = NULL;
    AS_SYMBOL620       = NULL;
    OPEN_PAR_SYMBOL623       = NULL;
    CLOSE_PAR_SYMBOL625       = NULL;
    create_select621.tree = NULL;

    union_clause622.tree = NULL;

    create_select624.tree = NULL;

    union_or_order_by_or_limit626.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set619_tree   = NULL;
    AS_SYMBOL620_tree   = NULL;
    OPEN_PAR_SYMBOL623_tree   = NULL;
    CLOSE_PAR_SYMBOL625_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:746:22: ( ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select ( union_clause )? | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? ) )
        // MySQL.g:747:2: ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select ( union_clause )? | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:747:2: ( REPLACE_SYMBOL | IGNORE_SYMBOL )?
            {
                int alt198=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    case REPLACE_SYMBOL:
                    	{
                    		alt198=1;
                    	}
                        break;
                }

                switch (alt198)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set619=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == IGNORE_SYMBOL || LA(1) == REPLACE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set619))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruletable_creation_sourceEx;
            	        }


            	    }
            	    break;

                }
            }

            // MySQL.g:747:36: ( AS_SYMBOL )?
            {
                int alt199=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    	{
                    		alt199=1;
                    	}
                        break;
                }

                switch (alt199)
                {
            	case 1:
            	    // MySQL.g:747:36: AS_SYMBOL
            	    {
            	        AS_SYMBOL620 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_table_creation_source3328);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        AS_SYMBOL620_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL620));
            	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL620_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:748:2: ( create_select ( union_clause )? | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? )
            {
                int alt202=2;
                switch ( LA(1) )
                {
                case SELECT_SYMBOL:
                	{
                		alt202=1;
                	}
                    break;
                case OPEN_PAR_SYMBOL:
                	{
                		alt202=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 202;
                    EXCEPTION->state        = 0;


                    goto ruletable_creation_sourceEx;

                }

                switch (alt202)
                {
            	case 1:
            	    // MySQL.g:749:3: create_select ( union_clause )?
            	    {
            	        FOLLOWPUSH(FOLLOW_create_select_in_table_creation_source3336);
            	        create_select621=create_select(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select621.tree);

            	        // MySQL.g:749:17: ( union_clause )?
            	        {
            	            int alt200=2;
            	            switch ( LA(1) )
            	            {
            	                case UNION_SYMBOL:
            	                	{
            	                		alt200=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt200)
            	            {
            	        	case 1:
            	        	    // MySQL.g:749:17: union_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_union_clause_in_table_creation_source3338);
            	        	        union_clause622=union_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletable_creation_sourceEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause622.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:750:5: OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )?
            	    {
            	        OPEN_PAR_SYMBOL623 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source3345);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL623_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL623));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL623_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_create_select_in_table_creation_source3347);
            	        create_select624=create_select(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select624.tree);

            	        CLOSE_PAR_SYMBOL625 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source3349);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL625_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL625));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL625_tree);
            	        }

            	        // MySQL.g:750:52: ( union_or_order_by_or_limit )?
            	        {
            	            int alt201=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                case ORDER_SYMBOL:
            	                case UNION_SYMBOL:
            	                	{
            	                		alt201=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt201)
            	            {
            	        	case 1:
            	        	    // MySQL.g:750:52: union_or_order_by_or_limit
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_table_creation_source3351);
            	        	        union_or_order_by_or_limit626=union_or_order_by_or_limit(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletable_creation_sourceEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_or_order_by_or_limit626.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_creation_sourceEx; /* Prevent compiler warnings */
    ruletable_creation_sourceEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_creation_source */

/**
 * $ANTLR start create_select
 * MySQL.g:755:1: create_select : SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list table_expression ;
 */
static MySQLParser_create_select_return
create_select(pMySQLParser ctx)
{
    MySQLParser_create_select_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL627;
    MySQLParser_select_option_return select_option628;
    #undef	RETURN_TYPE_select_option628
    #define	RETURN_TYPE_select_option628 MySQLParser_select_option_return

    MySQLParser_select_item_list_return select_item_list629;
    #undef	RETURN_TYPE_select_item_list629
    #define	RETURN_TYPE_select_item_list629 MySQLParser_select_item_list_return

    MySQLParser_table_expression_return table_expression630;
    #undef	RETURN_TYPE_table_expression630
    #define	RETURN_TYPE_table_expression630 MySQLParser_table_expression_return

    pANTLR3_BASE_TREE SELECT_SYMBOL627_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL627       = NULL;
    select_option628.tree = NULL;

    select_item_list629.tree = NULL;

    table_expression630.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL627_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:755:14: ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list table_expression )
        // MySQL.g:756:2: SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list table_expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SELECT_SYMBOL627 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_create_select3365);
            if  (HASEXCEPTION())
            {
                goto rulecreate_selectEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SELECT_SYMBOL627_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL627));
            ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL627_tree);
            }

            // MySQL.g:756:16: ( options {greedy=true; } : select_option )*

            for (;;)
            {
                int alt203=2;
                switch ( LA(1) )
                {
                case SQL_BUFFER_RESULT_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA203_95 = LA(2);
                		    if ( (LA203_95 == OPEN_PAR_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MOD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MINUS_OPERATOR || LA203_95 == PLUS_OPERATOR))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == NOT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == SOUNDS_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == IDENTIFIER))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == DATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == ASCII_SYMBOL || ((LA203_95 >= BITNUMBER) && (LA203_95 <= BITSTRING)) || LA203_95 == BITWISE_NOT_OPERATOR || LA203_95 == FALSE_SYMBOL || LA203_95 == FLOAT || ((LA203_95 >= HEXNUMBER) && (LA203_95 <= HEXSTRING)) || LA203_95 == INTEGER || LA203_95 == INTERVAL_SYMBOL || LA203_95 == LOGICAL_NOT_OPERATOR || LA203_95 == NCHAR_TEXT || LA203_95 == NOT2_SYMBOL || LA203_95 == NULL2_SYMBOL || LA203_95 == NULL_SYMBOL || LA203_95 == TRUE_SYMBOL || LA203_95 == UNDERSCORE_CHARSET))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == TIME_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == TIMESTAMP_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == DAY_SYMBOL || LA203_95 == CHAR_SYMBOL || LA203_95 == CURRENT_USER_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == HOUR_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MINUTE_SYMBOL || LA203_95 == INSERT_SYMBOL || LA203_95 == LEFT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MONTH_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == SECOND_SYMBOL || LA203_95 == RIGHT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == USER_SYMBOL || LA203_95 == TRIM_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == YEAR_SYMBOL || LA203_95 == VALUES_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == ADDDATE_SYMBOL || LA203_95 == SUBDATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == GET_FORMAT_SYMBOL || LA203_95 == CURDATE_SYMBOL || LA203_95 == CURTIME_SYMBOL || LA203_95 == DATE_ADD_SYMBOL || LA203_95 == DATE_SUB_SYMBOL || LA203_95 == EXTRACT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (((LA203_95 >= TIMESTAMP_ADD_SYMBOL) && (LA203_95 <= TIMESTAMP_DIFF_SYMBOL)) || LA203_95 == NOW_SYMBOL || LA203_95 == POSITION_SYMBOL || LA203_95 == SUBSTRING_SYMBOL || LA203_95 == SYSDATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == COALESCE_SYMBOL || ((LA203_95 >= UTC_DATE_SYMBOL) && (LA203_95 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == CHARSET_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == FORMAT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == COLLATION_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MICROSECOND_SYMBOL || LA203_95 == DATABASE_SYMBOL || LA203_95 == IF_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == TRUNCATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MULT_OPERATOR))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == PASSWORD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == QUARTER_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == REVERSE_SYMBOL || ((LA203_95 >= REPEAT_SYMBOL) && (LA203_95 <= REPLACE_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == ROW_COUNT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == WEEK_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == CONTAINS_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (((LA203_95 >= BACKUP_SYMBOL) && (LA203_95 <= CACHE_SYMBOL)) || ((LA203_95 >= CHECKSUM_SYMBOL) && (LA203_95 <= COMMIT_SYMBOL)) || ((LA203_95 >= DEALLOCATE_SYMBOL) && (LA203_95 <= FOLLOWS_SYMBOL)) || ((LA203_95 >= HANDLER_SYMBOL) && (LA203_95 <= STOP_SYMBOL)) || ((LA203_95 >= UNICODE_SYMBOL) && (LA203_95 <= XA_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == LINESTRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MULTIPOINT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == POINT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == POLYGON_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == AVG_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == ROW_SYMBOL || ((LA203_95 >= AT_AT_SIGN_SYMBOL) && (LA203_95 <= AT_TEXT_SUFFIX)) || ((LA203_95 >= BIT_AND_SYMBOL) && (LA203_95 <= BIT_XOR_SYMBOL)) || LA203_95 == COUNT_SYMBOL || LA203_95 == EXISTS_SYMBOL || LA203_95 == GROUP_CONCAT_SYMBOL || LA203_95 == MAX_SYMBOL || LA203_95 == MIN_SYMBOL || LA203_95 == PARAM_MARKER || LA203_95 == STDDEV_SAMP_SYMBOL || LA203_95 == STD_SYMBOL || LA203_95 == SUM_SYMBOL || LA203_95 == VARIANCE_SYMBOL || LA203_95 == VAR_SAMP_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == SQL_BUFFER_RESULT_SYMBOL || LA203_95 == BINARY_SYMBOL || ((LA203_95 >= CASE_SYMBOL) && (LA203_95 <= CAST_SYMBOL)) || LA203_95 == CONVERT_SYMBOL || LA203_95 == MATCH_SYMBOL || LA203_95 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == SQL_NO_CACHE_SYMBOL || LA203_95 == ALL_SYMBOL || LA203_95 == DISTINCT_SYMBOL || LA203_95 == HIGH_PRIORITY_SYMBOL || ((LA203_95 >= SQL_BIG_RESULT_SYMBOL) && (LA203_95 <= SQL_SMALL_RESULT_SYMBOL)) || LA203_95 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == SQL_CACHE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == MAX_STATEMENT_TIME_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_95 == ACTION_SYMBOL || ((LA203_95 >= AFTER_SYMBOL) && (LA203_95 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA203_95 >= BINLOG_SYMBOL) && (LA203_95 <= CLASS_ORIGIN_SYMBOL)) || LA203_95 == CODE_SYMBOL || ((LA203_95 >= COLUMN_NAME_SYMBOL) && (LA203_95 <= DATETIME_SYMBOL)) || ((LA203_95 >= DEFAULT_AUTH_SYMBOL) && (LA203_95 <= GEOMETRY_SYMBOL)) || ((LA203_95 >= GRANTS_SYMBOL) && (LA203_95 <= HOSTS_SYMBOL)) || ((LA203_95 >= IDENTIFIED_SYMBOL) && (LA203_95 <= LEVEL_SYMBOL)) || ((LA203_95 >= LIST_SYMBOL) && (LA203_95 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA203_95 >= MAX_SIZE_SYMBOL) && (LA203_95 <= MESSAGE_TEXT_SYMBOL)) || LA203_95 == MIGRATE_SYMBOL || ((LA203_95 >= MIN_ROWS_SYMBOL) && (LA203_95 <= MODE_SYMBOL)) || ((LA203_95 >= MUTEX_SYMBOL) && (LA203_95 <= OFFSET_SYMBOL)) || ((LA203_95 >= ONE_SHOT_SYMBOL) && (LA203_95 <= PARTITIONS_SYMBOL)) || ((LA203_95 >= PHASE_SYMBOL) && (LA203_95 <= PLUGINS_SYMBOL)) || ((LA203_95 >= PRESERVE_SYMBOL) && (LA203_95 <= PROXY_SYMBOL)) || ((LA203_95 >= QUERY_SYMBOL) && (LA203_95 <= RETURNS_SYMBOL)) || ((LA203_95 >= ROLLUP_SYMBOL) && (LA203_95 <= ROWS_SYMBOL)) || LA203_95 == ROW_FORMAT_SYMBOL || ((LA203_95 >= RTREE_SYMBOL) && (LA203_95 <= SCHEMA_NAME_SYMBOL)) || ((LA203_95 >= SERIAL_SYMBOL) && (LA203_95 <= SNAPSHOT_SYMBOL)) || ((LA203_95 >= SOURCE_SYMBOL) && (LA203_95 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA203_95 >= SQL_THREAD_SYMBOL) && (LA203_95 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA203_95 >= SUBJECT_SYMBOL) && (LA203_95 <= TRIGGERS_SYMBOL)) || ((LA203_95 >= TYPES_SYMBOL) && (LA203_95 <= USER_RESOURCES_SYMBOL)) || ((LA203_95 >= USE_FRM_SYMBOL) && (LA203_95 <= WAIT_SYMBOL)) || LA203_95 == WORK_SYMBOL || ((LA203_95 >= X509_SYMBOL) && (LA203_95 <= XML_SYMBOL))))
                		    {
                		        alt203=1;
                		    }

                		}
                	}
                    break;
                case SQL_NO_CACHE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA203_103 = LA(2);
                		    if ( (LA203_103 == OPEN_PAR_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MOD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MINUS_OPERATOR || LA203_103 == PLUS_OPERATOR))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == NOT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == SOUNDS_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == IDENTIFIER))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == DATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == ASCII_SYMBOL || ((LA203_103 >= BITNUMBER) && (LA203_103 <= BITSTRING)) || LA203_103 == BITWISE_NOT_OPERATOR || LA203_103 == FALSE_SYMBOL || LA203_103 == FLOAT || ((LA203_103 >= HEXNUMBER) && (LA203_103 <= HEXSTRING)) || LA203_103 == INTEGER || LA203_103 == INTERVAL_SYMBOL || LA203_103 == LOGICAL_NOT_OPERATOR || LA203_103 == NCHAR_TEXT || LA203_103 == NOT2_SYMBOL || LA203_103 == NULL2_SYMBOL || LA203_103 == NULL_SYMBOL || LA203_103 == TRUE_SYMBOL || LA203_103 == UNDERSCORE_CHARSET))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == TIME_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == TIMESTAMP_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == DAY_SYMBOL || LA203_103 == CHAR_SYMBOL || LA203_103 == CURRENT_USER_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == HOUR_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MINUTE_SYMBOL || LA203_103 == INSERT_SYMBOL || LA203_103 == LEFT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MONTH_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == SECOND_SYMBOL || LA203_103 == RIGHT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == USER_SYMBOL || LA203_103 == TRIM_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == YEAR_SYMBOL || LA203_103 == VALUES_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == ADDDATE_SYMBOL || LA203_103 == SUBDATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == GET_FORMAT_SYMBOL || LA203_103 == CURDATE_SYMBOL || LA203_103 == CURTIME_SYMBOL || LA203_103 == DATE_ADD_SYMBOL || LA203_103 == DATE_SUB_SYMBOL || LA203_103 == EXTRACT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (((LA203_103 >= TIMESTAMP_ADD_SYMBOL) && (LA203_103 <= TIMESTAMP_DIFF_SYMBOL)) || LA203_103 == NOW_SYMBOL || LA203_103 == POSITION_SYMBOL || LA203_103 == SUBSTRING_SYMBOL || LA203_103 == SYSDATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == COALESCE_SYMBOL || ((LA203_103 >= UTC_DATE_SYMBOL) && (LA203_103 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == CHARSET_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == FORMAT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == COLLATION_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MICROSECOND_SYMBOL || LA203_103 == DATABASE_SYMBOL || LA203_103 == IF_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == TRUNCATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MULT_OPERATOR))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == PASSWORD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == QUARTER_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == REVERSE_SYMBOL || ((LA203_103 >= REPEAT_SYMBOL) && (LA203_103 <= REPLACE_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == ROW_COUNT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == WEEK_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == CONTAINS_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (((LA203_103 >= BACKUP_SYMBOL) && (LA203_103 <= CACHE_SYMBOL)) || ((LA203_103 >= CHECKSUM_SYMBOL) && (LA203_103 <= COMMIT_SYMBOL)) || ((LA203_103 >= DEALLOCATE_SYMBOL) && (LA203_103 <= FOLLOWS_SYMBOL)) || ((LA203_103 >= HANDLER_SYMBOL) && (LA203_103 <= STOP_SYMBOL)) || ((LA203_103 >= UNICODE_SYMBOL) && (LA203_103 <= XA_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == LINESTRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MULTIPOINT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == POINT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == POLYGON_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == AVG_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == ROW_SYMBOL || ((LA203_103 >= AT_AT_SIGN_SYMBOL) && (LA203_103 <= AT_TEXT_SUFFIX)) || ((LA203_103 >= BIT_AND_SYMBOL) && (LA203_103 <= BIT_XOR_SYMBOL)) || LA203_103 == COUNT_SYMBOL || LA203_103 == EXISTS_SYMBOL || LA203_103 == GROUP_CONCAT_SYMBOL || LA203_103 == MAX_SYMBOL || LA203_103 == MIN_SYMBOL || LA203_103 == PARAM_MARKER || LA203_103 == STDDEV_SAMP_SYMBOL || LA203_103 == STD_SYMBOL || LA203_103 == SUM_SYMBOL || LA203_103 == VARIANCE_SYMBOL || LA203_103 == VAR_SAMP_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == SQL_BUFFER_RESULT_SYMBOL || LA203_103 == BINARY_SYMBOL || ((LA203_103 >= CASE_SYMBOL) && (LA203_103 <= CAST_SYMBOL)) || LA203_103 == CONVERT_SYMBOL || LA203_103 == MATCH_SYMBOL || LA203_103 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == SQL_NO_CACHE_SYMBOL || LA203_103 == ALL_SYMBOL || LA203_103 == DISTINCT_SYMBOL || LA203_103 == HIGH_PRIORITY_SYMBOL || ((LA203_103 >= SQL_BIG_RESULT_SYMBOL) && (LA203_103 <= SQL_SMALL_RESULT_SYMBOL)) || LA203_103 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == SQL_CACHE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == MAX_STATEMENT_TIME_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_103 == ACTION_SYMBOL || ((LA203_103 >= AFTER_SYMBOL) && (LA203_103 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA203_103 >= BINLOG_SYMBOL) && (LA203_103 <= CLASS_ORIGIN_SYMBOL)) || LA203_103 == CODE_SYMBOL || ((LA203_103 >= COLUMN_NAME_SYMBOL) && (LA203_103 <= DATETIME_SYMBOL)) || ((LA203_103 >= DEFAULT_AUTH_SYMBOL) && (LA203_103 <= GEOMETRY_SYMBOL)) || ((LA203_103 >= GRANTS_SYMBOL) && (LA203_103 <= HOSTS_SYMBOL)) || ((LA203_103 >= IDENTIFIED_SYMBOL) && (LA203_103 <= LEVEL_SYMBOL)) || ((LA203_103 >= LIST_SYMBOL) && (LA203_103 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA203_103 >= MAX_SIZE_SYMBOL) && (LA203_103 <= MESSAGE_TEXT_SYMBOL)) || LA203_103 == MIGRATE_SYMBOL || ((LA203_103 >= MIN_ROWS_SYMBOL) && (LA203_103 <= MODE_SYMBOL)) || ((LA203_103 >= MUTEX_SYMBOL) && (LA203_103 <= OFFSET_SYMBOL)) || ((LA203_103 >= ONE_SHOT_SYMBOL) && (LA203_103 <= PARTITIONS_SYMBOL)) || ((LA203_103 >= PHASE_SYMBOL) && (LA203_103 <= PLUGINS_SYMBOL)) || ((LA203_103 >= PRESERVE_SYMBOL) && (LA203_103 <= PROXY_SYMBOL)) || ((LA203_103 >= QUERY_SYMBOL) && (LA203_103 <= RETURNS_SYMBOL)) || ((LA203_103 >= ROLLUP_SYMBOL) && (LA203_103 <= ROWS_SYMBOL)) || LA203_103 == ROW_FORMAT_SYMBOL || ((LA203_103 >= RTREE_SYMBOL) && (LA203_103 <= SCHEMA_NAME_SYMBOL)) || ((LA203_103 >= SERIAL_SYMBOL) && (LA203_103 <= SNAPSHOT_SYMBOL)) || ((LA203_103 >= SOURCE_SYMBOL) && (LA203_103 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA203_103 >= SQL_THREAD_SYMBOL) && (LA203_103 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA203_103 >= SUBJECT_SYMBOL) && (LA203_103 <= TRIGGERS_SYMBOL)) || ((LA203_103 >= TYPES_SYMBOL) && (LA203_103 <= USER_RESOURCES_SYMBOL)) || ((LA203_103 >= USE_FRM_SYMBOL) && (LA203_103 <= WAIT_SYMBOL)) || LA203_103 == WORK_SYMBOL || ((LA203_103 >= X509_SYMBOL) && (LA203_103 <= XML_SYMBOL))))
                		    {
                		        alt203=1;
                		    }

                		}
                	}
                    break;
                case ALL_SYMBOL:
                case DISTINCT_SYMBOL:
                case HIGH_PRIORITY_SYMBOL:
                case SQL_BIG_RESULT_SYMBOL:
                case SQL_CALC_FOUND_ROWS_SYMBOL:
                case SQL_SMALL_RESULT_SYMBOL:
                case STRAIGHT_JOIN_SYMBOL:
                	{
                		alt203=1;
                	}
                    break;
                case SQL_CACHE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA203_105 = LA(2);
                		    if ( (LA203_105 == OPEN_PAR_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MOD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MINUS_OPERATOR || LA203_105 == PLUS_OPERATOR))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == NOT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == SOUNDS_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == IDENTIFIER))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == DATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == ASCII_SYMBOL || ((LA203_105 >= BITNUMBER) && (LA203_105 <= BITSTRING)) || LA203_105 == BITWISE_NOT_OPERATOR || LA203_105 == FALSE_SYMBOL || LA203_105 == FLOAT || ((LA203_105 >= HEXNUMBER) && (LA203_105 <= HEXSTRING)) || LA203_105 == INTEGER || LA203_105 == INTERVAL_SYMBOL || LA203_105 == LOGICAL_NOT_OPERATOR || LA203_105 == NCHAR_TEXT || LA203_105 == NOT2_SYMBOL || LA203_105 == NULL2_SYMBOL || LA203_105 == NULL_SYMBOL || LA203_105 == TRUE_SYMBOL || LA203_105 == UNDERSCORE_CHARSET))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == TIME_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == TIMESTAMP_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == DAY_SYMBOL || LA203_105 == CHAR_SYMBOL || LA203_105 == CURRENT_USER_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == HOUR_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MINUTE_SYMBOL || LA203_105 == INSERT_SYMBOL || LA203_105 == LEFT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MONTH_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == SECOND_SYMBOL || LA203_105 == RIGHT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == USER_SYMBOL || LA203_105 == TRIM_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == YEAR_SYMBOL || LA203_105 == VALUES_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == ADDDATE_SYMBOL || LA203_105 == SUBDATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == GET_FORMAT_SYMBOL || LA203_105 == CURDATE_SYMBOL || LA203_105 == CURTIME_SYMBOL || LA203_105 == DATE_ADD_SYMBOL || LA203_105 == DATE_SUB_SYMBOL || LA203_105 == EXTRACT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (((LA203_105 >= TIMESTAMP_ADD_SYMBOL) && (LA203_105 <= TIMESTAMP_DIFF_SYMBOL)) || LA203_105 == NOW_SYMBOL || LA203_105 == POSITION_SYMBOL || LA203_105 == SUBSTRING_SYMBOL || LA203_105 == SYSDATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == COALESCE_SYMBOL || ((LA203_105 >= UTC_DATE_SYMBOL) && (LA203_105 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == CHARSET_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == FORMAT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == COLLATION_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MICROSECOND_SYMBOL || LA203_105 == DATABASE_SYMBOL || LA203_105 == IF_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == TRUNCATE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MULT_OPERATOR))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == PASSWORD_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == QUARTER_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == REVERSE_SYMBOL || ((LA203_105 >= REPEAT_SYMBOL) && (LA203_105 <= REPLACE_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == ROW_COUNT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == WEEK_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == CONTAINS_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (((LA203_105 >= BACKUP_SYMBOL) && (LA203_105 <= CACHE_SYMBOL)) || ((LA203_105 >= CHECKSUM_SYMBOL) && (LA203_105 <= COMMIT_SYMBOL)) || ((LA203_105 >= DEALLOCATE_SYMBOL) && (LA203_105 <= FOLLOWS_SYMBOL)) || ((LA203_105 >= HANDLER_SYMBOL) && (LA203_105 <= STOP_SYMBOL)) || ((LA203_105 >= UNICODE_SYMBOL) && (LA203_105 <= XA_SYMBOL))))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == LINESTRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MULTIPOINT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == POINT_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == POLYGON_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == AVG_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == ROW_SYMBOL || ((LA203_105 >= AT_AT_SIGN_SYMBOL) && (LA203_105 <= AT_TEXT_SUFFIX)) || ((LA203_105 >= BIT_AND_SYMBOL) && (LA203_105 <= BIT_XOR_SYMBOL)) || LA203_105 == COUNT_SYMBOL || LA203_105 == EXISTS_SYMBOL || LA203_105 == GROUP_CONCAT_SYMBOL || LA203_105 == MAX_SYMBOL || LA203_105 == MIN_SYMBOL || LA203_105 == PARAM_MARKER || LA203_105 == STDDEV_SAMP_SYMBOL || LA203_105 == STD_SYMBOL || LA203_105 == SUM_SYMBOL || LA203_105 == VARIANCE_SYMBOL || LA203_105 == VAR_SAMP_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == SQL_BUFFER_RESULT_SYMBOL || LA203_105 == BINARY_SYMBOL || ((LA203_105 >= CASE_SYMBOL) && (LA203_105 <= CAST_SYMBOL)) || LA203_105 == CONVERT_SYMBOL || LA203_105 == MATCH_SYMBOL || LA203_105 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == SQL_NO_CACHE_SYMBOL || LA203_105 == ALL_SYMBOL || LA203_105 == DISTINCT_SYMBOL || LA203_105 == HIGH_PRIORITY_SYMBOL || ((LA203_105 >= SQL_BIG_RESULT_SYMBOL) && (LA203_105 <= SQL_SMALL_RESULT_SYMBOL)) || LA203_105 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == SQL_CACHE_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == MAX_STATEMENT_TIME_SYMBOL))
                		    {
                		        alt203=1;
                		    }
                		    else if ( (LA203_105 == ACTION_SYMBOL || ((LA203_105 >= AFTER_SYMBOL) && (LA203_105 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA203_105 >= BINLOG_SYMBOL) && (LA203_105 <= CLASS_ORIGIN_SYMBOL)) || LA203_105 == CODE_SYMBOL || ((LA203_105 >= COLUMN_NAME_SYMBOL) && (LA203_105 <= DATETIME_SYMBOL)) || ((LA203_105 >= DEFAULT_AUTH_SYMBOL) && (LA203_105 <= GEOMETRY_SYMBOL)) || ((LA203_105 >= GRANTS_SYMBOL) && (LA203_105 <= HOSTS_SYMBOL)) || ((LA203_105 >= IDENTIFIED_SYMBOL) && (LA203_105 <= LEVEL_SYMBOL)) || ((LA203_105 >= LIST_SYMBOL) && (LA203_105 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA203_105 >= MAX_SIZE_SYMBOL) && (LA203_105 <= MESSAGE_TEXT_SYMBOL)) || LA203_105 == MIGRATE_SYMBOL || ((LA203_105 >= MIN_ROWS_SYMBOL) && (LA203_105 <= MODE_SYMBOL)) || ((LA203_105 >= MUTEX_SYMBOL) && (LA203_105 <= OFFSET_SYMBOL)) || ((LA203_105 >= ONE_SHOT_SYMBOL) && (LA203_105 <= PARTITIONS_SYMBOL)) || ((LA203_105 >= PHASE_SYMBOL) && (LA203_105 <= PLUGINS_SYMBOL)) || ((LA203_105 >= PRESERVE_SYMBOL) && (LA203_105 <= PROXY_SYMBOL)) || ((LA203_105 >= QUERY_SYMBOL) && (LA203_105 <= RETURNS_SYMBOL)) || ((LA203_105 >= ROLLUP_SYMBOL) && (LA203_105 <= ROWS_SYMBOL)) || LA203_105 == ROW_FORMAT_SYMBOL || ((LA203_105 >= RTREE_SYMBOL) && (LA203_105 <= SCHEMA_NAME_SYMBOL)) || ((LA203_105 >= SERIAL_SYMBOL) && (LA203_105 <= SNAPSHOT_SYMBOL)) || ((LA203_105 >= SOURCE_SYMBOL) && (LA203_105 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA203_105 >= SQL_THREAD_SYMBOL) && (LA203_105 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA203_105 >= SUBJECT_SYMBOL) && (LA203_105 <= TRIGGERS_SYMBOL)) || ((LA203_105 >= TYPES_SYMBOL) && (LA203_105 <= USER_RESOURCES_SYMBOL)) || ((LA203_105 >= USE_FRM_SYMBOL) && (LA203_105 <= WAIT_SYMBOL)) || LA203_105 == WORK_SYMBOL || ((LA203_105 >= X509_SYMBOL) && (LA203_105 <= XML_SYMBOL))))
                		    {
                		        alt203=1;
                		    }

                		}
                	}
                    break;
                case MAX_STATEMENT_TIME_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case EQUAL_OPERATOR:
                			{
                				{
                				   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                				    */
                				    int LA203_534 = LA(3);
                				    if ( ((SERVER_VERSION >= 50704)))
                				    {
                				        alt203=1;
                				    }

                				}
                			}
                		    break;

                		}

                	}
                    break;

                }

                switch (alt203)
                {
            	case 1:
            	    // MySQL.g:756:46: select_option
            	    {
            	        FOLLOWPUSH(FOLLOW_select_option_in_create_select3381);
            	        select_option628=select_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_selectEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_option628.tree);

            	    }
            	    break;

            	default:
            	    goto loop203;	/* break out of the loop */
            	    break;
                }
            }
            loop203: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_select_item_list_in_create_select3385);
            select_item_list629=select_item_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_selectEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list629.tree);

            FOLLOWPUSH(FOLLOW_table_expression_in_create_select3387);
            table_expression630=table_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_selectEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_expression630.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_selectEx; /* Prevent compiler warnings */
    rulecreate_selectEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_select */

/**
 * $ANTLR start create_tablespace
 * MySQL.g:759:1: create_tablespace : CREATE_SYMBOL ^ create_tablespace_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_tablespace_return
create_tablespace(pMySQLParser ctx)
{
    MySQLParser_create_tablespace_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL631;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL633;
    pANTLR3_COMMON_TOKEN    EOF634;
    MySQLParser_create_tablespace_tail_return create_tablespace_tail632;
    #undef	RETURN_TYPE_create_tablespace_tail632
    #define	RETURN_TYPE_create_tablespace_tail632 MySQLParser_create_tablespace_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL631_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL633_tree;
    pANTLR3_BASE_TREE EOF634_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL631       = NULL;
    SEMICOLON_SYMBOL633       = NULL;
    EOF634       = NULL;
    create_tablespace_tail632.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL631_tree   = NULL;
    SEMICOLON_SYMBOL633_tree   = NULL;
    EOF634_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:759:18: ( CREATE_SYMBOL ^ create_tablespace_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:760:2: CREATE_SYMBOL ^ create_tablespace_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL631 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_tablespace3397);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL631_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL631))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL631_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_create_tablespace_tail_in_create_tablespace3400);
            create_tablespace_tail632=create_tablespace_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_tablespace_tail632.tree);

            // MySQL.g:760:40: ( SEMICOLON_SYMBOL )?
            {
                int alt204=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt204=1;
                    	}
                        break;
                }

                switch (alt204)
                {
            	case 1:
            	    // MySQL.g:760:40: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL633 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_tablespace3402);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL633_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL633));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL633_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF634 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_tablespace3405);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF634_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF634));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF634_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_tablespaceEx; /* Prevent compiler warnings */
    rulecreate_tablespaceEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_tablespace */

/**
 * $ANTLR start create_tablespace_tail
 * MySQL.g:763:1: create_tablespace_tail : TABLESPACE_SYMBOL tablespace_name ADD_SYMBOL DATAFILE_SYMBOL string_literal ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref )? ( create_tablespace_option ( ( COMMA_SYMBOL )? create_tablespace_option )* )? ;
 */
static MySQLParser_create_tablespace_tail_return
create_tablespace_tail(pMySQLParser ctx)
{
    MySQLParser_create_tablespace_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL635;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL637;
    pANTLR3_COMMON_TOKEN    DATAFILE_SYMBOL638;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL640;
    pANTLR3_COMMON_TOKEN    LOGFILE_SYMBOL641;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL642;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL645;
    MySQLParser_tablespace_name_return tablespace_name636;
    #undef	RETURN_TYPE_tablespace_name636
    #define	RETURN_TYPE_tablespace_name636 MySQLParser_tablespace_name_return

    MySQLParser_string_literal_return string_literal639;
    #undef	RETURN_TYPE_string_literal639
    #define	RETURN_TYPE_string_literal639 MySQLParser_string_literal_return

    MySQLParser_logfile_group_ref_return logfile_group_ref643;
    #undef	RETURN_TYPE_logfile_group_ref643
    #define	RETURN_TYPE_logfile_group_ref643 MySQLParser_logfile_group_ref_return

    MySQLParser_create_tablespace_option_return create_tablespace_option644;
    #undef	RETURN_TYPE_create_tablespace_option644
    #define	RETURN_TYPE_create_tablespace_option644 MySQLParser_create_tablespace_option_return

    MySQLParser_create_tablespace_option_return create_tablespace_option646;
    #undef	RETURN_TYPE_create_tablespace_option646
    #define	RETURN_TYPE_create_tablespace_option646 MySQLParser_create_tablespace_option_return

    pANTLR3_BASE_TREE TABLESPACE_SYMBOL635_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL637_tree;
    pANTLR3_BASE_TREE DATAFILE_SYMBOL638_tree;
    pANTLR3_BASE_TREE USE_SYMBOL640_tree;
    pANTLR3_BASE_TREE LOGFILE_SYMBOL641_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL642_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL645_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLESPACE_SYMBOL635       = NULL;
    ADD_SYMBOL637       = NULL;
    DATAFILE_SYMBOL638       = NULL;
    USE_SYMBOL640       = NULL;
    LOGFILE_SYMBOL641       = NULL;
    GROUP_SYMBOL642       = NULL;
    COMMA_SYMBOL645       = NULL;
    tablespace_name636.tree = NULL;

    string_literal639.tree = NULL;

    logfile_group_ref643.tree = NULL;

    create_tablespace_option644.tree = NULL;

    create_tablespace_option646.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TABLESPACE_SYMBOL635_tree   = NULL;
    ADD_SYMBOL637_tree   = NULL;
    DATAFILE_SYMBOL638_tree   = NULL;
    USE_SYMBOL640_tree   = NULL;
    LOGFILE_SYMBOL641_tree   = NULL;
    GROUP_SYMBOL642_tree   = NULL;
    COMMA_SYMBOL645_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:763:23: ( TABLESPACE_SYMBOL tablespace_name ADD_SYMBOL DATAFILE_SYMBOL string_literal ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref )? ( create_tablespace_option ( ( COMMA_SYMBOL )? create_tablespace_option )* )? )
        // MySQL.g:764:2: TABLESPACE_SYMBOL tablespace_name ADD_SYMBOL DATAFILE_SYMBOL string_literal ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref )? ( create_tablespace_option ( ( COMMA_SYMBOL )? create_tablespace_option )* )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TABLESPACE_SYMBOL635 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace_tail3414);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespace_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TABLESPACE_SYMBOL635_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL635));
            ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL635_tree);
            }

            FOLLOWPUSH(FOLLOW_tablespace_name_in_create_tablespace_tail3416);
            tablespace_name636=tablespace_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespace_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, tablespace_name636.tree);

            ADD_SYMBOL637 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_create_tablespace_tail3418);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespace_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ADD_SYMBOL637_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ADD_SYMBOL637));
            ADAPTOR->addChild(ADAPTOR, root_0, ADD_SYMBOL637_tree);
            }

            DATAFILE_SYMBOL638 = (pANTLR3_COMMON_TOKEN) MATCHT(DATAFILE_SYMBOL, &FOLLOW_DATAFILE_SYMBOL_in_create_tablespace_tail3420);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespace_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DATAFILE_SYMBOL638_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATAFILE_SYMBOL638));
            ADAPTOR->addChild(ADAPTOR, root_0, DATAFILE_SYMBOL638_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_create_tablespace_tail3422);
            string_literal639=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespace_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal639.tree);

            // MySQL.g:765:3: ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref )?
            {
                int alt205=2;
                switch ( LA(1) )
                {
                    case USE_SYMBOL:
                    	{
                    		alt205=1;
                    	}
                        break;
                }

                switch (alt205)
                {
            	case 1:
            	    // MySQL.g:765:4: USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref
            	    {
            	        USE_SYMBOL640 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_create_tablespace_tail3427);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespace_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        USE_SYMBOL640_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USE_SYMBOL640));
            	        ADAPTOR->addChild(ADAPTOR, root_0, USE_SYMBOL640_tree);
            	        }

            	        LOGFILE_SYMBOL641 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_create_tablespace_tail3429);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespace_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOGFILE_SYMBOL641_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGFILE_SYMBOL641));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOGFILE_SYMBOL641_tree);
            	        }

            	        GROUP_SYMBOL642 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_create_tablespace_tail3431);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespace_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GROUP_SYMBOL642_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL642));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL642_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_logfile_group_ref_in_create_tablespace_tail3433);
            	        logfile_group_ref643=logfile_group_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespace_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logfile_group_ref643.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:765:63: ( create_tablespace_option ( ( COMMA_SYMBOL )? create_tablespace_option )* )?
            {
                int alt208=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    case AUTOEXTEND_SIZE_SYMBOL:
                    case ENGINE_SYMBOL:
                    case EXTENT_SIZE_SYMBOL:
                    case INITIAL_SIZE_SYMBOL:
                    case MAX_SIZE_SYMBOL:
                    case NO_WAIT_SYMBOL:
                    case NODEGROUP_SYMBOL:
                    case STORAGE_SYMBOL:
                    case WAIT_SYMBOL:
                    	{
                    		alt208=1;
                    	}
                        break;
                }

                switch (alt208)
                {
            	case 1:
            	    // MySQL.g:765:64: create_tablespace_option ( ( COMMA_SYMBOL )? create_tablespace_option )*
            	    {
            	        FOLLOWPUSH(FOLLOW_create_tablespace_option_in_create_tablespace_tail3438);
            	        create_tablespace_option644=create_tablespace_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespace_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_tablespace_option644.tree);

            	        // MySQL.g:765:89: ( ( COMMA_SYMBOL )? create_tablespace_option )*

            	        for (;;)
            	        {
            	            int alt207=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMENT_SYMBOL:
            	            case AUTOEXTEND_SIZE_SYMBOL:
            	            case ENGINE_SYMBOL:
            	            case EXTENT_SIZE_SYMBOL:
            	            case INITIAL_SIZE_SYMBOL:
            	            case MAX_SIZE_SYMBOL:
            	            case NO_WAIT_SYMBOL:
            	            case NODEGROUP_SYMBOL:
            	            case STORAGE_SYMBOL:
            	            case WAIT_SYMBOL:
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt207=1;
            	            	}
            	                break;

            	            }

            	            switch (alt207)
            	            {
            	        	case 1:
            	        	    // MySQL.g:765:90: ( COMMA_SYMBOL )? create_tablespace_option
            	        	    {
            	        	        // MySQL.g:765:90: ( COMMA_SYMBOL )?
            	        	        {
            	        	            int alt206=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case COMMA_SYMBOL:
            	        	                	{
            	        	                		alt206=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt206)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:765:90: COMMA_SYMBOL
            	        	        	    {
            	        	        	        COMMA_SYMBOL645 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_tablespace_tail3441);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulecreate_tablespace_tailEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        COMMA_SYMBOL645_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL645));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL645_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_create_tablespace_option_in_create_tablespace_tail3444);
            	        	        create_tablespace_option646=create_tablespace_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_tablespace_tailEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_tablespace_option646.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop207;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop207: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_tablespace_tailEx; /* Prevent compiler warnings */
    rulecreate_tablespace_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_tablespace_tail */

/**
 * $ANTLR start create_tablespace_option
 * MySQL.g:768:1: create_tablespace_option : ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | EXTENT_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER ) | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal );
 */
static MySQLParser_create_tablespace_option_return
create_tablespace_option(pMySQLParser ctx)
{
    MySQLParser_create_tablespace_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL647;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR648;
    pANTLR3_COMMON_TOKEN    AUTOEXTEND_SIZE_SYMBOL650;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR651;
    pANTLR3_COMMON_TOKEN    MAX_SIZE_SYMBOL653;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR654;
    pANTLR3_COMMON_TOKEN    EXTENT_SIZE_SYMBOL656;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR657;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL659;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR660;
    pANTLR3_COMMON_TOKEN    set661;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL662;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL663;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR664;
    pANTLR3_COMMON_TOKEN    set666;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL667;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR668;
    MySQLParser_size_number_return size_number649;
    #undef	RETURN_TYPE_size_number649
    #define	RETURN_TYPE_size_number649 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number652;
    #undef	RETURN_TYPE_size_number652
    #define	RETURN_TYPE_size_number652 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number655;
    #undef	RETURN_TYPE_size_number655
    #define	RETURN_TYPE_size_number655 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number658;
    #undef	RETURN_TYPE_size_number658
    #define	RETURN_TYPE_size_number658 MySQLParser_size_number_return

    MySQLParser_engine_ref_return engine_ref665;
    #undef	RETURN_TYPE_engine_ref665
    #define	RETURN_TYPE_engine_ref665 MySQLParser_engine_ref_return

    MySQLParser_string_literal_return string_literal669;
    #undef	RETURN_TYPE_string_literal669
    #define	RETURN_TYPE_string_literal669 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL647_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR648_tree;
    pANTLR3_BASE_TREE AUTOEXTEND_SIZE_SYMBOL650_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR651_tree;
    pANTLR3_BASE_TREE MAX_SIZE_SYMBOL653_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR654_tree;
    pANTLR3_BASE_TREE EXTENT_SIZE_SYMBOL656_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR657_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL659_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR660_tree;
    pANTLR3_BASE_TREE set661_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL662_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL663_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR664_tree;
    pANTLR3_BASE_TREE set666_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL667_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR668_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INITIAL_SIZE_SYMBOL647       = NULL;
    EQUAL_OPERATOR648       = NULL;
    AUTOEXTEND_SIZE_SYMBOL650       = NULL;
    EQUAL_OPERATOR651       = NULL;
    MAX_SIZE_SYMBOL653       = NULL;
    EQUAL_OPERATOR654       = NULL;
    EXTENT_SIZE_SYMBOL656       = NULL;
    EQUAL_OPERATOR657       = NULL;
    NODEGROUP_SYMBOL659       = NULL;
    EQUAL_OPERATOR660       = NULL;
    set661       = NULL;
    STORAGE_SYMBOL662       = NULL;
    ENGINE_SYMBOL663       = NULL;
    EQUAL_OPERATOR664       = NULL;
    set666       = NULL;
    COMMENT_SYMBOL667       = NULL;
    EQUAL_OPERATOR668       = NULL;
    size_number649.tree = NULL;

    size_number652.tree = NULL;

    size_number655.tree = NULL;

    size_number658.tree = NULL;

    engine_ref665.tree = NULL;

    string_literal669.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INITIAL_SIZE_SYMBOL647_tree   = NULL;
    EQUAL_OPERATOR648_tree   = NULL;
    AUTOEXTEND_SIZE_SYMBOL650_tree   = NULL;
    EQUAL_OPERATOR651_tree   = NULL;
    MAX_SIZE_SYMBOL653_tree   = NULL;
    EQUAL_OPERATOR654_tree   = NULL;
    EXTENT_SIZE_SYMBOL656_tree   = NULL;
    EQUAL_OPERATOR657_tree   = NULL;
    NODEGROUP_SYMBOL659_tree   = NULL;
    EQUAL_OPERATOR660_tree   = NULL;
    set661_tree   = NULL;
    STORAGE_SYMBOL662_tree   = NULL;
    ENGINE_SYMBOL663_tree   = NULL;
    EQUAL_OPERATOR664_tree   = NULL;
    set666_tree   = NULL;
    COMMENT_SYMBOL667_tree   = NULL;
    EQUAL_OPERATOR668_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:768:25: ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | EXTENT_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number | NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER ) | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )

            ANTLR3_UINT32 alt217;

            alt217=8;

            switch ( LA(1) )
            {
            case INITIAL_SIZE_SYMBOL:
            	{
            		alt217=1;
            	}
                break;
            case AUTOEXTEND_SIZE_SYMBOL:
            	{
            		alt217=2;
            	}
                break;
            case MAX_SIZE_SYMBOL:
            	{
            		alt217=3;
            	}
                break;
            case EXTENT_SIZE_SYMBOL:
            	{
            		alt217=4;
            	}
                break;
            case NODEGROUP_SYMBOL:
            	{
            		alt217=5;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt217=6;
            	}
                break;
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt217=7;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt217=8;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 217;
                EXCEPTION->state        = 0;


                goto rulecreate_tablespace_optionEx;

            }

            switch (alt217)
            {
        	case 1:
        	    // MySQL.g:769:2: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INITIAL_SIZE_SYMBOL647 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_create_tablespace_option3457);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INITIAL_SIZE_SYMBOL647_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INITIAL_SIZE_SYMBOL647));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INITIAL_SIZE_SYMBOL647_tree);
        	        }

        	        // MySQL.g:769:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt209=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt209=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt209)
        	            {
        	        	case 1:
        	        	    // MySQL.g:769:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR648 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3459);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR648_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR648));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR648_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_create_tablespace_option3462);
        	        size_number649=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number649.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:770:4: AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTOEXTEND_SIZE_SYMBOL650 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTOEXTEND_SIZE_SYMBOL, &FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_create_tablespace_option3467);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTOEXTEND_SIZE_SYMBOL650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTOEXTEND_SIZE_SYMBOL650));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTOEXTEND_SIZE_SYMBOL650_tree);
        	        }

        	        // MySQL.g:770:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt210=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt210=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt210)
        	            {
        	        	case 1:
        	        	    // MySQL.g:770:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR651 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3469);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR651_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR651));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR651_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_create_tablespace_option3472);
        	        size_number652=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number652.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:771:4: MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SIZE_SYMBOL653 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SIZE_SYMBOL, &FOLLOW_MAX_SIZE_SYMBOL_in_create_tablespace_option3477);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_SIZE_SYMBOL653_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_SIZE_SYMBOL653));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_SIZE_SYMBOL653_tree);
        	        }

        	        // MySQL.g:771:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt211=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt211=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt211)
        	            {
        	        	case 1:
        	        	    // MySQL.g:771:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR654 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3479);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR654_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR654));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR654_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_create_tablespace_option3482);
        	        size_number655=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number655.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:772:4: EXTENT_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTENT_SIZE_SYMBOL656 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENT_SIZE_SYMBOL, &FOLLOW_EXTENT_SIZE_SYMBOL_in_create_tablespace_option3487);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXTENT_SIZE_SYMBOL656_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTENT_SIZE_SYMBOL656));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTENT_SIZE_SYMBOL656_tree);
        	        }

        	        // MySQL.g:772:23: ( EQUAL_OPERATOR )?
        	        {
        	            int alt212=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt212=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt212)
        	            {
        	        	case 1:
        	        	    // MySQL.g:772:23: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR657 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3489);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR657_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR657));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR657_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_create_tablespace_option3492);
        	        size_number658=size_number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, size_number658.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:773:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NODEGROUP_SYMBOL659 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_create_tablespace_option3497);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NODEGROUP_SYMBOL659_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL659));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL659_tree);
        	        }

        	        // MySQL.g:773:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt213=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt213=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt213)
        	            {
        	        	case 1:
        	        	    // MySQL.g:773:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR660 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3499);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR660_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR660));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR660_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set661=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == HEXNUMBER || LA(1) == INTEGER )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set661))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_tablespace_optionEx;
        	        }


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:774:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:774:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt214=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt214=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt214)
        	            {
        	        	case 1:
        	        	    // MySQL.g:774:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL662 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_create_tablespace_option3513);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STORAGE_SYMBOL662_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL662));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL662_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL663 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_create_tablespace_option3516);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENGINE_SYMBOL663_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL663));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL663_tree);
        	        }

        	        // MySQL.g:774:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt215=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt215=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt215)
        	            {
        	        	case 1:
        	        	    // MySQL.g:774:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR664 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3518);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR664_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR664));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR664_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_engine_ref_in_create_tablespace_option3521);
        	        engine_ref665=engine_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref665.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:775:4: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set666=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == NO_WAIT_SYMBOL || LA(1) == WAIT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set666))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_tablespace_optionEx;
        	        }


        	    }
        	    break;
        	case 8:
        	    // MySQL.g:776:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL667 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_tablespace_option3537);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL667_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL667));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL667_tree);
        	        }

        	        // MySQL.g:776:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt216=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt216=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt216)
        	            {
        	        	case 1:
        	        	    // MySQL.g:776:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR668 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_tablespace_option3539);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_tablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR668_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR668));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR668_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_create_tablespace_option3542);
        	        string_literal669=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_tablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal669.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecreate_tablespace_optionEx; /* Prevent compiler warnings */
    rulecreate_tablespace_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_tablespace_option */

/**
 * $ANTLR start create_trigger
 * MySQL.g:779:1: create_trigger : create_with_definer create_trigger_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_trigger_return
create_trigger(pMySQLParser ctx)
{
    MySQLParser_create_trigger_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL672;
    pANTLR3_COMMON_TOKEN    EOF673;
    MySQLParser_create_with_definer_return create_with_definer670;
    #undef	RETURN_TYPE_create_with_definer670
    #define	RETURN_TYPE_create_with_definer670 MySQLParser_create_with_definer_return

    MySQLParser_create_trigger_tail_return create_trigger_tail671;
    #undef	RETURN_TYPE_create_trigger_tail671
    #define	RETURN_TYPE_create_trigger_tail671 MySQLParser_create_trigger_tail_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL672_tree;
    pANTLR3_BASE_TREE EOF673_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL672       = NULL;
    EOF673       = NULL;
    create_with_definer670.tree = NULL;

    create_trigger_tail671.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL672_tree   = NULL;
    EOF673_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:779:15: ( create_with_definer create_trigger_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:780:2: create_with_definer create_trigger_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_with_definer_in_create_trigger3552);
            create_with_definer670=create_with_definer(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_with_definer670.tree);

            FOLLOWPUSH(FOLLOW_create_trigger_tail_in_create_trigger3554);
            create_trigger_tail671=create_trigger_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_trigger_tail671.tree);

            // MySQL.g:780:42: ( SEMICOLON_SYMBOL )?
            {
                int alt218=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt218=1;
                    	}
                        break;
                }

                switch (alt218)
                {
            	case 1:
            	    // MySQL.g:780:42: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL672 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_trigger3556);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_triggerEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL672_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL672));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL672_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF673 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_trigger3559);
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF673_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF673));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF673_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_triggerEx; /* Prevent compiler warnings */
    rulecreate_triggerEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_trigger */

/**
 * $ANTLR start create_trigger_tail
 * MySQL.g:783:1: create_trigger_tail : TRIGGER_SYMBOL trigger_name ( BEFORE_SYMBOL | AFTER_SYMBOL ) ( INSERT_SYMBOL | UPDATE_SYMBOL | DELETE_SYMBOL ) ON_SYMBOL table_ref FOR_SYMBOL EACH_SYMBOL ROW_SYMBOL ( trigger_follows_precedes_clause )? compound_statement ;
 */
static MySQLParser_create_trigger_tail_return
create_trigger_tail(pMySQLParser ctx)
{
    MySQLParser_create_trigger_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL674;
    pANTLR3_COMMON_TOKEN    set676;
    pANTLR3_COMMON_TOKEN    set677;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL678;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL680;
    pANTLR3_COMMON_TOKEN    EACH_SYMBOL681;
    pANTLR3_COMMON_TOKEN    ROW_SYMBOL682;
    MySQLParser_trigger_name_return trigger_name675;
    #undef	RETURN_TYPE_trigger_name675
    #define	RETURN_TYPE_trigger_name675 MySQLParser_trigger_name_return

    MySQLParser_table_ref_return table_ref679;
    #undef	RETURN_TYPE_table_ref679
    #define	RETURN_TYPE_table_ref679 MySQLParser_table_ref_return

    MySQLParser_trigger_follows_precedes_clause_return trigger_follows_precedes_clause683;
    #undef	RETURN_TYPE_trigger_follows_precedes_clause683
    #define	RETURN_TYPE_trigger_follows_precedes_clause683 MySQLParser_trigger_follows_precedes_clause_return

    MySQLParser_compound_statement_return compound_statement684;
    #undef	RETURN_TYPE_compound_statement684
    #define	RETURN_TYPE_compound_statement684 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE TRIGGER_SYMBOL674_tree;
    pANTLR3_BASE_TREE set676_tree;
    pANTLR3_BASE_TREE set677_tree;
    pANTLR3_BASE_TREE ON_SYMBOL678_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL680_tree;
    pANTLR3_BASE_TREE EACH_SYMBOL681_tree;
    pANTLR3_BASE_TREE ROW_SYMBOL682_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRIGGER_SYMBOL674       = NULL;
    set676       = NULL;
    set677       = NULL;
    ON_SYMBOL678       = NULL;
    FOR_SYMBOL680       = NULL;
    EACH_SYMBOL681       = NULL;
    ROW_SYMBOL682       = NULL;
    trigger_name675.tree = NULL;

    table_ref679.tree = NULL;

    trigger_follows_precedes_clause683.tree = NULL;

    compound_statement684.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TRIGGER_SYMBOL674_tree   = NULL;
    set676_tree   = NULL;
    set677_tree   = NULL;
    ON_SYMBOL678_tree   = NULL;
    FOR_SYMBOL680_tree   = NULL;
    EACH_SYMBOL681_tree   = NULL;
    ROW_SYMBOL682_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:783:20: ( TRIGGER_SYMBOL trigger_name ( BEFORE_SYMBOL | AFTER_SYMBOL ) ( INSERT_SYMBOL | UPDATE_SYMBOL | DELETE_SYMBOL ) ON_SYMBOL table_ref FOR_SYMBOL EACH_SYMBOL ROW_SYMBOL ( trigger_follows_precedes_clause )? compound_statement )
        // MySQL.g:784:2: TRIGGER_SYMBOL trigger_name ( BEFORE_SYMBOL | AFTER_SYMBOL ) ( INSERT_SYMBOL | UPDATE_SYMBOL | DELETE_SYMBOL ) ON_SYMBOL table_ref FOR_SYMBOL EACH_SYMBOL ROW_SYMBOL ( trigger_follows_precedes_clause )? compound_statement
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TRIGGER_SYMBOL674 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_create_trigger_tail3568);
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TRIGGER_SYMBOL674_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGER_SYMBOL674));
            ADAPTOR->addChild(ADAPTOR, root_0, TRIGGER_SYMBOL674_tree);
            }

            FOLLOWPUSH(FOLLOW_trigger_name_in_create_trigger_tail3570);
            trigger_name675=trigger_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trigger_name675.tree);

            set676=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == AFTER_SYMBOL || LA(1) == BEFORE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set676))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulecreate_trigger_tailEx;
            }


            set677=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == DELETE_SYMBOL || LA(1) == INSERT_SYMBOL || LA(1) == UPDATE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set677))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulecreate_trigger_tailEx;
            }


            ON_SYMBOL678 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_trigger_tail3594);
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL678_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL678));
            ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL678_tree);
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_create_trigger_tail3596);
            table_ref679=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref679.tree);

            FOR_SYMBOL680 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_create_trigger_tail3598);
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL680_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL680));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL680_tree);
            }

            EACH_SYMBOL681 = (pANTLR3_COMMON_TOKEN) MATCHT(EACH_SYMBOL, &FOLLOW_EACH_SYMBOL_in_create_trigger_tail3600);
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EACH_SYMBOL681_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EACH_SYMBOL681));
            ADAPTOR->addChild(ADAPTOR, root_0, EACH_SYMBOL681_tree);
            }

            ROW_SYMBOL682 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_SYMBOL, &FOLLOW_ROW_SYMBOL_in_create_trigger_tail3602);
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ROW_SYMBOL682_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_SYMBOL682));
            ADAPTOR->addChild(ADAPTOR, root_0, ROW_SYMBOL682_tree);
            }

            // MySQL.g:785:57: ( trigger_follows_precedes_clause )?
            {
                int alt219=2;
                {
                    int LA219_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50700)) && (LA219_0 == FOLLOWS_SYMBOL || LA219_0 == PRECEDES_SYMBOL))
                    {
                        alt219=1;
                    }
                }
                switch (alt219)
                {
            	case 1:
            	    // MySQL.g:785:57: trigger_follows_precedes_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_trigger_follows_precedes_clause_in_create_trigger_tail3604);
            	        trigger_follows_precedes_clause683=trigger_follows_precedes_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_trigger_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trigger_follows_precedes_clause683.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_compound_statement_in_create_trigger_tail3607);
            compound_statement684=compound_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_trigger_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement684.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_trigger_tailEx; /* Prevent compiler warnings */
    rulecreate_trigger_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_trigger_tail */

/**
 * $ANTLR start trigger_follows_precedes_clause
 * MySQL.g:788:1: trigger_follows_precedes_clause :{...}? => ( FOLLOWS_SYMBOL | PRECEDES_SYMBOL ) text_or_identifier ;
 */
static MySQLParser_trigger_follows_precedes_clause_return
trigger_follows_precedes_clause(pMySQLParser ctx)
{
    MySQLParser_trigger_follows_precedes_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set685;
    MySQLParser_text_or_identifier_return text_or_identifier686;
    #undef	RETURN_TYPE_text_or_identifier686
    #define	RETURN_TYPE_text_or_identifier686 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE set685_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set685       = NULL;
    text_or_identifier686.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set685_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:788:32: ({...}? => ( FOLLOWS_SYMBOL | PRECEDES_SYMBOL ) text_or_identifier )
        // MySQL.g:789:2: {...}? => ( FOLLOWS_SYMBOL | PRECEDES_SYMBOL ) text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50700)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
                    EXCEPTION->ruleName	 = (void *)"trigger_follows_precedes_clause";


            }

            set685=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == FOLLOWS_SYMBOL || LA(1) == PRECEDES_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set685))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruletrigger_follows_precedes_clauseEx;
            }


            FOLLOWPUSH(FOLLOW_text_or_identifier_in_trigger_follows_precedes_clause3628);
            text_or_identifier686=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletrigger_follows_precedes_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier686.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletrigger_follows_precedes_clauseEx; /* Prevent compiler warnings */
    ruletrigger_follows_precedes_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end trigger_follows_precedes_clause */

/**
 * $ANTLR start create_view
 * MySQL.g:792:1: create_view : CREATE_SYMBOL ^ ( OR_SYMBOL REPLACE_SYMBOL )? ( view_algorithm )? ( definer_clause )? create_view_tail ( SEMICOLON_SYMBOL )? EOF ;
 */
static MySQLParser_create_view_return
create_view(pMySQLParser ctx)
{
    MySQLParser_create_view_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL687;
    pANTLR3_COMMON_TOKEN    OR_SYMBOL688;
    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL689;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL693;
    pANTLR3_COMMON_TOKEN    EOF694;
    MySQLParser_view_algorithm_return view_algorithm690;
    #undef	RETURN_TYPE_view_algorithm690
    #define	RETURN_TYPE_view_algorithm690 MySQLParser_view_algorithm_return

    MySQLParser_definer_clause_return definer_clause691;
    #undef	RETURN_TYPE_definer_clause691
    #define	RETURN_TYPE_definer_clause691 MySQLParser_definer_clause_return

    MySQLParser_create_view_tail_return create_view_tail692;
    #undef	RETURN_TYPE_create_view_tail692
    #define	RETURN_TYPE_create_view_tail692 MySQLParser_create_view_tail_return

    pANTLR3_BASE_TREE CREATE_SYMBOL687_tree;
    pANTLR3_BASE_TREE OR_SYMBOL688_tree;
    pANTLR3_BASE_TREE REPLACE_SYMBOL689_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL693_tree;
    pANTLR3_BASE_TREE EOF694_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL687       = NULL;
    OR_SYMBOL688       = NULL;
    REPLACE_SYMBOL689       = NULL;
    SEMICOLON_SYMBOL693       = NULL;
    EOF694       = NULL;
    view_algorithm690.tree = NULL;

    definer_clause691.tree = NULL;

    create_view_tail692.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL687_tree   = NULL;
    OR_SYMBOL688_tree   = NULL;
    REPLACE_SYMBOL689_tree   = NULL;
    SEMICOLON_SYMBOL693_tree   = NULL;
    EOF694_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:792:12: ( CREATE_SYMBOL ^ ( OR_SYMBOL REPLACE_SYMBOL )? ( view_algorithm )? ( definer_clause )? create_view_tail ( SEMICOLON_SYMBOL )? EOF )
        // MySQL.g:793:2: CREATE_SYMBOL ^ ( OR_SYMBOL REPLACE_SYMBOL )? ( view_algorithm )? ( definer_clause )? create_view_tail ( SEMICOLON_SYMBOL )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL687 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_view3640);
            if  (HASEXCEPTION())
            {
                goto rulecreate_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL687_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL687))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL687_tree, root_0));
            }

            // MySQL.g:793:17: ( OR_SYMBOL REPLACE_SYMBOL )?
            {
                int alt220=2;
                switch ( LA(1) )
                {
                    case OR_SYMBOL:
                    	{
                    		alt220=1;
                    	}
                        break;
                }

                switch (alt220)
                {
            	case 1:
            	    // MySQL.g:793:18: OR_SYMBOL REPLACE_SYMBOL
            	    {
            	        OR_SYMBOL688 = (pANTLR3_COMMON_TOKEN) MATCHT(OR_SYMBOL, &FOLLOW_OR_SYMBOL_in_create_view3644);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OR_SYMBOL688_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OR_SYMBOL688));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OR_SYMBOL688_tree);
            	        }

            	        REPLACE_SYMBOL689 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_create_view3646);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        REPLACE_SYMBOL689_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL689));
            	        ADAPTOR->addChild(ADAPTOR, root_0, REPLACE_SYMBOL689_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:793:45: ( view_algorithm )?
            {
                int alt221=2;
                switch ( LA(1) )
                {
                    case ALGORITHM_SYMBOL:
                    	{
                    		alt221=1;
                    	}
                        break;
                }

                switch (alt221)
                {
            	case 1:
            	    // MySQL.g:793:45: view_algorithm
            	    {
            	        FOLLOWPUSH(FOLLOW_view_algorithm_in_create_view3650);
            	        view_algorithm690=view_algorithm(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_algorithm690.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:793:62: ( definer_clause )?
            {
                int alt222=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt222=1;
                    	}
                        break;
                }

                switch (alt222)
                {
            	case 1:
            	    // MySQL.g:793:62: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_view3654);
            	        definer_clause691=definer_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, definer_clause691.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_create_view_tail_in_create_view3657);
            create_view_tail692=create_view_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_view_tail692.tree);

            // MySQL.g:793:95: ( SEMICOLON_SYMBOL )?
            {
                int alt223=2;
                switch ( LA(1) )
                {
                    case SEMICOLON_SYMBOL:
                    	{
                    		alt223=1;
                    	}
                        break;
                }

                switch (alt223)
                {
            	case 1:
            	    // MySQL.g:793:95: SEMICOLON_SYMBOL
            	    {
            	        SEMICOLON_SYMBOL693 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_create_view3659);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SEMICOLON_SYMBOL693_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL693));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL693_tree);
            	        }

            	    }
            	    break;

                }
            }

            EOF694 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_create_view3662);
            if  (HASEXCEPTION())
            {
                goto rulecreate_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF694_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF694));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF694_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_viewEx; /* Prevent compiler warnings */
    rulecreate_viewEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_view */

/**
 * $ANTLR start create_view_tail
 * MySQL.g:796:1: create_view_tail : ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL view_name ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? ;
 */
static MySQLParser_create_view_tail_return
create_view_tail(pMySQLParser ctx)
{
    MySQLParser_create_view_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SQL_SYMBOL695;
    pANTLR3_COMMON_TOKEN    SECURITY_SYMBOL696;
    pANTLR3_COMMON_TOKEN    set697;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL698;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL701;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL703;
    pANTLR3_COMMON_TOKEN    set704;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL705;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL706;
    MySQLParser_view_name_return view_name699;
    #undef	RETURN_TYPE_view_name699
    #define	RETURN_TYPE_view_name699 MySQLParser_view_name_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses700;
    #undef	RETURN_TYPE_identifier_list_with_parentheses700
    #define	RETURN_TYPE_identifier_list_with_parentheses700 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_select_statement_return select_statement702;
    #undef	RETURN_TYPE_select_statement702
    #define	RETURN_TYPE_select_statement702 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE SQL_SYMBOL695_tree;
    pANTLR3_BASE_TREE SECURITY_SYMBOL696_tree;
    pANTLR3_BASE_TREE set697_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL698_tree;
    pANTLR3_BASE_TREE AS_SYMBOL701_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL703_tree;
    pANTLR3_BASE_TREE set704_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL705_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL706_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SQL_SYMBOL695       = NULL;
    SECURITY_SYMBOL696       = NULL;
    set697       = NULL;
    VIEW_SYMBOL698       = NULL;
    AS_SYMBOL701       = NULL;
    WITH_SYMBOL703       = NULL;
    set704       = NULL;
    CHECK_SYMBOL705       = NULL;
    OPTION_SYMBOL706       = NULL;
    view_name699.tree = NULL;

    identifier_list_with_parentheses700.tree = NULL;

    select_statement702.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SQL_SYMBOL695_tree   = NULL;
    SECURITY_SYMBOL696_tree   = NULL;
    set697_tree   = NULL;
    VIEW_SYMBOL698_tree   = NULL;
    AS_SYMBOL701_tree   = NULL;
    WITH_SYMBOL703_tree   = NULL;
    set704_tree   = NULL;
    CHECK_SYMBOL705_tree   = NULL;
    OPTION_SYMBOL706_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:796:17: ( ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL view_name ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? )
        // MySQL.g:797:2: ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL view_name ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:797:2: ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )?
            {
                int alt224=2;
                switch ( LA(1) )
                {
                    case SQL_SYMBOL:
                    	{
                    		alt224=1;
                    	}
                        break;
                }

                switch (alt224)
                {
            	case 1:
            	    // MySQL.g:797:3: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
            	    {
            	        SQL_SYMBOL695 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_create_view_tail3672);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_view_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQL_SYMBOL695_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_SYMBOL695));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_SYMBOL695_tree);
            	        }

            	        SECURITY_SYMBOL696 = (pANTLR3_COMMON_TOKEN) MATCHT(SECURITY_SYMBOL, &FOLLOW_SECURITY_SYMBOL_in_create_view_tail3674);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_view_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SECURITY_SYMBOL696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECURITY_SYMBOL696));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SECURITY_SYMBOL696_tree);
            	        }

            	        set697=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == DEFINER_SYMBOL || LA(1) == INVOKER_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set697))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulecreate_view_tailEx;
            	        }


            	    }
            	    break;

                }
            }

            VIEW_SYMBOL698 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_create_view_tail3688);
            if  (HASEXCEPTION())
            {
                goto rulecreate_view_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            VIEW_SYMBOL698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL698));
            ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL698_tree);
            }

            FOLLOWPUSH(FOLLOW_view_name_in_create_view_tail3690);
            view_name699=view_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_view_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_name699.tree);

            // MySQL.g:798:25: ( identifier_list_with_parentheses )?
            {
                int alt225=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt225=1;
                    	}
                        break;
                }

                switch (alt225)
                {
            	case 1:
            	    // MySQL.g:798:25: identifier_list_with_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_create_view_tail3692);
            	        identifier_list_with_parentheses700=identifier_list_with_parentheses(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_view_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses700.tree);

            	    }
            	    break;

                }
            }

            AS_SYMBOL701 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_create_view_tail3697);
            if  (HASEXCEPTION())
            {
                goto rulecreate_view_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AS_SYMBOL701_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL701));
            ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL701_tree);
            }

            FOLLOWPUSH(FOLLOW_select_statement_in_create_view_tail3699);
            select_statement702=select_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_view_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement702.tree);

            // MySQL.g:800:3: ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )?
            {
                int alt227=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt227=1;
                    	}
                        break;
                }

                switch (alt227)
                {
            	case 1:
            	    // MySQL.g:800:4: WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL703 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_create_view_tail3704);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_view_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL703_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL703));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL703_tree);
            	        }

            	        // MySQL.g:800:16: ( CASCADED_SYMBOL | LOCAL_SYMBOL )?
            	        {
            	            int alt226=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADED_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                	{
            	                		alt226=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt226)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set704=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == CASCADED_SYMBOL || LA(1) == LOCAL_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set704))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto rulecreate_view_tailEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	        CHECK_SYMBOL705 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_create_view_tail3715);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_view_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CHECK_SYMBOL705_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL705));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL705_tree);
            	        }

            	        OPTION_SYMBOL706 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_create_view_tail3717);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_view_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL706_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL706));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL706_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_view_tailEx; /* Prevent compiler warnings */
    rulecreate_view_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_view_tail */

/**
 * $ANTLR start view_replace_or_algorithm
 * MySQL.g:803:1: view_replace_or_algorithm : ( OR_SYMBOL REPLACE_SYMBOL ( view_algorithm )? | view_algorithm );
 */
static MySQLParser_view_replace_or_algorithm_return
view_replace_or_algorithm(pMySQLParser ctx)
{
    MySQLParser_view_replace_or_algorithm_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OR_SYMBOL707;
    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL708;
    MySQLParser_view_algorithm_return view_algorithm709;
    #undef	RETURN_TYPE_view_algorithm709
    #define	RETURN_TYPE_view_algorithm709 MySQLParser_view_algorithm_return

    MySQLParser_view_algorithm_return view_algorithm710;
    #undef	RETURN_TYPE_view_algorithm710
    #define	RETURN_TYPE_view_algorithm710 MySQLParser_view_algorithm_return

    pANTLR3_BASE_TREE OR_SYMBOL707_tree;
    pANTLR3_BASE_TREE REPLACE_SYMBOL708_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OR_SYMBOL707       = NULL;
    REPLACE_SYMBOL708       = NULL;
    view_algorithm709.tree = NULL;

    view_algorithm710.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OR_SYMBOL707_tree   = NULL;
    REPLACE_SYMBOL708_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:803:26: ( OR_SYMBOL REPLACE_SYMBOL ( view_algorithm )? | view_algorithm )

            ANTLR3_UINT32 alt229;

            alt229=2;

            switch ( LA(1) )
            {
            case OR_SYMBOL:
            	{
            		alt229=1;
            	}
                break;
            case ALGORITHM_SYMBOL:
            	{
            		alt229=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 229;
                EXCEPTION->state        = 0;


                goto ruleview_replace_or_algorithmEx;

            }

            switch (alt229)
            {
        	case 1:
        	    // MySQL.g:804:2: OR_SYMBOL REPLACE_SYMBOL ( view_algorithm )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OR_SYMBOL707 = (pANTLR3_COMMON_TOKEN) MATCHT(OR_SYMBOL, &FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm3728);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleview_replace_or_algorithmEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OR_SYMBOL707_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OR_SYMBOL707));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OR_SYMBOL707_tree);
        	        }

        	        REPLACE_SYMBOL708 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm3730);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleview_replace_or_algorithmEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLACE_SYMBOL708_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL708));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLACE_SYMBOL708_tree);
        	        }

        	        // MySQL.g:804:27: ( view_algorithm )?
        	        {
        	            int alt228=2;
        	            switch ( LA(1) )
        	            {
        	                case ALGORITHM_SYMBOL:
        	                	{
        	                		alt228=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt228)
        	            {
        	        	case 1:
        	        	    // MySQL.g:804:27: view_algorithm
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_view_algorithm_in_view_replace_or_algorithm3732);
        	        	        view_algorithm709=view_algorithm(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleview_replace_or_algorithmEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_algorithm709.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:805:4: view_algorithm
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_view_algorithm_in_view_replace_or_algorithm3738);
        	        view_algorithm710=view_algorithm(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleview_replace_or_algorithmEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_algorithm710.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleview_replace_or_algorithmEx; /* Prevent compiler warnings */
    ruleview_replace_or_algorithmEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end view_replace_or_algorithm */

/**
 * $ANTLR start view_algorithm
 * MySQL.g:808:1: view_algorithm : ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) ;
 */
static MySQLParser_view_algorithm_return
view_algorithm(pMySQLParser ctx)
{
    MySQLParser_view_algorithm_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALGORITHM_SYMBOL711;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR712;
    pANTLR3_COMMON_TOKEN    set713;

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL711_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR712_tree;
    pANTLR3_BASE_TREE set713_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL711       = NULL;
    EQUAL_OPERATOR712       = NULL;
    set713       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALGORITHM_SYMBOL711_tree   = NULL;
    EQUAL_OPERATOR712_tree   = NULL;
    set713_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:808:15: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )
        // MySQL.g:809:2: ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALGORITHM_SYMBOL711 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm3747);
            if  (HASEXCEPTION())
            {
                goto ruleview_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ALGORITHM_SYMBOL711_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALGORITHM_SYMBOL711));
            ADAPTOR->addChild(ADAPTOR, root_0, ALGORITHM_SYMBOL711_tree);
            }

            EQUAL_OPERATOR712 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_view_algorithm3749);
            if  (HASEXCEPTION())
            {
                goto ruleview_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR712_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR712));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR712_tree);
            }

            set713=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == MERGE_SYMBOL || LA(1) == TEMPTABLE_SYMBOL || LA(1) == UNDEFINED_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set713))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleview_algorithmEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleview_algorithmEx; /* Prevent compiler warnings */
    ruleview_algorithmEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end view_algorithm */

/**
 * $ANTLR start drop_statement
 * MySQL.g:814:1: drop_statement : DROP_SYMBOL ^ ( DATABASE_SYMBOL ( if_exists )? schema_ref |{...}? => EVENT_SYMBOL ( if_exists )? event_ref | ( FUNCTION_SYMBOL ( if_exists )? function_ref | PROCEDURE_SYMBOL ( if_exists )? procedure_ref ) | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_ref ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | SERVER_SYMBOL ( if_exists )? text_or_identifier | ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? | TABLESPACE_SYMBOL tablespace_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? trigger_ref | VIEW_SYMBOL ( if_exists )? view_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? ) ;
 */
static MySQLParser_drop_statement_return
drop_statement(pMySQLParser ctx)
{
    MySQLParser_drop_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DROP_SYMBOL714;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL715;
    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL718;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL721;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL724;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL728;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL730;
    pANTLR3_COMMON_TOKEN    LOGFILE_SYMBOL733;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL734;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL737;
    pANTLR3_COMMON_TOKEN    SERVER_SYMBOL739;
    pANTLR3_COMMON_TOKEN    TEMPORARY_SYMBOL742;
    pANTLR3_COMMON_TOKEN    set743;
    pANTLR3_COMMON_TOKEN    set746;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL747;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL750;
    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL752;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL755;
    pANTLR3_COMMON_TOKEN    set758;
    MySQLParser_if_exists_return if_exists716;
    #undef	RETURN_TYPE_if_exists716
    #define	RETURN_TYPE_if_exists716 MySQLParser_if_exists_return

    MySQLParser_schema_ref_return schema_ref717;
    #undef	RETURN_TYPE_schema_ref717
    #define	RETURN_TYPE_schema_ref717 MySQLParser_schema_ref_return

    MySQLParser_if_exists_return if_exists719;
    #undef	RETURN_TYPE_if_exists719
    #define	RETURN_TYPE_if_exists719 MySQLParser_if_exists_return

    MySQLParser_event_ref_return event_ref720;
    #undef	RETURN_TYPE_event_ref720
    #define	RETURN_TYPE_event_ref720 MySQLParser_event_ref_return

    MySQLParser_if_exists_return if_exists722;
    #undef	RETURN_TYPE_if_exists722
    #define	RETURN_TYPE_if_exists722 MySQLParser_if_exists_return

    MySQLParser_function_ref_return function_ref723;
    #undef	RETURN_TYPE_function_ref723
    #define	RETURN_TYPE_function_ref723 MySQLParser_function_ref_return

    MySQLParser_if_exists_return if_exists725;
    #undef	RETURN_TYPE_if_exists725
    #define	RETURN_TYPE_if_exists725 MySQLParser_if_exists_return

    MySQLParser_procedure_ref_return procedure_ref726;
    #undef	RETURN_TYPE_procedure_ref726
    #define	RETURN_TYPE_procedure_ref726 MySQLParser_procedure_ref_return

    MySQLParser_online_option_return online_option727;
    #undef	RETURN_TYPE_online_option727
    #define	RETURN_TYPE_online_option727 MySQLParser_online_option_return

    MySQLParser_identifier_return identifier729;
    #undef	RETURN_TYPE_identifier729
    #define	RETURN_TYPE_identifier729 MySQLParser_identifier_return

    MySQLParser_table_ref_return table_ref731;
    #undef	RETURN_TYPE_table_ref731
    #define	RETURN_TYPE_table_ref731 MySQLParser_table_ref_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm732;
    #undef	RETURN_TYPE_index_lock_algorithm732
    #define	RETURN_TYPE_index_lock_algorithm732 MySQLParser_index_lock_algorithm_return

    MySQLParser_logfile_group_ref_return logfile_group_ref735;
    #undef	RETURN_TYPE_logfile_group_ref735
    #define	RETURN_TYPE_logfile_group_ref735 MySQLParser_logfile_group_ref_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option736;
    #undef	RETURN_TYPE_drop_logfile_group_option736
    #define	RETURN_TYPE_drop_logfile_group_option736 MySQLParser_drop_logfile_group_option_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option738;
    #undef	RETURN_TYPE_drop_logfile_group_option738
    #define	RETURN_TYPE_drop_logfile_group_option738 MySQLParser_drop_logfile_group_option_return

    MySQLParser_if_exists_return if_exists740;
    #undef	RETURN_TYPE_if_exists740
    #define	RETURN_TYPE_if_exists740 MySQLParser_if_exists_return

    MySQLParser_text_or_identifier_return text_or_identifier741;
    #undef	RETURN_TYPE_text_or_identifier741
    #define	RETURN_TYPE_text_or_identifier741 MySQLParser_text_or_identifier_return

    MySQLParser_if_exists_return if_exists744;
    #undef	RETURN_TYPE_if_exists744
    #define	RETURN_TYPE_if_exists744 MySQLParser_if_exists_return

    MySQLParser_table_identifier_list_return table_identifier_list745;
    #undef	RETURN_TYPE_table_identifier_list745
    #define	RETURN_TYPE_table_identifier_list745 MySQLParser_table_identifier_list_return

    MySQLParser_tablespace_ref_return tablespace_ref748;
    #undef	RETURN_TYPE_tablespace_ref748
    #define	RETURN_TYPE_tablespace_ref748 MySQLParser_tablespace_ref_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option749;
    #undef	RETURN_TYPE_drop_logfile_group_option749
    #define	RETURN_TYPE_drop_logfile_group_option749 MySQLParser_drop_logfile_group_option_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option751;
    #undef	RETURN_TYPE_drop_logfile_group_option751
    #define	RETURN_TYPE_drop_logfile_group_option751 MySQLParser_drop_logfile_group_option_return

    MySQLParser_if_exists_return if_exists753;
    #undef	RETURN_TYPE_if_exists753
    #define	RETURN_TYPE_if_exists753 MySQLParser_if_exists_return

    MySQLParser_trigger_ref_return trigger_ref754;
    #undef	RETURN_TYPE_trigger_ref754
    #define	RETURN_TYPE_trigger_ref754 MySQLParser_trigger_ref_return

    MySQLParser_if_exists_return if_exists756;
    #undef	RETURN_TYPE_if_exists756
    #define	RETURN_TYPE_if_exists756 MySQLParser_if_exists_return

    MySQLParser_view_identifier_list_return view_identifier_list757;
    #undef	RETURN_TYPE_view_identifier_list757
    #define	RETURN_TYPE_view_identifier_list757 MySQLParser_view_identifier_list_return

    pANTLR3_BASE_TREE DROP_SYMBOL714_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL715_tree;
    pANTLR3_BASE_TREE EVENT_SYMBOL718_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL721_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL724_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL728_tree;
    pANTLR3_BASE_TREE ON_SYMBOL730_tree;
    pANTLR3_BASE_TREE LOGFILE_SYMBOL733_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL734_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL737_tree;
    pANTLR3_BASE_TREE SERVER_SYMBOL739_tree;
    pANTLR3_BASE_TREE TEMPORARY_SYMBOL742_tree;
    pANTLR3_BASE_TREE set743_tree;
    pANTLR3_BASE_TREE set746_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL747_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL750_tree;
    pANTLR3_BASE_TREE TRIGGER_SYMBOL752_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL755_tree;
    pANTLR3_BASE_TREE set758_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DROP_SYMBOL714       = NULL;
    DATABASE_SYMBOL715       = NULL;
    EVENT_SYMBOL718       = NULL;
    FUNCTION_SYMBOL721       = NULL;
    PROCEDURE_SYMBOL724       = NULL;
    INDEX_SYMBOL728       = NULL;
    ON_SYMBOL730       = NULL;
    LOGFILE_SYMBOL733       = NULL;
    GROUP_SYMBOL734       = NULL;
    COMMA_SYMBOL737       = NULL;
    SERVER_SYMBOL739       = NULL;
    TEMPORARY_SYMBOL742       = NULL;
    set743       = NULL;
    set746       = NULL;
    TABLESPACE_SYMBOL747       = NULL;
    COMMA_SYMBOL750       = NULL;
    TRIGGER_SYMBOL752       = NULL;
    VIEW_SYMBOL755       = NULL;
    set758       = NULL;
    if_exists716.tree = NULL;

    schema_ref717.tree = NULL;

    if_exists719.tree = NULL;

    event_ref720.tree = NULL;

    if_exists722.tree = NULL;

    function_ref723.tree = NULL;

    if_exists725.tree = NULL;

    procedure_ref726.tree = NULL;

    online_option727.tree = NULL;

    identifier729.tree = NULL;

    table_ref731.tree = NULL;

    index_lock_algorithm732.tree = NULL;

    logfile_group_ref735.tree = NULL;

    drop_logfile_group_option736.tree = NULL;

    drop_logfile_group_option738.tree = NULL;

    if_exists740.tree = NULL;

    text_or_identifier741.tree = NULL;

    if_exists744.tree = NULL;

    table_identifier_list745.tree = NULL;

    tablespace_ref748.tree = NULL;

    drop_logfile_group_option749.tree = NULL;

    drop_logfile_group_option751.tree = NULL;

    if_exists753.tree = NULL;

    trigger_ref754.tree = NULL;

    if_exists756.tree = NULL;

    view_identifier_list757.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DROP_SYMBOL714_tree   = NULL;
    DATABASE_SYMBOL715_tree   = NULL;
    EVENT_SYMBOL718_tree   = NULL;
    FUNCTION_SYMBOL721_tree   = NULL;
    PROCEDURE_SYMBOL724_tree   = NULL;
    INDEX_SYMBOL728_tree   = NULL;
    ON_SYMBOL730_tree   = NULL;
    LOGFILE_SYMBOL733_tree   = NULL;
    GROUP_SYMBOL734_tree   = NULL;
    COMMA_SYMBOL737_tree   = NULL;
    SERVER_SYMBOL739_tree   = NULL;
    TEMPORARY_SYMBOL742_tree   = NULL;
    set743_tree   = NULL;
    set746_tree   = NULL;
    TABLESPACE_SYMBOL747_tree   = NULL;
    COMMA_SYMBOL750_tree   = NULL;
    TRIGGER_SYMBOL752_tree   = NULL;
    VIEW_SYMBOL755_tree   = NULL;
    set758_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:814:15: ( DROP_SYMBOL ^ ( DATABASE_SYMBOL ( if_exists )? schema_ref |{...}? => EVENT_SYMBOL ( if_exists )? event_ref | ( FUNCTION_SYMBOL ( if_exists )? function_ref | PROCEDURE_SYMBOL ( if_exists )? procedure_ref ) | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_ref ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | SERVER_SYMBOL ( if_exists )? text_or_identifier | ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? | TABLESPACE_SYMBOL tablespace_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? trigger_ref | VIEW_SYMBOL ( if_exists )? view_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? ) )
        // MySQL.g:815:2: DROP_SYMBOL ^ ( DATABASE_SYMBOL ( if_exists )? schema_ref |{...}? => EVENT_SYMBOL ( if_exists )? event_ref | ( FUNCTION_SYMBOL ( if_exists )? function_ref | PROCEDURE_SYMBOL ( if_exists )? procedure_ref ) | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_ref ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | SERVER_SYMBOL ( if_exists )? text_or_identifier | ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? | TABLESPACE_SYMBOL tablespace_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? trigger_ref | VIEW_SYMBOL ( if_exists )? view_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DROP_SYMBOL714 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_drop_statement3772);
            if  (HASEXCEPTION())
            {
                goto ruledrop_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DROP_SYMBOL714_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL714))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DROP_SYMBOL714_tree, root_0));
            }

            // MySQL.g:816:2: ( DATABASE_SYMBOL ( if_exists )? schema_ref |{...}? => EVENT_SYMBOL ( if_exists )? event_ref | ( FUNCTION_SYMBOL ( if_exists )? function_ref | PROCEDURE_SYMBOL ( if_exists )? procedure_ref ) | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_ref ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | SERVER_SYMBOL ( if_exists )? text_or_identifier | ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? | TABLESPACE_SYMBOL tablespace_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? trigger_ref | VIEW_SYMBOL ( if_exists )? view_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? )
            {
                int alt250=10;
                {
                    int LA250_0 = LA(1);
                    if ( (LA250_0 == DATABASE_SYMBOL))
                    {
                        alt250=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA250_0 == EVENT_SYMBOL))
                    {
                        alt250=2;
                    }
                    else if ( (LA250_0 == FUNCTION_SYMBOL || LA250_0 == PROCEDURE_SYMBOL))
                    {
                        alt250=3;
                    }
                    else if ( ((SERVER_VERSION < 50600)) && (((LA250_0 >= OFFLINE_SYMBOL) && (LA250_0 <= ONLINE_SYMBOL))))
                    {
                        alt250=4;
                    }
                    else if ( (LA250_0 == INDEX_SYMBOL))
                    {
                        alt250=4;
                    }
                    else if ( (LA250_0 == LOGFILE_SYMBOL))
                    {
                        alt250=5;
                    }
                    else if ( (LA250_0 == SERVER_SYMBOL))
                    {
                        alt250=6;
                    }
                    else if ( (LA250_0 == TABLES_SYMBOL || LA250_0 == TEMPORARY_SYMBOL || LA250_0 == TABLE_SYMBOL))
                    {
                        alt250=7;
                    }
                    else if ( (LA250_0 == TABLESPACE_SYMBOL))
                    {
                        alt250=8;
                    }
                    else if ( (LA250_0 == TRIGGER_SYMBOL))
                    {
                        alt250=9;
                    }
                    else if ( (LA250_0 == VIEW_SYMBOL))
                    {
                        alt250=10;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 250;
                        EXCEPTION->state        = 0;


                        goto ruledrop_statementEx;

                    }
                }
                switch (alt250)
                {
            	case 1:
            	    // MySQL.g:817:3: DATABASE_SYMBOL ( if_exists )? schema_ref
            	    {
            	        DATABASE_SYMBOL715 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_drop_statement3780);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATABASE_SYMBOL715_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL715));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL715_tree);
            	        }

            	        // MySQL.g:817:19: ( if_exists )?
            	        {
            	            int alt230=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt230=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt230)
            	            {
            	        	case 1:
            	        	    // MySQL.g:817:19: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3782);
            	        	        if_exists716=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists716.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_schema_ref_in_drop_statement3785);
            	        schema_ref717=schema_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref717.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:818:5: {...}? => EVENT_SYMBOL ( if_exists )? event_ref
            	    {
            	        if ( !((SERVER_VERSION >= 50100)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50100";
            	                EXCEPTION->ruleName	 = (void *)"drop_statement";


            	        }

            	        EVENT_SYMBOL718 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_drop_statement3795);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EVENT_SYMBOL718_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENT_SYMBOL718));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EVENT_SYMBOL718_tree);
            	        }

            	        // MySQL.g:818:48: ( if_exists )?
            	        {
            	            int alt231=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt231=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt231)
            	            {
            	        	case 1:
            	        	    // MySQL.g:818:48: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3797);
            	        	        if_exists719=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists719.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_event_ref_in_drop_statement3800);
            	        event_ref720=event_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, event_ref720.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:820:4: ( FUNCTION_SYMBOL ( if_exists )? function_ref | PROCEDURE_SYMBOL ( if_exists )? procedure_ref )
            	    {
            	        // MySQL.g:820:4: ( FUNCTION_SYMBOL ( if_exists )? function_ref | PROCEDURE_SYMBOL ( if_exists )? procedure_ref )
            	        {
            	            int alt234=2;
            	            switch ( LA(1) )
            	            {
            	            case FUNCTION_SYMBOL:
            	            	{
            	            		alt234=1;
            	            	}
            	                break;
            	            case PROCEDURE_SYMBOL:
            	            	{
            	            		alt234=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 234;
            	                EXCEPTION->state        = 0;


            	                goto ruledrop_statementEx;

            	            }

            	            switch (alt234)
            	            {
            	        	case 1:
            	        	    // MySQL.g:821:5: FUNCTION_SYMBOL ( if_exists )? function_ref
            	        	    {
            	        	        FUNCTION_SYMBOL721 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_drop_statement3815);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FUNCTION_SYMBOL721_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL721));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL721_tree);
            	        	        }

            	        	        // MySQL.g:821:21: ( if_exists )?
            	        	        {
            	        	            int alt232=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case IF_SYMBOL:
            	        	                	{
            	        	                		alt232=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt232)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:821:21: if_exists
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3817);
            	        	        	        if_exists722=if_exists(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledrop_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists722.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_function_ref_in_drop_statement3820);
            	        	        function_ref723=function_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_ref723.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:822:7: PROCEDURE_SYMBOL ( if_exists )? procedure_ref
            	        	    {
            	        	        PROCEDURE_SYMBOL724 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_drop_statement3829);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        PROCEDURE_SYMBOL724_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL724));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL724_tree);
            	        	        }

            	        	        // MySQL.g:822:24: ( if_exists )?
            	        	        {
            	        	            int alt233=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case IF_SYMBOL:
            	        	                	{
            	        	                		alt233=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt233)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:822:24: if_exists
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3831);
            	        	        	        if_exists725=if_exists(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledrop_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists725.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_procedure_ref_in_drop_statement3834);
            	        	        procedure_ref726=procedure_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_ref726.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:824:5: ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_ref ( index_lock_algorithm )?
            	    {
            	        // MySQL.g:824:5: ( online_option )?
            	        {
            	            int alt235=2;
            	            {
            	                int LA235_0 = LA(1);
            	                if ( ((SERVER_VERSION < 50600)) && (((LA235_0 >= OFFLINE_SYMBOL) && (LA235_0 <= ONLINE_SYMBOL))))
            	                {
            	                    alt235=1;
            	                }
            	            }
            	            switch (alt235)
            	            {
            	        	case 1:
            	        	    // MySQL.g:824:5: online_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_online_option_in_drop_statement3845);
            	        	        online_option727=online_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, online_option727.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INDEX_SYMBOL728 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_drop_statement3848);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL728_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL728));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL728_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_drop_statement3850);
            	        identifier729=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier729.tree);

            	        ON_SYMBOL730 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_drop_statement3852);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL730_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL730));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL730_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_drop_statement3854);
            	        table_ref731=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref731.tree);

            	        // MySQL.g:824:64: ( index_lock_algorithm )?
            	        {
            	            int alt236=2;
            	            {
            	                int LA236_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA236_0 == ALGORITHM_SYMBOL || LA236_0 == LOCK_SYMBOL))
            	                {
            	                    alt236=1;
            	                }
            	            }
            	            switch (alt236)
            	            {
            	        	case 1:
            	        	    // MySQL.g:824:64: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_drop_statement3856);
            	        	        index_lock_algorithm732=index_lock_algorithm(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_lock_algorithm732.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:825:5: LOGFILE_SYMBOL GROUP_SYMBOL logfile_group_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	    {
            	        LOGFILE_SYMBOL733 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_drop_statement3863);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOGFILE_SYMBOL733_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGFILE_SYMBOL733));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOGFILE_SYMBOL733_tree);
            	        }

            	        GROUP_SYMBOL734 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_drop_statement3865);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GROUP_SYMBOL734_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL734));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL734_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_logfile_group_ref_in_drop_statement3867);
            	        logfile_group_ref735=logfile_group_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logfile_group_ref735.tree);

            	        // MySQL.g:825:51: ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	        {
            	            int alt239=2;
            	            switch ( LA(1) )
            	            {
            	                case ENGINE_SYMBOL:
            	                case NO_WAIT_SYMBOL:
            	                case STORAGE_SYMBOL:
            	                case WAIT_SYMBOL:
            	                	{
            	                		alt239=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt239)
            	            {
            	        	case 1:
            	        	    // MySQL.g:825:52: drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3870);
            	        	        drop_logfile_group_option736=drop_logfile_group_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_logfile_group_option736.tree);

            	        	        // MySQL.g:825:78: ( ( COMMA_SYMBOL )? drop_logfile_group_option )*

            	        	        for (;;)
            	        	        {
            	        	            int alt238=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case ENGINE_SYMBOL:
            	        	            case NO_WAIT_SYMBOL:
            	        	            case STORAGE_SYMBOL:
            	        	            case WAIT_SYMBOL:
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt238=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt238)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:825:79: ( COMMA_SYMBOL )? drop_logfile_group_option
            	        	        	    {
            	        	        	        // MySQL.g:825:79: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt237=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt237=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt237)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:825:79: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL737 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_drop_statement3873);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto ruledrop_statementEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        COMMA_SYMBOL737_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL737));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL737_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3876);
            	        	        	        drop_logfile_group_option738=drop_logfile_group_option(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledrop_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_logfile_group_option738.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop238;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop238: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:826:5: SERVER_SYMBOL ( if_exists )? text_or_identifier
            	    {
            	        SERVER_SYMBOL739 = (pANTLR3_COMMON_TOKEN) MATCHT(SERVER_SYMBOL, &FOLLOW_SERVER_SYMBOL_in_drop_statement3886);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SERVER_SYMBOL739_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERVER_SYMBOL739));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SERVER_SYMBOL739_tree);
            	        }

            	        // MySQL.g:826:19: ( if_exists )?
            	        {
            	            int alt240=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt240=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt240)
            	            {
            	        	case 1:
            	        	    // MySQL.g:826:19: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3888);
            	        	        if_exists740=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists740.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_drop_statement3891);
            	        text_or_identifier741=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier741.tree);

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:827:5: ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	    {
            	        // MySQL.g:827:5: ( TEMPORARY_SYMBOL )?
            	        {
            	            int alt241=2;
            	            switch ( LA(1) )
            	            {
            	                case TEMPORARY_SYMBOL:
            	                	{
            	                		alt241=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt241)
            	            {
            	        	case 1:
            	        	    // MySQL.g:827:5: TEMPORARY_SYMBOL
            	        	    {
            	        	        TEMPORARY_SYMBOL742 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3897);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        TEMPORARY_SYMBOL742_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEMPORARY_SYMBOL742));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, TEMPORARY_SYMBOL742_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        set743=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == TABLES_SYMBOL || LA(1) == TABLE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set743))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruledrop_statementEx;
            	        }


            	        // MySQL.g:827:54: ( if_exists )?
            	        {
            	            int alt242=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt242=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt242)
            	            {
            	        	case 1:
            	        	    // MySQL.g:827:54: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3908);
            	        	        if_exists744=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists744.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_drop_statement3911);
            	        table_identifier_list745=table_identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier_list745.tree);

            	        // MySQL.g:827:87: ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	        {
            	            int alt243=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADE_SYMBOL:
            	                case RESTRICT_SYMBOL:
            	                	{
            	                		alt243=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt243)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set746=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == CASCADE_SYMBOL || LA(1) == RESTRICT_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set746))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto ruledrop_statementEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:828:5: TABLESPACE_SYMBOL tablespace_ref ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	    {
            	        TABLESPACE_SYMBOL747 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3926);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLESPACE_SYMBOL747_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL747));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL747_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_tablespace_ref_in_drop_statement3928);
            	        tablespace_ref748=tablespace_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, tablespace_ref748.tree);

            	        // MySQL.g:828:38: ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	        {
            	            int alt246=2;
            	            switch ( LA(1) )
            	            {
            	                case ENGINE_SYMBOL:
            	                case NO_WAIT_SYMBOL:
            	                case STORAGE_SYMBOL:
            	                case WAIT_SYMBOL:
            	                	{
            	                		alt246=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt246)
            	            {
            	        	case 1:
            	        	    // MySQL.g:828:39: drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3931);
            	        	        drop_logfile_group_option749=drop_logfile_group_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_logfile_group_option749.tree);

            	        	        // MySQL.g:828:65: ( ( COMMA_SYMBOL )? drop_logfile_group_option )*

            	        	        for (;;)
            	        	        {
            	        	            int alt245=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case ENGINE_SYMBOL:
            	        	            case NO_WAIT_SYMBOL:
            	        	            case STORAGE_SYMBOL:
            	        	            case WAIT_SYMBOL:
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt245=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt245)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:828:66: ( COMMA_SYMBOL )? drop_logfile_group_option
            	        	        	    {
            	        	        	        // MySQL.g:828:66: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt244=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt244=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt244)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:828:66: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL750 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_drop_statement3934);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto ruledrop_statementEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        COMMA_SYMBOL750_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL750));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL750_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3937);
            	        	        	        drop_logfile_group_option751=drop_logfile_group_option(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledrop_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_logfile_group_option751.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop245;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop245: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:829:5: TRIGGER_SYMBOL ( if_exists )? trigger_ref
            	    {
            	        TRIGGER_SYMBOL752 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_drop_statement3947);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRIGGER_SYMBOL752_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGER_SYMBOL752));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGER_SYMBOL752_tree);
            	        }

            	        // MySQL.g:829:20: ( if_exists )?
            	        {
            	            int alt247=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt247=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt247)
            	            {
            	        	case 1:
            	        	    // MySQL.g:829:20: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3949);
            	        	        if_exists753=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists753.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_trigger_ref_in_drop_statement3952);
            	        trigger_ref754=trigger_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trigger_ref754.tree);

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:830:5: VIEW_SYMBOL ( if_exists )? view_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	    {
            	        VIEW_SYMBOL755 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_drop_statement3958);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        VIEW_SYMBOL755_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL755));
            	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL755_tree);
            	        }

            	        // MySQL.g:830:17: ( if_exists )?
            	        {
            	            int alt248=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt248=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt248)
            	            {
            	        	case 1:
            	        	    // MySQL.g:830:17: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3960);
            	        	        if_exists756=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists756.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_view_identifier_list_in_drop_statement3963);
            	        view_identifier_list757=view_identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_identifier_list757.tree);

            	        // MySQL.g:830:49: ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	        {
            	            int alt249=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADE_SYMBOL:
            	                case RESTRICT_SYMBOL:
            	                	{
            	                		alt249=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt249)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set758=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == CASCADE_SYMBOL || LA(1) == RESTRICT_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set758))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto ruledrop_statementEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledrop_statementEx; /* Prevent compiler warnings */
    ruledrop_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end drop_statement */

/**
 * $ANTLR start drop_logfile_group_option
 * MySQL.g:834:1: drop_logfile_group_option : ( ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref );
 */
static MySQLParser_drop_logfile_group_option_return
drop_logfile_group_option(pMySQLParser ctx)
{
    MySQLParser_drop_logfile_group_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set759;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL760;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL761;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR762;
    MySQLParser_engine_ref_return engine_ref763;
    #undef	RETURN_TYPE_engine_ref763
    #define	RETURN_TYPE_engine_ref763 MySQLParser_engine_ref_return

    pANTLR3_BASE_TREE set759_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL760_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL761_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR762_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set759       = NULL;
    STORAGE_SYMBOL760       = NULL;
    ENGINE_SYMBOL761       = NULL;
    EQUAL_OPERATOR762       = NULL;
    engine_ref763.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set759_tree   = NULL;
    STORAGE_SYMBOL760_tree   = NULL;
    ENGINE_SYMBOL761_tree   = NULL;
    EQUAL_OPERATOR762_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:834:26: ( ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref )

            ANTLR3_UINT32 alt253;

            alt253=2;

            switch ( LA(1) )
            {
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt253=1;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt253=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 253;
                EXCEPTION->state        = 0;


                goto ruledrop_logfile_group_optionEx;

            }

            switch (alt253)
            {
        	case 1:
        	    // MySQL.g:835:2: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set759=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == NO_WAIT_SYMBOL || LA(1) == WAIT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set759))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruledrop_logfile_group_optionEx;
        	        }


        	    }
        	    break;
        	case 2:
        	    // MySQL.g:836:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:836:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt251=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt251=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt251)
        	            {
        	        	case 1:
        	        	    // MySQL.g:836:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL760 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3995);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledrop_logfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STORAGE_SYMBOL760_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL760));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL760_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL761 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3998);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledrop_logfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENGINE_SYMBOL761_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL761));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL761_tree);
        	        }

        	        // MySQL.g:836:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt252=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt252=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt252)
        	            {
        	        	case 1:
        	        	    // MySQL.g:836:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR762 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option4000);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledrop_logfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR762_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR762));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR762_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_engine_ref_in_drop_logfile_group_option4003);
        	        engine_ref763=engine_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledrop_logfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref763.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruledrop_logfile_group_optionEx; /* Prevent compiler warnings */
    ruledrop_logfile_group_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end drop_logfile_group_option */

/**
 * $ANTLR start rename_table_statement
 * MySQL.g:840:1: rename_table_statement : RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_ref TO_SYMBOL table_ref ( COMMA_SYMBOL table_ref TO_SYMBOL table_ref )* ;
 */
static MySQLParser_rename_table_statement_return
rename_table_statement(pMySQLParser ctx)
{
    MySQLParser_rename_table_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL764;
    pANTLR3_COMMON_TOKEN    set765;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL767;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL769;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL771;
    MySQLParser_table_ref_return table_ref766;
    #undef	RETURN_TYPE_table_ref766
    #define	RETURN_TYPE_table_ref766 MySQLParser_table_ref_return

    MySQLParser_table_ref_return table_ref768;
    #undef	RETURN_TYPE_table_ref768
    #define	RETURN_TYPE_table_ref768 MySQLParser_table_ref_return

    MySQLParser_table_ref_return table_ref770;
    #undef	RETURN_TYPE_table_ref770
    #define	RETURN_TYPE_table_ref770 MySQLParser_table_ref_return

    MySQLParser_table_ref_return table_ref772;
    #undef	RETURN_TYPE_table_ref772
    #define	RETURN_TYPE_table_ref772 MySQLParser_table_ref_return

    pANTLR3_BASE_TREE RENAME_SYMBOL764_tree;
    pANTLR3_BASE_TREE set765_tree;
    pANTLR3_BASE_TREE TO_SYMBOL767_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL769_tree;
    pANTLR3_BASE_TREE TO_SYMBOL771_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RENAME_SYMBOL764       = NULL;
    set765       = NULL;
    TO_SYMBOL767       = NULL;
    COMMA_SYMBOL769       = NULL;
    TO_SYMBOL771       = NULL;
    table_ref766.tree = NULL;

    table_ref768.tree = NULL;

    table_ref770.tree = NULL;

    table_ref772.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RENAME_SYMBOL764_tree   = NULL;
    set765_tree   = NULL;
    TO_SYMBOL767_tree   = NULL;
    COMMA_SYMBOL769_tree   = NULL;
    TO_SYMBOL771_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:840:23: ( RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_ref TO_SYMBOL table_ref ( COMMA_SYMBOL table_ref TO_SYMBOL table_ref )* )
        // MySQL.g:841:2: RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_ref TO_SYMBOL table_ref ( COMMA_SYMBOL table_ref TO_SYMBOL table_ref )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RENAME_SYMBOL764 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_rename_table_statement4013);
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RENAME_SYMBOL764_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL764))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RENAME_SYMBOL764_tree, root_0));
            }

            set765=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == TABLES_SYMBOL || LA(1) == TABLE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set765))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulerename_table_statementEx;
            }


            FOLLOWPUSH(FOLLOW_table_ref_in_rename_table_statement4026);
            table_ref766=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref766.tree);

            TO_SYMBOL767 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_table_statement4028);
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL767_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL767));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL767_tree);
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_rename_table_statement4030);
            table_ref768=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref768.tree);

            // MySQL.g:842:33: ( COMMA_SYMBOL table_ref TO_SYMBOL table_ref )*

            for (;;)
            {
                int alt254=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt254=1;
                	}
                    break;

                }

                switch (alt254)
                {
            	case 1:
            	    // MySQL.g:842:34: COMMA_SYMBOL table_ref TO_SYMBOL table_ref
            	    {
            	        COMMA_SYMBOL769 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_rename_table_statement4033);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL769_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL769));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL769_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_rename_table_statement4035);
            	        table_ref770=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref770.tree);

            	        TO_SYMBOL771 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_table_statement4037);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TO_SYMBOL771_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL771));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL771_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_rename_table_statement4039);
            	        table_ref772=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref772.tree);

            	    }
            	    break;

            	default:
            	    goto loop254;	/* break out of the loop */
            	    break;
                }
            }
            loop254: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulerename_table_statementEx; /* Prevent compiler warnings */
    rulerename_table_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end rename_table_statement */

/**
 * $ANTLR start truncate_table_statement
 * MySQL.g:847:1: truncate_table_statement : TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_ref ;
 */
static MySQLParser_truncate_table_statement_return
truncate_table_statement(pMySQLParser ctx)
{
    MySQLParser_truncate_table_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TRUNCATE_SYMBOL773;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL774;
    MySQLParser_table_ref_return table_ref775;
    #undef	RETURN_TYPE_table_ref775
    #define	RETURN_TYPE_table_ref775 MySQLParser_table_ref_return

    pANTLR3_BASE_TREE TRUNCATE_SYMBOL773_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL774_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRUNCATE_SYMBOL773       = NULL;
    TABLE_SYMBOL774       = NULL;
    table_ref775.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TRUNCATE_SYMBOL773_tree   = NULL;
    TABLE_SYMBOL774_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:847:25: ( TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_ref )
        // MySQL.g:848:2: TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_ref
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TRUNCATE_SYMBOL773 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement4053);
            if  (HASEXCEPTION())
            {
                goto ruletruncate_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TRUNCATE_SYMBOL773_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUNCATE_SYMBOL773))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, TRUNCATE_SYMBOL773_tree, root_0));
            }

            // MySQL.g:848:19: ( TABLE_SYMBOL )?
            {
                int alt255=2;
                switch ( LA(1) )
                {
                    case TABLE_SYMBOL:
                    	{
                    		alt255=1;
                    	}
                        break;
                }

                switch (alt255)
                {
            	case 1:
            	    // MySQL.g:848:19: TABLE_SYMBOL
            	    {
            	        TABLE_SYMBOL774 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_truncate_table_statement4056);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletruncate_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLE_SYMBOL774_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL774));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL774_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_truncate_table_statement4059);
            table_ref775=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletruncate_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref775.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletruncate_table_statementEx; /* Prevent compiler warnings */
    ruletruncate_table_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end truncate_table_statement */

/**
 * $ANTLR start call_statement
 * MySQL.g:853:1: call_statement : CALL_SYMBOL ^ procedure_ref ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )? ;
 */
static MySQLParser_call_statement_return
call_statement(pMySQLParser ctx)
{
    MySQLParser_call_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CALL_SYMBOL776;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL778;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL780;
    MySQLParser_procedure_ref_return procedure_ref777;
    #undef	RETURN_TYPE_procedure_ref777
    #define	RETURN_TYPE_procedure_ref777 MySQLParser_procedure_ref_return

    MySQLParser_expression_list_return expression_list779;
    #undef	RETURN_TYPE_expression_list779
    #define	RETURN_TYPE_expression_list779 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE CALL_SYMBOL776_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL778_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL780_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CALL_SYMBOL776       = NULL;
    OPEN_PAR_SYMBOL778       = NULL;
    CLOSE_PAR_SYMBOL780       = NULL;
    procedure_ref777.tree = NULL;

    expression_list779.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CALL_SYMBOL776_tree   = NULL;
    OPEN_PAR_SYMBOL778_tree   = NULL;
    CLOSE_PAR_SYMBOL780_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:853:15: ( CALL_SYMBOL ^ procedure_ref ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )? )
        // MySQL.g:854:2: CALL_SYMBOL ^ procedure_ref ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CALL_SYMBOL776 = (pANTLR3_COMMON_TOKEN) MATCHT(CALL_SYMBOL, &FOLLOW_CALL_SYMBOL_in_call_statement4070);
            if  (HASEXCEPTION())
            {
                goto rulecall_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CALL_SYMBOL776_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CALL_SYMBOL776))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CALL_SYMBOL776_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_procedure_ref_in_call_statement4073);
            procedure_ref777=procedure_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecall_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_ref777.tree);

            // MySQL.g:854:29: ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )?
            {
                int alt257=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt257=1;
                    	}
                        break;
                }

                switch (alt257)
                {
            	case 1:
            	    // MySQL.g:854:30: OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL778 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_call_statement4076);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecall_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL778_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL778));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL778_tree);
            	        }

            	        // MySQL.g:854:46: ( expression_list )?
            	        {
            	            int alt256=2;
            	            {
            	                int LA256_0 = LA(1);
            	                if ( (LA256_0 == BITWISE_NOT_OPERATOR || LA256_0 == INTERVAL_SYMBOL || LA256_0 == LOGICAL_NOT_OPERATOR || LA256_0 == MINUS_OPERATOR || LA256_0 == NCHAR_TEXT || LA256_0 == NOT2_SYMBOL || LA256_0 == NOT_SYMBOL || LA256_0 == PLUS_OPERATOR || LA256_0 == SINGLE_QUOTED_TEXT || LA256_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt256=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA256_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt256=1;
            	                }
            	                else if ( (LA256_0 == FALSE_SYMBOL || LA256_0 == FLOAT || ((LA256_0 >= HEXNUMBER) && (LA256_0 <= HEXSTRING)) || LA256_0 == INTEGER || LA256_0 == TRUE_SYMBOL))
            	                {
            	                    alt256=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA256_0 >= BITNUMBER) && (LA256_0 <= BITSTRING))))
            	                {
            	                    alt256=1;
            	                }
            	                else if ( (((LA256_0 >= ASCII_SYMBOL) && (LA256_0 <= YEAR_SYMBOL)) || ((LA256_0 >= AT_AT_SIGN_SYMBOL) && (LA256_0 <= AT_TEXT_SUFFIX)) || LA256_0 == BACK_TICK_QUOTED_ID || LA256_0 == BINARY_SYMBOL || ((LA256_0 >= BIT_AND_SYMBOL) && (LA256_0 <= BIT_XOR_SYMBOL)) || ((LA256_0 >= CASE_SYMBOL) && (LA256_0 <= CAST_SYMBOL)) || LA256_0 == CHAR_SYMBOL || ((LA256_0 >= CONVERT_SYMBOL) && (LA256_0 <= COUNT_SYMBOL)) || LA256_0 == CURDATE_SYMBOL || LA256_0 == CURRENT_USER_SYMBOL || LA256_0 == CURTIME_SYMBOL || LA256_0 == DATABASE_SYMBOL || LA256_0 == DATE_ADD_SYMBOL || LA256_0 == DATE_SUB_SYMBOL || LA256_0 == EXISTS_SYMBOL || LA256_0 == EXTRACT_SYMBOL || LA256_0 == GROUP_CONCAT_SYMBOL || ((LA256_0 >= IDENTIFIER) && (LA256_0 <= IF_SYMBOL)) || LA256_0 == INSERT_SYMBOL || LA256_0 == LEFT_SYMBOL || LA256_0 == MATCH_SYMBOL || LA256_0 == MAX_SYMBOL || LA256_0 == MIN_SYMBOL || LA256_0 == MOD_SYMBOL || LA256_0 == NOW_SYMBOL || LA256_0 == NULL2_SYMBOL || LA256_0 == NULL_SYMBOL || ((LA256_0 >= OPEN_CURLY_SYMBOL) && (LA256_0 <= OPEN_PAR_SYMBOL)) || LA256_0 == PARAM_MARKER || LA256_0 == POSITION_SYMBOL || ((LA256_0 >= REPEAT_SYMBOL) && (LA256_0 <= REPLACE_SYMBOL)) || LA256_0 == RIGHT_SYMBOL || LA256_0 == STDDEV_SAMP_SYMBOL || LA256_0 == STD_SYMBOL || LA256_0 == SUBSTRING_SYMBOL || ((LA256_0 >= SUM_SYMBOL) && (LA256_0 <= SYSDATE_SYMBOL)) || LA256_0 == TRIM_SYMBOL || ((LA256_0 >= UTC_DATE_SYMBOL) && (LA256_0 <= UTC_TIME_SYMBOL)) || LA256_0 == VALUES_SYMBOL || LA256_0 == VARIANCE_SYMBOL || LA256_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt256=1;
            	                }
            	            }
            	            switch (alt256)
            	            {
            	        	case 1:
            	        	    // MySQL.g:854:46: expression_list
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_list_in_call_statement4078);
            	        	        expression_list779=expression_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecall_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list779.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        CLOSE_PAR_SYMBOL780 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement4081);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecall_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL780_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL780));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL780_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecall_statementEx; /* Prevent compiler warnings */
    rulecall_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end call_statement */

/**
 * $ANTLR start delete_statement
 * MySQL.g:857:1: delete_statement : DELETE_SYMBOL ^ ( options {greedy=true; } : delete_option )* ( FROM_SYMBOL ( options {k=4; } : table_ref_list USING_SYMBOL table_reference_list ( where_clause )? | table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_ref_list FROM_SYMBOL table_reference_list ( where_clause )? ) ;
 */
static MySQLParser_delete_statement_return
delete_statement(pMySQLParser ctx)
{
    MySQLParser_delete_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DELETE_SYMBOL781;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL783;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL785;
    pANTLR3_COMMON_TOKEN    LIMIT_SYMBOL792;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL795;
    MySQLParser_delete_option_return delete_option782;
    #undef	RETURN_TYPE_delete_option782
    #define	RETURN_TYPE_delete_option782 MySQLParser_delete_option_return

    MySQLParser_table_ref_list_return table_ref_list784;
    #undef	RETURN_TYPE_table_ref_list784
    #define	RETURN_TYPE_table_ref_list784 MySQLParser_table_ref_list_return

    MySQLParser_table_reference_list_return table_reference_list786;
    #undef	RETURN_TYPE_table_reference_list786
    #define	RETURN_TYPE_table_reference_list786 MySQLParser_table_reference_list_return

    MySQLParser_where_clause_return where_clause787;
    #undef	RETURN_TYPE_where_clause787
    #define	RETURN_TYPE_where_clause787 MySQLParser_where_clause_return

    MySQLParser_table_ref_return table_ref788;
    #undef	RETURN_TYPE_table_ref788
    #define	RETURN_TYPE_table_ref788 MySQLParser_table_ref_return

    MySQLParser_partition_delete_return partition_delete789;
    #undef	RETURN_TYPE_partition_delete789
    #define	RETURN_TYPE_partition_delete789 MySQLParser_partition_delete_return

    MySQLParser_where_clause_return where_clause790;
    #undef	RETURN_TYPE_where_clause790
    #define	RETURN_TYPE_where_clause790 MySQLParser_where_clause_return

    MySQLParser_order_by_clause_return order_by_clause791;
    #undef	RETURN_TYPE_order_by_clause791
    #define	RETURN_TYPE_order_by_clause791 MySQLParser_order_by_clause_return

    MySQLParser_limit_option_return limit_option793;
    #undef	RETURN_TYPE_limit_option793
    #define	RETURN_TYPE_limit_option793 MySQLParser_limit_option_return

    MySQLParser_table_ref_list_return table_ref_list794;
    #undef	RETURN_TYPE_table_ref_list794
    #define	RETURN_TYPE_table_ref_list794 MySQLParser_table_ref_list_return

    MySQLParser_table_reference_list_return table_reference_list796;
    #undef	RETURN_TYPE_table_reference_list796
    #define	RETURN_TYPE_table_reference_list796 MySQLParser_table_reference_list_return

    MySQLParser_where_clause_return where_clause797;
    #undef	RETURN_TYPE_where_clause797
    #define	RETURN_TYPE_where_clause797 MySQLParser_where_clause_return

    pANTLR3_BASE_TREE DELETE_SYMBOL781_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL783_tree;
    pANTLR3_BASE_TREE USING_SYMBOL785_tree;
    pANTLR3_BASE_TREE LIMIT_SYMBOL792_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL795_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DELETE_SYMBOL781       = NULL;
    FROM_SYMBOL783       = NULL;
    USING_SYMBOL785       = NULL;
    LIMIT_SYMBOL792       = NULL;
    FROM_SYMBOL795       = NULL;
    delete_option782.tree = NULL;

    table_ref_list784.tree = NULL;

    table_reference_list786.tree = NULL;

    where_clause787.tree = NULL;

    table_ref788.tree = NULL;

    partition_delete789.tree = NULL;

    where_clause790.tree = NULL;

    order_by_clause791.tree = NULL;

    limit_option793.tree = NULL;

    table_ref_list794.tree = NULL;

    table_reference_list796.tree = NULL;

    where_clause797.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DELETE_SYMBOL781_tree   = NULL;
    FROM_SYMBOL783_tree   = NULL;
    USING_SYMBOL785_tree   = NULL;
    LIMIT_SYMBOL792_tree   = NULL;
    FROM_SYMBOL795_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:857:17: ( DELETE_SYMBOL ^ ( options {greedy=true; } : delete_option )* ( FROM_SYMBOL ( options {k=4; } : table_ref_list USING_SYMBOL table_reference_list ( where_clause )? | table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_ref_list FROM_SYMBOL table_reference_list ( where_clause )? ) )
        // MySQL.g:858:2: DELETE_SYMBOL ^ ( options {greedy=true; } : delete_option )* ( FROM_SYMBOL ( options {k=4; } : table_ref_list USING_SYMBOL table_reference_list ( where_clause )? | table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_ref_list FROM_SYMBOL table_reference_list ( where_clause )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DELETE_SYMBOL781 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_delete_statement4092);
            if  (HASEXCEPTION())
            {
                goto ruledelete_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DELETE_SYMBOL781_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL781))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DELETE_SYMBOL781_tree, root_0));
            }

            // MySQL.g:858:17: ( options {greedy=true; } : delete_option )*

            for (;;)
            {
                int alt258=2;
                switch ( LA(1) )
                {
                case QUICK_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA258_5 = LA(2);
                		    if ( (LA258_5 == FROM_SYMBOL))
                		    {
                		        alt258=1;
                		    }
                		    else if ( (((LA258_5 >= ASCII_SYMBOL) && (LA258_5 <= YEAR_SYMBOL)) || LA258_5 == BACK_TICK_QUOTED_ID || LA258_5 == DOUBLE_QUOTED_TEXT || LA258_5 == IDENTIFIER || LA258_5 == IGNORE_SYMBOL || LA258_5 == LOW_PRIORITY_SYMBOL))
                		    {
                		        alt258=1;
                		    }

                		}
                	}
                    break;
                case IGNORE_SYMBOL:
                case LOW_PRIORITY_SYMBOL:
                	{
                		alt258=1;
                	}
                    break;

                }

                switch (alt258)
                {
            	case 1:
            	    // MySQL.g:858:47: delete_option
            	    {
            	        FOLLOWPUSH(FOLLOW_delete_option_in_delete_statement4109);
            	        delete_option782=delete_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, delete_option782.tree);

            	    }
            	    break;

            	default:
            	    goto loop258;	/* break out of the loop */
            	    break;
                }
            }
            loop258: ; /* Jump out to here if this rule does not match */


            // MySQL.g:859:3: ( FROM_SYMBOL ( options {k=4; } : table_ref_list USING_SYMBOL table_reference_list ( where_clause )? | table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_ref_list FROM_SYMBOL table_reference_list ( where_clause )? )
            {
                int alt266=2;
                {
                    int LA266_0 = LA(1);
                    if ( (LA266_0 == FROM_SYMBOL))
                    {
                        alt266=1;
                    }
                    else if ( (LA266_0 == BACK_TICK_QUOTED_ID || LA266_0 == IDENTIFIER))
                    {
                        alt266=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA266_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt266=2;
                    }
                    else if ( (((LA266_0 >= ASCII_SYMBOL) && (LA266_0 <= YEAR_SYMBOL))))
                    {
                        alt266=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 266;
                        EXCEPTION->state        = 0;


                        goto ruledelete_statementEx;

                    }
                }
                switch (alt266)
                {
            	case 1:
            	    // MySQL.g:860:4: FROM_SYMBOL ( options {k=4; } : table_ref_list USING_SYMBOL table_reference_list ( where_clause )? | table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? )
            	    {
            	        FROM_SYMBOL783 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_delete_statement4120);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL783_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL783));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL783_tree);
            	        }

            	        // MySQL.g:863:5: ( options {k=4; } : table_ref_list USING_SYMBOL table_reference_list ( where_clause )? | table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? )
            	        {
            	            int alt264=2;
            	            {
            	                int LA264_0 = LA(1);
            	                if ( (LA264_0 == IDENTIFIER))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA264_7 = LA(3);
            	                    		    if ( (LA264_7 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt264=1;
            	                    		    }
            	                    		    else if ( (LA264_7 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 53;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_7 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 54;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_7 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 55;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_7 >= ACTION_SYMBOL) && (LA264_7 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 56;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_7 >= ASCII_SYMBOL) && (LA264_7 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 57;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else
            	                    		    {
            	                    		        if (BACKTRACKING>0)
            	                    		        {
            	                    		            FAILEDFLAG = ANTLR3_TRUE;
            	                    		            return retval;
            	                    		        }


            	                    		        CONSTRUCTEX();
            	                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		        EXCEPTION->message      = (void *)"";
            	                    		        EXCEPTION->decisionNum  = 264;
            	                    		        EXCEPTION->state        = 7;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt264=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt264=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 264;
            	                        EXCEPTION->state        = 1;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (LA264_0 == BACK_TICK_QUOTED_ID))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA264_16 = LA(3);
            	                    		    if ( (LA264_16 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt264=1;
            	                    		    }
            	                    		    else if ( (LA264_16 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 59;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_16 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 60;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_16 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 61;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_16 >= ACTION_SYMBOL) && (LA264_16 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 62;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_16 >= ASCII_SYMBOL) && (LA264_16 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 63;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else
            	                    		    {
            	                    		        if (BACKTRACKING>0)
            	                    		        {
            	                    		            FAILEDFLAG = ANTLR3_TRUE;
            	                    		            return retval;
            	                    		        }


            	                    		        CONSTRUCTEX();
            	                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		        EXCEPTION->message      = (void *)"";
            	                    		        EXCEPTION->decisionNum  = 264;
            	                    		        EXCEPTION->state        = 16;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt264=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt264=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 264;
            	                        EXCEPTION->state        = 2;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    {
            	                        int LA264_3 = LA(2);
            	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_3 == DOT_SYMBOL))
            	                        {
            	                            {
            	                                int LA264_25 = LA(3);
            	                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_25 == MULT_OPERATOR))
            	                                {
            	                                    alt264=1;
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_25 == IDENTIFIER))
            	                                {
            	                                    {
            	                                        int LA264_65 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_65 == COMMA_SYMBOL || LA264_65 == DOT_SYMBOL || LA264_65 == USING_SYMBOL))
            	                                        {
            	                                            alt264=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_65 == EOF || LA264_65 == PARTITION_SYMBOL || LA264_65 == LIMIT_SYMBOL || LA264_65 == ORDER_SYMBOL || LA264_65 == SEMICOLON_SYMBOL || LA264_65 == WHERE_SYMBOL))
            	                                        {
            	                                            alt264=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 264;
            	                                            EXCEPTION->state        = 65;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_25 == BACK_TICK_QUOTED_ID))
            	                                {
            	                                    {
            	                                        int LA264_66 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_66 == COMMA_SYMBOL || LA264_66 == DOT_SYMBOL || LA264_66 == USING_SYMBOL))
            	                                        {
            	                                            alt264=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_66 == EOF || LA264_66 == PARTITION_SYMBOL || LA264_66 == LIMIT_SYMBOL || LA264_66 == ORDER_SYMBOL || LA264_66 == SEMICOLON_SYMBOL || LA264_66 == WHERE_SYMBOL))
            	                                        {
            	                                            alt264=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 264;
            	                                            EXCEPTION->state        = 66;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_25 == DOUBLE_QUOTED_TEXT))
            	                                {
            	                                    {
            	                                        int LA264_67 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_67 == COMMA_SYMBOL || LA264_67 == DOT_SYMBOL || LA264_67 == USING_SYMBOL))
            	                                        {
            	                                            alt264=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_67 == EOF || LA264_67 == PARTITION_SYMBOL || LA264_67 == LIMIT_SYMBOL || LA264_67 == ORDER_SYMBOL || LA264_67 == SEMICOLON_SYMBOL || LA264_67 == WHERE_SYMBOL))
            	                                        {
            	                                            alt264=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 264;
            	                                            EXCEPTION->state        = 67;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA264_25 >= ACTION_SYMBOL) && (LA264_25 <= YEAR_SYMBOL))))
            	                                {
            	                                    {
            	                                        int LA264_68 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_68 == COMMA_SYMBOL || LA264_68 == DOT_SYMBOL || LA264_68 == USING_SYMBOL))
            	                                        {
            	                                            alt264=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_68 == EOF || LA264_68 == PARTITION_SYMBOL || LA264_68 == LIMIT_SYMBOL || LA264_68 == ORDER_SYMBOL || LA264_68 == SEMICOLON_SYMBOL || LA264_68 == WHERE_SYMBOL))
            	                                        {
            	                                            alt264=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 264;
            	                                            EXCEPTION->state        = 68;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA264_25 >= ASCII_SYMBOL) && (LA264_25 <= XA_SYMBOL))))
            	                                {
            	                                    {
            	                                        int LA264_69 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_69 == COMMA_SYMBOL || LA264_69 == DOT_SYMBOL || LA264_69 == USING_SYMBOL))
            	                                        {
            	                                            alt264=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_69 == EOF || LA264_69 == PARTITION_SYMBOL || LA264_69 == LIMIT_SYMBOL || LA264_69 == ORDER_SYMBOL || LA264_69 == SEMICOLON_SYMBOL || LA264_69 == WHERE_SYMBOL))
            	                                        {
            	                                            alt264=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 264;
            	                                            EXCEPTION->state        = 69;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else
            	                                {
            	                                    if (BACKTRACKING>0)
            	                                    {
            	                                        FAILEDFLAG = ANTLR3_TRUE;
            	                                        return retval;
            	                                    }


            	                                    CONSTRUCTEX();
            	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                    EXCEPTION->message      = (void *)"";
            	                                    EXCEPTION->decisionNum  = 264;
            	                                    EXCEPTION->state        = 25;


            	                                    goto ruledelete_statementEx;

            	                                }
            	                            }
            	                        }
            	                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_3 == COMMA_SYMBOL || LA264_3 == USING_SYMBOL))
            	                        {
            	                            alt264=1;
            	                        }
            	                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA264_3 == EOF || LA264_3 == PARTITION_SYMBOL || LA264_3 == LIMIT_SYMBOL || LA264_3 == ORDER_SYMBOL || LA264_3 == SEMICOLON_SYMBOL || LA264_3 == WHERE_SYMBOL))
            	                        {
            	                            alt264=2;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


            	                            CONSTRUCTEX();
            	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                            EXCEPTION->message      = (void *)"";
            	                            EXCEPTION->decisionNum  = 264;
            	                            EXCEPTION->state        = 3;


            	                            goto ruledelete_statementEx;

            	                        }
            	                    }
            	                }
            	                else if ( (((LA264_0 >= ACTION_SYMBOL) && (LA264_0 <= YEAR_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA264_34 = LA(3);
            	                    		    if ( (LA264_34 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt264=1;
            	                    		    }
            	                    		    else if ( (LA264_34 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 71;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_34 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 72;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_34 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 73;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_34 >= ACTION_SYMBOL) && (LA264_34 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 74;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_34 >= ASCII_SYMBOL) && (LA264_34 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 75;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else
            	                    		    {
            	                    		        if (BACKTRACKING>0)
            	                    		        {
            	                    		            FAILEDFLAG = ANTLR3_TRUE;
            	                    		            return retval;
            	                    		        }


            	                    		        CONSTRUCTEX();
            	                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		        EXCEPTION->message      = (void *)"";
            	                    		        EXCEPTION->decisionNum  = 264;
            	                    		        EXCEPTION->state        = 34;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt264=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt264=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 264;
            	                        EXCEPTION->state        = 4;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (((LA264_0 >= ASCII_SYMBOL) && (LA264_0 <= XA_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA264_43 = LA(3);
            	                    		    if ( (LA264_43 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt264=1;
            	                    		    }
            	                    		    else if ( (LA264_43 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 77;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_43 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 78;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA264_43 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 79;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_43 >= ACTION_SYMBOL) && (LA264_43 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 80;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA264_43 >= ASCII_SYMBOL) && (LA264_43 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt264=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt264=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 264;
            	                    		            EXCEPTION->state        = 81;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else
            	                    		    {
            	                    		        if (BACKTRACKING>0)
            	                    		        {
            	                    		            FAILEDFLAG = ANTLR3_TRUE;
            	                    		            return retval;
            	                    		        }


            	                    		        CONSTRUCTEX();
            	                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		        EXCEPTION->message      = (void *)"";
            	                    		        EXCEPTION->decisionNum  = 264;
            	                    		        EXCEPTION->state        = 43;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt264=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt264=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 264;
            	                        EXCEPTION->state        = 5;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (LA264_0 == DOT_SYMBOL))
            	                {
            	                    alt264=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 264;
            	                    EXCEPTION->state        = 0;


            	                    goto ruledelete_statementEx;

            	                }
            	            }
            	            switch (alt264)
            	            {
            	        	case 1:
            	        	    // MySQL.g:864:7: table_ref_list USING_SYMBOL table_reference_list ( where_clause )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_table_ref_list_in_delete_statement4156);
            	        	        table_ref_list784=table_ref_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref_list784.tree);

            	        	        USING_SYMBOL785 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_delete_statement4158);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        USING_SYMBOL785_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL785));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL785_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_table_reference_list_in_delete_statement4160);
            	        	        table_reference_list786=table_reference_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference_list786.tree);

            	        	        // MySQL.g:864:56: ( where_clause )?
            	        	        {
            	        	            int alt259=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt259=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt259)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:864:56: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement4162);
            	        	        	        where_clause787=where_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause787.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:865:8: table_ref ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_table_ref_in_delete_statement4173);
            	        	        table_ref788=table_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref788.tree);

            	        	        // MySQL.g:865:18: ( partition_delete )?
            	        	        {
            	        	            int alt260=2;
            	        	            {
            	        	                int LA260_0 = LA(1);
            	        	                if ( ((SERVER_VERSION >= 50602)) && (LA260_0 == PARTITION_SYMBOL))
            	        	                {
            	        	                    alt260=1;
            	        	                }
            	        	            }
            	        	            switch (alt260)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:865:18: partition_delete
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partition_delete_in_delete_statement4175);
            	        	        	        partition_delete789=partition_delete(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_delete789.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:865:36: ( where_clause )?
            	        	        {
            	        	            int alt261=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt261=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt261)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:865:36: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement4178);
            	        	        	        where_clause790=where_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause790.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:865:50: ( order_by_clause )?
            	        	        {
            	        	            int alt262=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case ORDER_SYMBOL:
            	        	                	{
            	        	                		alt262=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt262)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:865:50: order_by_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_delete_statement4181);
            	        	        	        order_by_clause791=order_by_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause791.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:865:67: ( LIMIT_SYMBOL limit_option )?
            	        	        {
            	        	            int alt263=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case LIMIT_SYMBOL:
            	        	                	{
            	        	                		alt263=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt263)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:865:68: LIMIT_SYMBOL limit_option
            	        	        	    {
            	        	        	        LIMIT_SYMBOL792 = (pANTLR3_COMMON_TOKEN) MATCHT(LIMIT_SYMBOL, &FOLLOW_LIMIT_SYMBOL_in_delete_statement4185);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        LIMIT_SYMBOL792_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIMIT_SYMBOL792));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LIMIT_SYMBOL792_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_limit_option_in_delete_statement4187);
            	        	        	        limit_option793=limit_option(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_option793.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:867:7: table_ref_list FROM_SYMBOL table_reference_list ( where_clause )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_ref_list_in_delete_statement4204);
            	        table_ref_list794=table_ref_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref_list794.tree);

            	        FROM_SYMBOL795 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_delete_statement4206);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL795_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL795));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL795_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_reference_list_in_delete_statement4208);
            	        table_reference_list796=table_reference_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference_list796.tree);

            	        // MySQL.g:867:55: ( where_clause )?
            	        {
            	            int alt265=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt265=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt265)
            	            {
            	        	case 1:
            	        	    // MySQL.g:867:55: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement4210);
            	        	        where_clause797=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause797.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledelete_statementEx; /* Prevent compiler warnings */
    ruledelete_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end delete_statement */

/**
 * $ANTLR start partition_delete
 * MySQL.g:871:1: partition_delete :{...}? => PARTITION_SYMBOL OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_partition_delete_return
partition_delete(pMySQLParser ctx)
{
    MySQLParser_partition_delete_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL798;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL799;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL801;
    MySQLParser_identifier_list_return identifier_list800;
    #undef	RETURN_TYPE_identifier_list800
    #define	RETURN_TYPE_identifier_list800 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL798_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL799_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL801_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL798       = NULL;
    OPEN_PAR_SYMBOL799       = NULL;
    CLOSE_PAR_SYMBOL801       = NULL;
    identifier_list800.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL798_tree   = NULL;
    OPEN_PAR_SYMBOL799_tree   = NULL;
    CLOSE_PAR_SYMBOL801_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:871:17: ({...}? => PARTITION_SYMBOL OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL )
        // MySQL.g:872:2: {...}? => PARTITION_SYMBOL OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50602)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50602";
                    EXCEPTION->ruleName	 = (void *)"partition_delete";


            }

            PARTITION_SYMBOL798 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partition_delete4229);
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL798_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL798));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL798_tree);
            }

            OPEN_PAR_SYMBOL799 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete4231);
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL799_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL799));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL799_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_partition_delete4233);
            identifier_list800=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list800.tree);

            CLOSE_PAR_SYMBOL801 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete4235);
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL801_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL801));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL801_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepartition_deleteEx; /* Prevent compiler warnings */
    rulepartition_deleteEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partition_delete */

/**
 * $ANTLR start delete_option
 * MySQL.g:875:1: delete_option : ( LOW_PRIORITY_SYMBOL | QUICK_SYMBOL | IGNORE_SYMBOL );
 */
static MySQLParser_delete_option_return
delete_option(pMySQLParser ctx)
{
    MySQLParser_delete_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set802;

    pANTLR3_BASE_TREE set802_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set802       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set802_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:875:14: ( LOW_PRIORITY_SYMBOL | QUICK_SYMBOL | IGNORE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set802=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == QUICK_SYMBOL || LA(1) == IGNORE_SYMBOL || LA(1) == LOW_PRIORITY_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set802))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruledelete_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruledelete_optionEx; /* Prevent compiler warnings */
    ruledelete_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end delete_option */

/**
 * $ANTLR start table_ref_list
 * MySQL.g:879:1: table_ref_list : table_ref_with_wildcard ( COMMA_SYMBOL table_ref_with_wildcard )* ;
 */
static MySQLParser_table_ref_list_return
table_ref_list(pMySQLParser ctx)
{
    MySQLParser_table_ref_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL804;
    MySQLParser_table_ref_with_wildcard_return table_ref_with_wildcard803;
    #undef	RETURN_TYPE_table_ref_with_wildcard803
    #define	RETURN_TYPE_table_ref_with_wildcard803 MySQLParser_table_ref_with_wildcard_return

    MySQLParser_table_ref_with_wildcard_return table_ref_with_wildcard805;
    #undef	RETURN_TYPE_table_ref_with_wildcard805
    #define	RETURN_TYPE_table_ref_with_wildcard805 MySQLParser_table_ref_with_wildcard_return

    pANTLR3_BASE_TREE COMMA_SYMBOL804_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL804       = NULL;
    table_ref_with_wildcard803.tree = NULL;

    table_ref_with_wildcard805.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL804_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:879:15: ( table_ref_with_wildcard ( COMMA_SYMBOL table_ref_with_wildcard )* )
        // MySQL.g:880:2: table_ref_with_wildcard ( COMMA_SYMBOL table_ref_with_wildcard )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_ref_with_wildcard_in_table_ref_list4261);
            table_ref_with_wildcard803=table_ref_with_wildcard(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_ref_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref_with_wildcard803.tree);

            // MySQL.g:880:26: ( COMMA_SYMBOL table_ref_with_wildcard )*

            for (;;)
            {
                int alt267=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt267=1;
                	}
                    break;

                }

                switch (alt267)
                {
            	case 1:
            	    // MySQL.g:880:27: COMMA_SYMBOL table_ref_with_wildcard
            	    {
            	        COMMA_SYMBOL804 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_ref_list4264);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_ref_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL804_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL804));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL804_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_with_wildcard_in_table_ref_list4266);
            	        table_ref_with_wildcard805=table_ref_with_wildcard(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_ref_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref_with_wildcard805.tree);

            	    }
            	    break;

            	default:
            	    goto loop267;	/* break out of the loop */
            	    break;
                }
            }
            loop267: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_ref_listEx; /* Prevent compiler warnings */
    ruletable_ref_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_ref_list */

/**
 * $ANTLR start do_statement
 * MySQL.g:883:1: do_statement : DO_SYMBOL ^ expression_list ;
 */
static MySQLParser_do_statement_return
do_statement(pMySQLParser ctx)
{
    MySQLParser_do_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DO_SYMBOL806;
    MySQLParser_expression_list_return expression_list807;
    #undef	RETURN_TYPE_expression_list807
    #define	RETURN_TYPE_expression_list807 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE DO_SYMBOL806_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DO_SYMBOL806       = NULL;
    expression_list807.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DO_SYMBOL806_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:883:13: ( DO_SYMBOL ^ expression_list )
        // MySQL.g:884:2: DO_SYMBOL ^ expression_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DO_SYMBOL806 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_do_statement4277);
            if  (HASEXCEPTION())
            {
                goto ruledo_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DO_SYMBOL806_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL806))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DO_SYMBOL806_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_list_in_do_statement4280);
            expression_list807=expression_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledo_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list807.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledo_statementEx; /* Prevent compiler warnings */
    ruledo_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end do_statement */

/**
 * $ANTLR start handler_statement
 * MySQL.g:887:1: handler_statement : HANDLER_SYMBOL ^ ( options {k=4; } : table_ref OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | table_ref_no_db (| CLOSE_SYMBOL | READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )? ) ) ;
 */
static MySQLParser_handler_statement_return
handler_statement(pMySQLParser ctx)
{
    MySQLParser_handler_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    HANDLER_SYMBOL808;
    pANTLR3_COMMON_TOKEN    OPEN_SYMBOL810;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL811;
    pANTLR3_COMMON_TOKEN    CLOSE_SYMBOL814;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL815;
    MySQLParser_table_ref_return table_ref809;
    #undef	RETURN_TYPE_table_ref809
    #define	RETURN_TYPE_table_ref809 MySQLParser_table_ref_return

    MySQLParser_identifier_return identifier812;
    #undef	RETURN_TYPE_identifier812
    #define	RETURN_TYPE_identifier812 MySQLParser_identifier_return

    MySQLParser_table_ref_no_db_return table_ref_no_db813;
    #undef	RETURN_TYPE_table_ref_no_db813
    #define	RETURN_TYPE_table_ref_no_db813 MySQLParser_table_ref_no_db_return

    MySQLParser_handler_read_or_scan_return handler_read_or_scan816;
    #undef	RETURN_TYPE_handler_read_or_scan816
    #define	RETURN_TYPE_handler_read_or_scan816 MySQLParser_handler_read_or_scan_return

    MySQLParser_where_clause_return where_clause817;
    #undef	RETURN_TYPE_where_clause817
    #define	RETURN_TYPE_where_clause817 MySQLParser_where_clause_return

    MySQLParser_limit_clause_return limit_clause818;
    #undef	RETURN_TYPE_limit_clause818
    #define	RETURN_TYPE_limit_clause818 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE HANDLER_SYMBOL808_tree;
    pANTLR3_BASE_TREE OPEN_SYMBOL810_tree;
    pANTLR3_BASE_TREE AS_SYMBOL811_tree;
    pANTLR3_BASE_TREE CLOSE_SYMBOL814_tree;
    pANTLR3_BASE_TREE READ_SYMBOL815_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    HANDLER_SYMBOL808       = NULL;
    OPEN_SYMBOL810       = NULL;
    AS_SYMBOL811       = NULL;
    CLOSE_SYMBOL814       = NULL;
    READ_SYMBOL815       = NULL;
    table_ref809.tree = NULL;

    identifier812.tree = NULL;

    table_ref_no_db813.tree = NULL;

    handler_read_or_scan816.tree = NULL;

    where_clause817.tree = NULL;

    limit_clause818.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    HANDLER_SYMBOL808_tree   = NULL;
    OPEN_SYMBOL810_tree   = NULL;
    AS_SYMBOL811_tree   = NULL;
    CLOSE_SYMBOL814_tree   = NULL;
    READ_SYMBOL815_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:887:18: ( HANDLER_SYMBOL ^ ( options {k=4; } : table_ref OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | table_ref_no_db (| CLOSE_SYMBOL | READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )? ) ) )
        // MySQL.g:888:2: HANDLER_SYMBOL ^ ( options {k=4; } : table_ref OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | table_ref_no_db (| CLOSE_SYMBOL | READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )? ) )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            HANDLER_SYMBOL808 = (pANTLR3_COMMON_TOKEN) MATCHT(HANDLER_SYMBOL, &FOLLOW_HANDLER_SYMBOL_in_handler_statement4289);
            if  (HASEXCEPTION())
            {
                goto rulehandler_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HANDLER_SYMBOL808_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HANDLER_SYMBOL808))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, HANDLER_SYMBOL808_tree, root_0));
            }

            // MySQL.g:889:2: ( options {k=4; } : table_ref OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | table_ref_no_db (| CLOSE_SYMBOL | READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )? ) )
            {
                int alt273=2;
                {
                    int LA273_0 = LA(1);
                    if ( (LA273_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt273=1;
                        	}
                            break;
                        case EOF:
                        case CLOSE_SYMBOL:
                        case READ_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt273=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 273;
                            EXCEPTION->state        = 1;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (LA273_0 == BACK_TICK_QUOTED_ID))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt273=1;
                        	}
                            break;
                        case EOF:
                        case CLOSE_SYMBOL:
                        case READ_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt273=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 273;
                            EXCEPTION->state        = 2;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA273_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA273_3 = LA(2);
                            if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA273_3 == OPEN_SYMBOL || LA273_3 == DOT_SYMBOL))
                            {
                                alt273=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA273_3 == EOF || LA273_3 == CLOSE_SYMBOL || LA273_3 == READ_SYMBOL || LA273_3 == SEMICOLON_SYMBOL))
                            {
                                alt273=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 273;
                                EXCEPTION->state        = 3;


                                goto rulehandler_statementEx;

                            }
                        }
                    }
                    else if ( (((LA273_0 >= ACTION_SYMBOL) && (LA273_0 <= YEAR_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt273=1;
                        	}
                            break;
                        case EOF:
                        case CLOSE_SYMBOL:
                        case READ_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt273=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 273;
                            EXCEPTION->state        = 4;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (((LA273_0 >= ASCII_SYMBOL) && (LA273_0 <= XA_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt273=1;
                        	}
                            break;
                        case EOF:
                        case CLOSE_SYMBOL:
                        case READ_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt273=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 273;
                            EXCEPTION->state        = 5;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (LA273_0 == DOT_SYMBOL))
                    {
                        alt273=1;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 273;
                        EXCEPTION->state        = 0;


                        goto rulehandler_statementEx;

                    }
                }
                switch (alt273)
                {
            	case 1:
            	    // MySQL.g:890:3: table_ref OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_ref_in_handler_statement4310);
            	        table_ref809=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref809.tree);

            	        OPEN_SYMBOL810 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_handler_statement4312);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_SYMBOL810_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL810));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL810_tree);
            	        }

            	        // MySQL.g:890:25: ( ( AS_SYMBOL )? identifier )?
            	        {
            	            int alt269=2;
            	            {
            	                int LA269_0 = LA(1);
            	                if ( (LA269_0 == AS_SYMBOL || LA269_0 == BACK_TICK_QUOTED_ID || LA269_0 == IDENTIFIER))
            	                {
            	                    alt269=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA269_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt269=1;
            	                }
            	                else if ( (((LA269_0 >= ASCII_SYMBOL) && (LA269_0 <= YEAR_SYMBOL))))
            	                {
            	                    alt269=1;
            	                }
            	            }
            	            switch (alt269)
            	            {
            	        	case 1:
            	        	    // MySQL.g:890:26: ( AS_SYMBOL )? identifier
            	        	    {
            	        	        // MySQL.g:890:26: ( AS_SYMBOL )?
            	        	        {
            	        	            int alt268=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                	{
            	        	                		alt268=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt268)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:890:26: AS_SYMBOL
            	        	        	    {
            	        	        	        AS_SYMBOL811 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_handler_statement4315);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulehandler_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AS_SYMBOL811_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL811));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL811_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_statement4318);
            	        	        identifier812=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier812.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:891:5: table_ref_no_db (| CLOSE_SYMBOL | READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )? )
            	    {
            	        FOLLOWPUSH(FOLLOW_table_ref_no_db_in_handler_statement4326);
            	        table_ref_no_db813=table_ref_no_db(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref_no_db813.tree);

            	        // MySQL.g:892:4: (| CLOSE_SYMBOL | READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )? )
            	        {
            	            int alt272=3;
            	            switch ( LA(1) )
            	            {
            	            case EOF:
            	            case SEMICOLON_SYMBOL:
            	            	{
            	            		alt272=1;
            	            	}
            	                break;
            	            case CLOSE_SYMBOL:
            	            	{
            	            		alt272=2;
            	            	}
            	                break;
            	            case READ_SYMBOL:
            	            	{
            	            		alt272=3;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 272;
            	                EXCEPTION->state        = 0;


            	                goto rulehandler_statementEx;

            	            }

            	            switch (alt272)
            	            {
            	        	case 1:
            	        	    // MySQL.g:893:5: 
            	        	    {
            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:893:7: CLOSE_SYMBOL
            	        	    {
            	        	        CLOSE_SYMBOL814 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_SYMBOL, &FOLLOW_CLOSE_SYMBOL_in_handler_statement4339);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_SYMBOL814_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_SYMBOL814));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_SYMBOL814_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:894:7: READ_SYMBOL handler_read_or_scan ( where_clause )? ( limit_clause )?
            	        	    {
            	        	        READ_SYMBOL815 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_handler_statement4347);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        READ_SYMBOL815_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL815));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL815_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_handler_read_or_scan_in_handler_statement4349);
            	        	        handler_read_or_scan816=handler_read_or_scan(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_read_or_scan816.tree);

            	        	        // MySQL.g:894:40: ( where_clause )?
            	        	        {
            	        	            int alt270=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt270=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt270)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:894:40: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_handler_statement4351);
            	        	        	        where_clause817=where_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulehandler_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause817.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:894:54: ( limit_clause )?
            	        	        {
            	        	            int alt271=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case LIMIT_SYMBOL:
            	        	                	{
            	        	                		alt271=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt271)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:894:54: limit_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_handler_statement4354);
            	        	        	        limit_clause818=limit_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulehandler_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause818.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulehandler_statementEx; /* Prevent compiler warnings */
    rulehandler_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end handler_statement */

/**
 * $ANTLR start handler_read_or_scan
 * MySQL.g:899:1: handler_read_or_scan : ( ( FIRST_SYMBOL | NEXT_SYMBOL ) | identifier ( FIRST_SYMBOL | NEXT_SYMBOL | PREV_SYMBOL | LAST_SYMBOL | ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) OPEN_PAR_SYMBOL values CLOSE_PAR_SYMBOL ) );
 */
static MySQLParser_handler_read_or_scan_return
handler_read_or_scan(pMySQLParser ctx)
{
    MySQLParser_handler_read_or_scan_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set819;
    pANTLR3_COMMON_TOKEN    FIRST_SYMBOL821;
    pANTLR3_COMMON_TOKEN    NEXT_SYMBOL822;
    pANTLR3_COMMON_TOKEN    PREV_SYMBOL823;
    pANTLR3_COMMON_TOKEN    LAST_SYMBOL824;
    pANTLR3_COMMON_TOKEN    set825;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL826;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL828;
    MySQLParser_identifier_return identifier820;
    #undef	RETURN_TYPE_identifier820
    #define	RETURN_TYPE_identifier820 MySQLParser_identifier_return

    MySQLParser_values_return values827;
    #undef	RETURN_TYPE_values827
    #define	RETURN_TYPE_values827 MySQLParser_values_return

    pANTLR3_BASE_TREE set819_tree;
    pANTLR3_BASE_TREE FIRST_SYMBOL821_tree;
    pANTLR3_BASE_TREE NEXT_SYMBOL822_tree;
    pANTLR3_BASE_TREE PREV_SYMBOL823_tree;
    pANTLR3_BASE_TREE LAST_SYMBOL824_tree;
    pANTLR3_BASE_TREE set825_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL826_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL828_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set819       = NULL;
    FIRST_SYMBOL821       = NULL;
    NEXT_SYMBOL822       = NULL;
    PREV_SYMBOL823       = NULL;
    LAST_SYMBOL824       = NULL;
    set825       = NULL;
    OPEN_PAR_SYMBOL826       = NULL;
    CLOSE_PAR_SYMBOL828       = NULL;
    identifier820.tree = NULL;

    values827.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set819_tree   = NULL;
    FIRST_SYMBOL821_tree   = NULL;
    NEXT_SYMBOL822_tree   = NULL;
    PREV_SYMBOL823_tree   = NULL;
    LAST_SYMBOL824_tree   = NULL;
    set825_tree   = NULL;
    OPEN_PAR_SYMBOL826_tree   = NULL;
    CLOSE_PAR_SYMBOL828_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:899:21: ( ( FIRST_SYMBOL | NEXT_SYMBOL ) | identifier ( FIRST_SYMBOL | NEXT_SYMBOL | PREV_SYMBOL | LAST_SYMBOL | ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) OPEN_PAR_SYMBOL values CLOSE_PAR_SYMBOL ) )

            ANTLR3_UINT32 alt275;

            alt275=2;

            {
                int LA275_0 = LA(1);
                if ( (LA275_0 == FIRST_SYMBOL || LA275_0 == NEXT_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case EOF:
                    case LIMIT_SYMBOL:
                    case SEMICOLON_SYMBOL:
                    case WHERE_SYMBOL:
                    	{
                    		alt275=1;
                    	}
                        break;
                    case FIRST_SYMBOL:
                    case LAST_SYMBOL:
                    case NEXT_SYMBOL:
                    case PREV_SYMBOL:
                    case EQUAL_OPERATOR:
                    case GREATER_OR_EQUAL_OPERATOR:
                    case GREATER_THAN_OPERATOR:
                    case LESS_OR_EQUAL_OPERATOR:
                    case LESS_THAN_OPERATOR:
                    	{
                    		alt275=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 275;
                        EXCEPTION->state        = 1;


                        goto rulehandler_read_or_scanEx;

                    }

                }
                else if ( (LA275_0 == BACK_TICK_QUOTED_ID || LA275_0 == IDENTIFIER))
                {
                    alt275=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA275_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt275=2;
                }
                else if ( (((LA275_0 >= ASCII_SYMBOL) && (LA275_0 <= FILTER_SYMBOL)) || ((LA275_0 >= FIXED_SYMBOL) && (LA275_0 <= NEVER_SYMBOL)) || ((LA275_0 >= NEW_SYMBOL) && (LA275_0 <= YEAR_SYMBOL))))
                {
                    alt275=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 275;
                    EXCEPTION->state        = 0;


                    goto rulehandler_read_or_scanEx;

                }
            }
            switch (alt275)
            {
        	case 1:
        	    // MySQL.g:900:2: ( FIRST_SYMBOL | NEXT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set819=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == FIRST_SYMBOL || LA(1) == NEXT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set819))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulehandler_read_or_scanEx;
        	        }


        	    }
        	    break;
        	case 2:
        	    // MySQL.g:901:4: identifier ( FIRST_SYMBOL | NEXT_SYMBOL | PREV_SYMBOL | LAST_SYMBOL | ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) OPEN_PAR_SYMBOL values CLOSE_PAR_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_read_or_scan4384);
        	        identifier820=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_read_or_scanEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier820.tree);

        	        // MySQL.g:902:3: ( FIRST_SYMBOL | NEXT_SYMBOL | PREV_SYMBOL | LAST_SYMBOL | ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) OPEN_PAR_SYMBOL values CLOSE_PAR_SYMBOL )
        	        {
        	            int alt274=5;
        	            switch ( LA(1) )
        	            {
        	            case FIRST_SYMBOL:
        	            	{
        	            		alt274=1;
        	            	}
        	                break;
        	            case NEXT_SYMBOL:
        	            	{
        	            		alt274=2;
        	            	}
        	                break;
        	            case PREV_SYMBOL:
        	            	{
        	            		alt274=3;
        	            	}
        	                break;
        	            case LAST_SYMBOL:
        	            	{
        	            		alt274=4;
        	            	}
        	                break;
        	            case EQUAL_OPERATOR:
        	            case GREATER_OR_EQUAL_OPERATOR:
        	            case GREATER_THAN_OPERATOR:
        	            case LESS_OR_EQUAL_OPERATOR:
        	            case LESS_THAN_OPERATOR:
        	            	{
        	            		alt274=5;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 274;
        	                EXCEPTION->state        = 0;


        	                goto rulehandler_read_or_scanEx;

        	            }

        	            switch (alt274)
        	            {
        	        	case 1:
        	        	    // MySQL.g:903:4: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL821 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_handler_read_or_scan4393);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        FIRST_SYMBOL821_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIRST_SYMBOL821));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FIRST_SYMBOL821_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:904:6: NEXT_SYMBOL
        	        	    {
        	        	        NEXT_SYMBOL822 = (pANTLR3_COMMON_TOKEN) MATCHT(NEXT_SYMBOL, &FOLLOW_NEXT_SYMBOL_in_handler_read_or_scan4400);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NEXT_SYMBOL822_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NEXT_SYMBOL822));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NEXT_SYMBOL822_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:905:6: PREV_SYMBOL
        	        	    {
        	        	        PREV_SYMBOL823 = (pANTLR3_COMMON_TOKEN) MATCHT(PREV_SYMBOL, &FOLLOW_PREV_SYMBOL_in_handler_read_or_scan4407);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PREV_SYMBOL823_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREV_SYMBOL823));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PREV_SYMBOL823_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:906:6: LAST_SYMBOL
        	        	    {
        	        	        LAST_SYMBOL824 = (pANTLR3_COMMON_TOKEN) MATCHT(LAST_SYMBOL, &FOLLOW_LAST_SYMBOL_in_handler_read_or_scan4414);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        LAST_SYMBOL824_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LAST_SYMBOL824));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LAST_SYMBOL824_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 5:
        	        	    // MySQL.g:907:6: ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) OPEN_PAR_SYMBOL values CLOSE_PAR_SYMBOL
        	        	    {
        	        	        set825=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == EQUAL_OPERATOR || ((LA(1) >= GREATER_OR_EQUAL_OPERATOR) && (LA(1) <= GREATER_THAN_OPERATOR)) || ((LA(1) >= LESS_OR_EQUAL_OPERATOR) && (LA(1) <= LESS_THAN_OPERATOR)) )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set825))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulehandler_read_or_scanEx;
        	        	        }


        	        	        OPEN_PAR_SYMBOL826 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_handler_read_or_scan4445);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPEN_PAR_SYMBOL826_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL826));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL826_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_values_in_handler_read_or_scan4447);
        	        	        values827=values(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, values827.tree);

        	        	        CLOSE_PAR_SYMBOL828 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_handler_read_or_scan4449);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_read_or_scanEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CLOSE_PAR_SYMBOL828_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL828));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL828_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulehandler_read_or_scanEx; /* Prevent compiler warnings */
    rulehandler_read_or_scanEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end handler_read_or_scan */

/**
 * $ANTLR start insert_statement
 * MySQL.g:914:1: insert_statement : INSERT_SYMBOL ^ ( insert_lock_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_ref ( use_partition )? insert_field_spec ( duplicate_key_update )? ;
 */
static MySQLParser_insert_statement_return
insert_statement(pMySQLParser ctx)
{
    MySQLParser_insert_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INSERT_SYMBOL829;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL831;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL832;
    MySQLParser_insert_lock_option_return insert_lock_option830;
    #undef	RETURN_TYPE_insert_lock_option830
    #define	RETURN_TYPE_insert_lock_option830 MySQLParser_insert_lock_option_return

    MySQLParser_table_ref_return table_ref833;
    #undef	RETURN_TYPE_table_ref833
    #define	RETURN_TYPE_table_ref833 MySQLParser_table_ref_return

    MySQLParser_use_partition_return use_partition834;
    #undef	RETURN_TYPE_use_partition834
    #define	RETURN_TYPE_use_partition834 MySQLParser_use_partition_return

    MySQLParser_insert_field_spec_return insert_field_spec835;
    #undef	RETURN_TYPE_insert_field_spec835
    #define	RETURN_TYPE_insert_field_spec835 MySQLParser_insert_field_spec_return

    MySQLParser_duplicate_key_update_return duplicate_key_update836;
    #undef	RETURN_TYPE_duplicate_key_update836
    #define	RETURN_TYPE_duplicate_key_update836 MySQLParser_duplicate_key_update_return

    pANTLR3_BASE_TREE INSERT_SYMBOL829_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL831_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL832_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INSERT_SYMBOL829       = NULL;
    IGNORE_SYMBOL831       = NULL;
    INTO_SYMBOL832       = NULL;
    insert_lock_option830.tree = NULL;

    table_ref833.tree = NULL;

    use_partition834.tree = NULL;

    insert_field_spec835.tree = NULL;

    duplicate_key_update836.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INSERT_SYMBOL829_tree   = NULL;
    IGNORE_SYMBOL831_tree   = NULL;
    INTO_SYMBOL832_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:914:17: ( INSERT_SYMBOL ^ ( insert_lock_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_ref ( use_partition )? insert_field_spec ( duplicate_key_update )? )
        // MySQL.g:915:2: INSERT_SYMBOL ^ ( insert_lock_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_ref ( use_partition )? insert_field_spec ( duplicate_key_update )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INSERT_SYMBOL829 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_insert_statement4464);
            if  (HASEXCEPTION())
            {
                goto ruleinsert_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INSERT_SYMBOL829_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL829))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, INSERT_SYMBOL829_tree, root_0));
            }

            // MySQL.g:915:17: ( insert_lock_option )?
            {
                int alt276=2;
                switch ( LA(1) )
                {
                    case DELAYED_SYMBOL:
                    case HIGH_PRIORITY_SYMBOL:
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt276=1;
                    	}
                        break;
                }

                switch (alt276)
                {
            	case 1:
            	    // MySQL.g:915:17: insert_lock_option
            	    {
            	        FOLLOWPUSH(FOLLOW_insert_lock_option_in_insert_statement4467);
            	        insert_lock_option830=insert_lock_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_lock_option830.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:915:37: ( IGNORE_SYMBOL )?
            {
                int alt277=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt277=1;
                    	}
                        break;
                }

                switch (alt277)
                {
            	case 1:
            	    // MySQL.g:915:37: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL831 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_insert_statement4470);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL831_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL831));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL831_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:915:52: ( INTO_SYMBOL )?
            {
                int alt278=2;
                switch ( LA(1) )
                {
                    case INTO_SYMBOL:
                    	{
                    		alt278=1;
                    	}
                        break;
                }

                switch (alt278)
                {
            	case 1:
            	    // MySQL.g:915:52: INTO_SYMBOL
            	    {
            	        INTO_SYMBOL832 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_insert_statement4473);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTO_SYMBOL832_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL832));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL832_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_insert_statement4476);
            table_ref833=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref833.tree);

            // MySQL.g:915:75: ( use_partition )?
            {
                int alt279=2;
                {
                    int LA279_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50602)) && (LA279_0 == PARTITION_SYMBOL))
                    {
                        alt279=1;
                    }
                }
                switch (alt279)
                {
            	case 1:
            	    // MySQL.g:915:75: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_insert_statement4478);
            	        use_partition834=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition834.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_insert_field_spec_in_insert_statement4481);
            insert_field_spec835=insert_field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_field_spec835.tree);

            // MySQL.g:915:108: ( duplicate_key_update )?
            {
                int alt280=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt280=1;
                    	}
                        break;
                }

                switch (alt280)
                {
            	case 1:
            	    // MySQL.g:915:108: duplicate_key_update
            	    {
            	        FOLLOWPUSH(FOLLOW_duplicate_key_update_in_insert_statement4483);
            	        duplicate_key_update836=duplicate_key_update(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, duplicate_key_update836.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_statementEx; /* Prevent compiler warnings */
    ruleinsert_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end insert_statement */

/**
 * $ANTLR start insert_lock_option
 * MySQL.g:918:1: insert_lock_option : ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL | HIGH_PRIORITY_SYMBOL );
 */
static MySQLParser_insert_lock_option_return
insert_lock_option(pMySQLParser ctx)
{
    MySQLParser_insert_lock_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set837;

    pANTLR3_BASE_TREE set837_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set837       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set837_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:918:19: ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL | HIGH_PRIORITY_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set837=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == DELAYED_SYMBOL || LA(1) == HIGH_PRIORITY_SYMBOL || LA(1) == LOW_PRIORITY_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set837))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleinsert_lock_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_lock_optionEx; /* Prevent compiler warnings */
    ruleinsert_lock_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end insert_lock_option */

/**
 * $ANTLR start insert_field_spec
 * MySQL.g:924:1: insert_field_spec : ( ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )? insert_values | SET_SYMBOL column_assignment_list_with_default );
 */
static MySQLParser_insert_field_spec_return
insert_field_spec(pMySQLParser ctx)
{
    MySQLParser_insert_field_spec_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL838;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL840;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL842;
    MySQLParser_fields_return fields839;
    #undef	RETURN_TYPE_fields839
    #define	RETURN_TYPE_fields839 MySQLParser_fields_return

    MySQLParser_insert_values_return insert_values841;
    #undef	RETURN_TYPE_insert_values841
    #define	RETURN_TYPE_insert_values841 MySQLParser_insert_values_return

    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default843;
    #undef	RETURN_TYPE_column_assignment_list_with_default843
    #define	RETURN_TYPE_column_assignment_list_with_default843 MySQLParser_column_assignment_list_with_default_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL838_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL840_tree;
    pANTLR3_BASE_TREE SET_SYMBOL842_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL838       = NULL;
    CLOSE_PAR_SYMBOL840       = NULL;
    SET_SYMBOL842       = NULL;
    fields839.tree = NULL;

    insert_values841.tree = NULL;

    column_assignment_list_with_default843.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL838_tree   = NULL;
    CLOSE_PAR_SYMBOL840_tree   = NULL;
    SET_SYMBOL842_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:924:18: ( ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )? insert_values | SET_SYMBOL column_assignment_list_with_default )

            ANTLR3_UINT32 alt283;

            alt283=2;

            switch ( LA(1) )
            {
            case VALUE_SYMBOL:
            case OPEN_PAR_SYMBOL:
            case SELECT_SYMBOL:
            case VALUES_SYMBOL:
            	{
            		alt283=1;
            	}
                break;
            case SET_SYMBOL:
            	{
            		alt283=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 283;
                EXCEPTION->state        = 0;


                goto ruleinsert_field_specEx;

            }

            switch (alt283)
            {
        	case 1:
        	    // MySQL.g:925:2: ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )? insert_values
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:925:2: ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )?
        	        {
        	            int alt282=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA282_1 = LA(2);
        	                		    if ( (((LA282_1 >= ASCII_SYMBOL) && (LA282_1 <= YEAR_SYMBOL)) || LA282_1 == BACK_TICK_QUOTED_ID || LA282_1 == CLOSE_PAR_SYMBOL || LA282_1 == DOUBLE_QUOTED_TEXT || LA282_1 == IDENTIFIER))
        	                		    {
        	                		        alt282=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt282)
        	            {
        	        	case 1:
        	        	    // MySQL.g:925:3: OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL
        	        	    {
        	        	        OPEN_PAR_SYMBOL838 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec4515);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_field_specEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPEN_PAR_SYMBOL838_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL838));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL838_tree);
        	        	        }

        	        	        // MySQL.g:925:19: ( fields )?
        	        	        {
        	        	            int alt281=2;
        	        	            {
        	        	                int LA281_0 = LA(1);
        	        	                if ( (LA281_0 == BACK_TICK_QUOTED_ID || LA281_0 == IDENTIFIER))
        	        	                {
        	        	                    alt281=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA281_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt281=1;
        	        	                }
        	        	                else if ( (((LA281_0 >= ASCII_SYMBOL) && (LA281_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt281=1;
        	        	                }
        	        	            }
        	        	            switch (alt281)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:925:19: fields
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_fields_in_insert_field_spec4517);
        	        	        	        fields839=fields(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleinsert_field_specEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fields839.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        CLOSE_PAR_SYMBOL840 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec4520);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_field_specEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CLOSE_PAR_SYMBOL840_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL840));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL840_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_insert_values_in_insert_field_spec4524);
        	        insert_values841=insert_values(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_field_specEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_values841.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:926:4: SET_SYMBOL column_assignment_list_with_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL842 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_insert_field_spec4529);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_field_specEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL842_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL842));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL842_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_insert_field_spec4531);
        	        column_assignment_list_with_default843=column_assignment_list_with_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_field_specEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_assignment_list_with_default843.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_field_specEx; /* Prevent compiler warnings */
    ruleinsert_field_specEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end insert_field_spec */

/**
 * $ANTLR start fields
 * MySQL.g:929:1: fields : insert_identifier ( COMMA_SYMBOL insert_identifier )* ;
 */
static MySQLParser_fields_return
fields(pMySQLParser ctx)
{
    MySQLParser_fields_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL845;
    MySQLParser_insert_identifier_return insert_identifier844;
    #undef	RETURN_TYPE_insert_identifier844
    #define	RETURN_TYPE_insert_identifier844 MySQLParser_insert_identifier_return

    MySQLParser_insert_identifier_return insert_identifier846;
    #undef	RETURN_TYPE_insert_identifier846
    #define	RETURN_TYPE_insert_identifier846 MySQLParser_insert_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL845_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL845       = NULL;
    insert_identifier844.tree = NULL;

    insert_identifier846.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL845_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:929:7: ( insert_identifier ( COMMA_SYMBOL insert_identifier )* )
        // MySQL.g:930:2: insert_identifier ( COMMA_SYMBOL insert_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_insert_identifier_in_fields4540);
            insert_identifier844=insert_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefieldsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_identifier844.tree);

            // MySQL.g:930:20: ( COMMA_SYMBOL insert_identifier )*

            for (;;)
            {
                int alt284=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt284=1;
                	}
                    break;

                }

                switch (alt284)
                {
            	case 1:
            	    // MySQL.g:930:21: COMMA_SYMBOL insert_identifier
            	    {
            	        COMMA_SYMBOL845 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_fields4543);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefieldsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL845_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL845));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL845_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_insert_identifier_in_fields4545);
            	        insert_identifier846=insert_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefieldsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_identifier846.tree);

            	    }
            	    break;

            	default:
            	    goto loop284;	/* break out of the loop */
            	    break;
                }
            }
            loop284: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefieldsEx; /* Prevent compiler warnings */
    rulefieldsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end fields */

/**
 * $ANTLR start insert_identifier
 * MySQL.g:933:1: insert_identifier : column_ref_with_wildcard -> ^( COLUMN_NAME_TOKEN column_ref_with_wildcard ) ;
 */
static MySQLParser_insert_identifier_return
insert_identifier(pMySQLParser ctx)
{
    MySQLParser_insert_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_column_ref_with_wildcard_return column_ref_with_wildcard847;
    #undef	RETURN_TYPE_column_ref_with_wildcard847
    #define	RETURN_TYPE_column_ref_with_wildcard847 MySQLParser_column_ref_with_wildcard_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_column_ref_with_wildcard;
    /* Initialize rule variables
     */

    root_0 = NULL;

    column_ref_with_wildcard847.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_column_ref_with_wildcard   = NULL;
    #define CREATE_stream_column_ref_with_wildcard  if (stream_column_ref_with_wildcard == NULL) {stream_column_ref_with_wildcard = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule column_ref_with_wildcard"); }

    retval.tree  = NULL;

    {
        // MySQL.g:933:18: ( column_ref_with_wildcard -> ^( COLUMN_NAME_TOKEN column_ref_with_wildcard ) )
        // MySQL.g:934:2: column_ref_with_wildcard
        {
            FOLLOWPUSH(FOLLOW_column_ref_with_wildcard_in_insert_identifier4556);
            column_ref_with_wildcard847=column_ref_with_wildcard(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_identifierEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_column_ref_with_wildcard; stream_column_ref_with_wildcard->add(stream_column_ref_with_wildcard, column_ref_with_wildcard847.tree, NULL); }

            /* AST REWRITE
             * elements          : column_ref_with_wildcard
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 934:27: -> ^( COLUMN_NAME_TOKEN column_ref_with_wildcard )
            	{
            	    // MySQL.g:934:30: ^( COLUMN_NAME_TOKEN column_ref_with_wildcard )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_NAME_TOKEN, (pANTLR3_UINT8)"COLUMN_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_column_ref_with_wildcard == NULL ? NULL : stream_column_ref_with_wildcard->nextTree(stream_column_ref_with_wildcard));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_identifierEx; /* Prevent compiler warnings */
    ruleinsert_identifierEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_column_ref_with_wildcard != NULL) stream_column_ref_with_wildcard->free(stream_column_ref_with_wildcard);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end insert_identifier */

/**
 * $ANTLR start insert_values
 * MySQL.g:937:1: insert_values : ( ( VALUES_SYMBOL | VALUE_SYMBOL ) insert_value_list | create_select ( union_clause )? | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? );
 */
static MySQLParser_insert_values_return
insert_values(pMySQLParser ctx)
{
    MySQLParser_insert_values_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set848;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL852;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL854;
    MySQLParser_insert_value_list_return insert_value_list849;
    #undef	RETURN_TYPE_insert_value_list849
    #define	RETURN_TYPE_insert_value_list849 MySQLParser_insert_value_list_return

    MySQLParser_create_select_return create_select850;
    #undef	RETURN_TYPE_create_select850
    #define	RETURN_TYPE_create_select850 MySQLParser_create_select_return

    MySQLParser_union_clause_return union_clause851;
    #undef	RETURN_TYPE_union_clause851
    #define	RETURN_TYPE_union_clause851 MySQLParser_union_clause_return

    MySQLParser_create_select_return create_select853;
    #undef	RETURN_TYPE_create_select853
    #define	RETURN_TYPE_create_select853 MySQLParser_create_select_return

    MySQLParser_union_or_order_by_or_limit_return union_or_order_by_or_limit855;
    #undef	RETURN_TYPE_union_or_order_by_or_limit855
    #define	RETURN_TYPE_union_or_order_by_or_limit855 MySQLParser_union_or_order_by_or_limit_return

    pANTLR3_BASE_TREE set848_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL852_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL854_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set848       = NULL;
    OPEN_PAR_SYMBOL852       = NULL;
    CLOSE_PAR_SYMBOL854       = NULL;
    insert_value_list849.tree = NULL;

    create_select850.tree = NULL;

    union_clause851.tree = NULL;

    create_select853.tree = NULL;

    union_or_order_by_or_limit855.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set848_tree   = NULL;
    OPEN_PAR_SYMBOL852_tree   = NULL;
    CLOSE_PAR_SYMBOL854_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:937:14: ( ( VALUES_SYMBOL | VALUE_SYMBOL ) insert_value_list | create_select ( union_clause )? | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? )

            ANTLR3_UINT32 alt287;

            alt287=3;

            switch ( LA(1) )
            {
            case VALUE_SYMBOL:
            case VALUES_SYMBOL:
            	{
            		alt287=1;
            	}
                break;
            case SELECT_SYMBOL:
            	{
            		alt287=2;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt287=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 287;
                EXCEPTION->state        = 0;


                goto ruleinsert_valuesEx;

            }

            switch (alt287)
            {
        	case 1:
        	    // MySQL.g:938:2: ( VALUES_SYMBOL | VALUE_SYMBOL ) insert_value_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set848=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == VALUE_SYMBOL || LA(1) == VALUES_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set848))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleinsert_valuesEx;
        	        }


        	        FOLLOWPUSH(FOLLOW_insert_value_list_in_insert_values4581);
        	        insert_value_list849=insert_value_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_value_list849.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:939:4: create_select ( union_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_select_in_insert_values4586);
        	        create_select850=create_select(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select850.tree);

        	        // MySQL.g:939:18: ( union_clause )?
        	        {
        	            int alt285=2;
        	            switch ( LA(1) )
        	            {
        	                case UNION_SYMBOL:
        	                	{
        	                		alt285=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt285)
        	            {
        	        	case 1:
        	        	    // MySQL.g:939:18: union_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_insert_values4588);
        	        	        union_clause851=union_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_valuesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause851.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:940:4: OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL852 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_insert_values4594);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL852_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL852));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL852_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_create_select_in_insert_values4596);
        	        create_select853=create_select(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select853.tree);

        	        CLOSE_PAR_SYMBOL854 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values4598);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL854_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL854));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL854_tree);
        	        }

        	        // MySQL.g:940:51: ( union_or_order_by_or_limit )?
        	        {
        	            int alt286=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                case ORDER_SYMBOL:
        	                case UNION_SYMBOL:
        	                	{
        	                		alt286=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt286)
        	            {
        	        	case 1:
        	        	    // MySQL.g:940:51: union_or_order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_insert_values4600);
        	        	        union_or_order_by_or_limit855=union_or_order_by_or_limit(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_valuesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_or_order_by_or_limit855.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_valuesEx; /* Prevent compiler warnings */
    ruleinsert_valuesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end insert_values */

/**
 * $ANTLR start insert_value_list
 * MySQL.g:943:1: insert_value_list : OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL ( COMMA_SYMBOL OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL )* ;
 */
static MySQLParser_insert_value_list_return
insert_value_list(pMySQLParser ctx)
{
    MySQLParser_insert_value_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL856;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL858;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL859;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL860;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL862;
    MySQLParser_values_return values857;
    #undef	RETURN_TYPE_values857
    #define	RETURN_TYPE_values857 MySQLParser_values_return

    MySQLParser_values_return values861;
    #undef	RETURN_TYPE_values861
    #define	RETURN_TYPE_values861 MySQLParser_values_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL856_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL858_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL859_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL860_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL862_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL856       = NULL;
    CLOSE_PAR_SYMBOL858       = NULL;
    COMMA_SYMBOL859       = NULL;
    OPEN_PAR_SYMBOL860       = NULL;
    CLOSE_PAR_SYMBOL862       = NULL;
    values857.tree = NULL;

    values861.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL856_tree   = NULL;
    CLOSE_PAR_SYMBOL858_tree   = NULL;
    COMMA_SYMBOL859_tree   = NULL;
    OPEN_PAR_SYMBOL860_tree   = NULL;
    CLOSE_PAR_SYMBOL862_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:943:18: ( OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL ( COMMA_SYMBOL OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL )* )
        // MySQL.g:944:2: OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL ( COMMA_SYMBOL OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL856 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4610);
            if  (HASEXCEPTION())
            {
                goto ruleinsert_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL856_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL856));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL856_tree);
            }

            // MySQL.g:944:18: ( values )?
            {
                int alt288=2;
                {
                    int LA288_0 = LA(1);
                    if ( (LA288_0 == BITWISE_NOT_OPERATOR || LA288_0 == INTERVAL_SYMBOL || LA288_0 == LOGICAL_NOT_OPERATOR || LA288_0 == MINUS_OPERATOR || LA288_0 == NCHAR_TEXT || LA288_0 == NOT2_SYMBOL || LA288_0 == NOT_SYMBOL || LA288_0 == PLUS_OPERATOR || LA288_0 == SINGLE_QUOTED_TEXT || LA288_0 == UNDERSCORE_CHARSET))
                    {
                        alt288=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA288_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt288=1;
                    }
                    else if ( (LA288_0 == FALSE_SYMBOL || LA288_0 == FLOAT || ((LA288_0 >= HEXNUMBER) && (LA288_0 <= HEXSTRING)) || LA288_0 == INTEGER || LA288_0 == TRUE_SYMBOL))
                    {
                        alt288=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA288_0 >= BITNUMBER) && (LA288_0 <= BITSTRING))))
                    {
                        alt288=1;
                    }
                    else if ( (((LA288_0 >= ASCII_SYMBOL) && (LA288_0 <= YEAR_SYMBOL)) || ((LA288_0 >= AT_AT_SIGN_SYMBOL) && (LA288_0 <= AT_TEXT_SUFFIX)) || LA288_0 == BACK_TICK_QUOTED_ID || LA288_0 == BINARY_SYMBOL || ((LA288_0 >= BIT_AND_SYMBOL) && (LA288_0 <= BIT_XOR_SYMBOL)) || ((LA288_0 >= CASE_SYMBOL) && (LA288_0 <= CAST_SYMBOL)) || LA288_0 == CHAR_SYMBOL || ((LA288_0 >= CONVERT_SYMBOL) && (LA288_0 <= COUNT_SYMBOL)) || LA288_0 == CURDATE_SYMBOL || LA288_0 == CURRENT_USER_SYMBOL || LA288_0 == CURTIME_SYMBOL || LA288_0 == DATABASE_SYMBOL || LA288_0 == DATE_ADD_SYMBOL || LA288_0 == DATE_SUB_SYMBOL || LA288_0 == DEFAULT_SYMBOL || LA288_0 == EXISTS_SYMBOL || LA288_0 == EXTRACT_SYMBOL || LA288_0 == GROUP_CONCAT_SYMBOL || ((LA288_0 >= IDENTIFIER) && (LA288_0 <= IF_SYMBOL)) || LA288_0 == INSERT_SYMBOL || LA288_0 == LEFT_SYMBOL || LA288_0 == MATCH_SYMBOL || LA288_0 == MAX_SYMBOL || LA288_0 == MIN_SYMBOL || LA288_0 == MOD_SYMBOL || LA288_0 == NOW_SYMBOL || LA288_0 == NULL2_SYMBOL || LA288_0 == NULL_SYMBOL || ((LA288_0 >= OPEN_CURLY_SYMBOL) && (LA288_0 <= OPEN_PAR_SYMBOL)) || LA288_0 == PARAM_MARKER || LA288_0 == POSITION_SYMBOL || ((LA288_0 >= REPEAT_SYMBOL) && (LA288_0 <= REPLACE_SYMBOL)) || LA288_0 == RIGHT_SYMBOL || LA288_0 == STDDEV_SAMP_SYMBOL || LA288_0 == STD_SYMBOL || LA288_0 == SUBSTRING_SYMBOL || ((LA288_0 >= SUM_SYMBOL) && (LA288_0 <= SYSDATE_SYMBOL)) || LA288_0 == TRIM_SYMBOL || ((LA288_0 >= UTC_DATE_SYMBOL) && (LA288_0 <= UTC_TIME_SYMBOL)) || LA288_0 == VALUES_SYMBOL || LA288_0 == VARIANCE_SYMBOL || LA288_0 == VAR_SAMP_SYMBOL))
                    {
                        alt288=1;
                    }
                }
                switch (alt288)
                {
            	case 1:
            	    // MySQL.g:944:18: values
            	    {
            	        FOLLOWPUSH(FOLLOW_values_in_insert_value_list4612);
            	        values857=values(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, values857.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL858 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4615);
            if  (HASEXCEPTION())
            {
                goto ruleinsert_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL858_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL858));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL858_tree);
            }

            // MySQL.g:944:43: ( COMMA_SYMBOL OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL )*

            for (;;)
            {
                int alt290=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt290=1;
                	}
                    break;

                }

                switch (alt290)
                {
            	case 1:
            	    // MySQL.g:944:44: COMMA_SYMBOL OPEN_PAR_SYMBOL ( values )? CLOSE_PAR_SYMBOL
            	    {
            	        COMMA_SYMBOL859 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_insert_value_list4618);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL859_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL859));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL859_tree);
            	        }

            	        OPEN_PAR_SYMBOL860 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_insert_value_list4620);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL860_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL860));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL860_tree);
            	        }

            	        // MySQL.g:944:73: ( values )?
            	        {
            	            int alt289=2;
            	            {
            	                int LA289_0 = LA(1);
            	                if ( (LA289_0 == BITWISE_NOT_OPERATOR || LA289_0 == INTERVAL_SYMBOL || LA289_0 == LOGICAL_NOT_OPERATOR || LA289_0 == MINUS_OPERATOR || LA289_0 == NCHAR_TEXT || LA289_0 == NOT2_SYMBOL || LA289_0 == NOT_SYMBOL || LA289_0 == PLUS_OPERATOR || LA289_0 == SINGLE_QUOTED_TEXT || LA289_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt289=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA289_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt289=1;
            	                }
            	                else if ( (LA289_0 == FALSE_SYMBOL || LA289_0 == FLOAT || ((LA289_0 >= HEXNUMBER) && (LA289_0 <= HEXSTRING)) || LA289_0 == INTEGER || LA289_0 == TRUE_SYMBOL))
            	                {
            	                    alt289=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA289_0 >= BITNUMBER) && (LA289_0 <= BITSTRING))))
            	                {
            	                    alt289=1;
            	                }
            	                else if ( (((LA289_0 >= ASCII_SYMBOL) && (LA289_0 <= YEAR_SYMBOL)) || ((LA289_0 >= AT_AT_SIGN_SYMBOL) && (LA289_0 <= AT_TEXT_SUFFIX)) || LA289_0 == BACK_TICK_QUOTED_ID || LA289_0 == BINARY_SYMBOL || ((LA289_0 >= BIT_AND_SYMBOL) && (LA289_0 <= BIT_XOR_SYMBOL)) || ((LA289_0 >= CASE_SYMBOL) && (LA289_0 <= CAST_SYMBOL)) || LA289_0 == CHAR_SYMBOL || ((LA289_0 >= CONVERT_SYMBOL) && (LA289_0 <= COUNT_SYMBOL)) || LA289_0 == CURDATE_SYMBOL || LA289_0 == CURRENT_USER_SYMBOL || LA289_0 == CURTIME_SYMBOL || LA289_0 == DATABASE_SYMBOL || LA289_0 == DATE_ADD_SYMBOL || LA289_0 == DATE_SUB_SYMBOL || LA289_0 == DEFAULT_SYMBOL || LA289_0 == EXISTS_SYMBOL || LA289_0 == EXTRACT_SYMBOL || LA289_0 == GROUP_CONCAT_SYMBOL || ((LA289_0 >= IDENTIFIER) && (LA289_0 <= IF_SYMBOL)) || LA289_0 == INSERT_SYMBOL || LA289_0 == LEFT_SYMBOL || LA289_0 == MATCH_SYMBOL || LA289_0 == MAX_SYMBOL || LA289_0 == MIN_SYMBOL || LA289_0 == MOD_SYMBOL || LA289_0 == NOW_SYMBOL || LA289_0 == NULL2_SYMBOL || LA289_0 == NULL_SYMBOL || ((LA289_0 >= OPEN_CURLY_SYMBOL) && (LA289_0 <= OPEN_PAR_SYMBOL)) || LA289_0 == PARAM_MARKER || LA289_0 == POSITION_SYMBOL || ((LA289_0 >= REPEAT_SYMBOL) && (LA289_0 <= REPLACE_SYMBOL)) || LA289_0 == RIGHT_SYMBOL || LA289_0 == STDDEV_SAMP_SYMBOL || LA289_0 == STD_SYMBOL || LA289_0 == SUBSTRING_SYMBOL || ((LA289_0 >= SUM_SYMBOL) && (LA289_0 <= SYSDATE_SYMBOL)) || LA289_0 == TRIM_SYMBOL || ((LA289_0 >= UTC_DATE_SYMBOL) && (LA289_0 <= UTC_TIME_SYMBOL)) || LA289_0 == VALUES_SYMBOL || LA289_0 == VARIANCE_SYMBOL || LA289_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt289=1;
            	                }
            	            }
            	            switch (alt289)
            	            {
            	        	case 1:
            	        	    // MySQL.g:944:73: values
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_values_in_insert_value_list4622);
            	        	        values861=values(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinsert_value_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, values861.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        CLOSE_PAR_SYMBOL862 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_insert_value_list4625);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL862_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL862));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL862_tree);
            	        }

            	    }
            	    break;

            	default:
            	    goto loop290;	/* break out of the loop */
            	    break;
                }
            }
            loop290: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_value_listEx; /* Prevent compiler warnings */
    ruleinsert_value_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end insert_value_list */

/**
 * $ANTLR start values
 * MySQL.g:947:1: values : ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* ;
 */
static MySQLParser_values_return
values(pMySQLParser ctx)
{
    MySQLParser_values_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL864;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL865;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL867;
    MySQLParser_expression_return expression863;
    #undef	RETURN_TYPE_expression863
    #define	RETURN_TYPE_expression863 MySQLParser_expression_return

    MySQLParser_expression_return expression866;
    #undef	RETURN_TYPE_expression866
    #define	RETURN_TYPE_expression866 MySQLParser_expression_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL864_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL865_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL867_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL864       = NULL;
    COMMA_SYMBOL865       = NULL;
    DEFAULT_SYMBOL867       = NULL;
    expression863.tree = NULL;

    expression866.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL864_tree   = NULL;
    COMMA_SYMBOL865_tree   = NULL;
    DEFAULT_SYMBOL867_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:947:7: ( ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* )
        // MySQL.g:948:2: ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:948:2: ( expression | DEFAULT_SYMBOL )
            {
                int alt291=2;
                {
                    int LA291_0 = LA(1);
                    if ( (LA291_0 == BITWISE_NOT_OPERATOR || LA291_0 == INTERVAL_SYMBOL || LA291_0 == LOGICAL_NOT_OPERATOR || LA291_0 == MINUS_OPERATOR || LA291_0 == NCHAR_TEXT || LA291_0 == NOT2_SYMBOL || LA291_0 == NOT_SYMBOL || LA291_0 == PLUS_OPERATOR || LA291_0 == SINGLE_QUOTED_TEXT || LA291_0 == UNDERSCORE_CHARSET))
                    {
                        alt291=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA291_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt291=1;
                    }
                    else if ( (LA291_0 == FALSE_SYMBOL || LA291_0 == FLOAT || ((LA291_0 >= HEXNUMBER) && (LA291_0 <= HEXSTRING)) || LA291_0 == INTEGER || LA291_0 == TRUE_SYMBOL))
                    {
                        alt291=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA291_0 >= BITNUMBER) && (LA291_0 <= BITSTRING))))
                    {
                        alt291=1;
                    }
                    else if ( (((LA291_0 >= ASCII_SYMBOL) && (LA291_0 <= YEAR_SYMBOL)) || ((LA291_0 >= AT_AT_SIGN_SYMBOL) && (LA291_0 <= AT_TEXT_SUFFIX)) || LA291_0 == BACK_TICK_QUOTED_ID || LA291_0 == BINARY_SYMBOL || ((LA291_0 >= BIT_AND_SYMBOL) && (LA291_0 <= BIT_XOR_SYMBOL)) || ((LA291_0 >= CASE_SYMBOL) && (LA291_0 <= CAST_SYMBOL)) || LA291_0 == CHAR_SYMBOL || ((LA291_0 >= CONVERT_SYMBOL) && (LA291_0 <= COUNT_SYMBOL)) || LA291_0 == CURDATE_SYMBOL || LA291_0 == CURRENT_USER_SYMBOL || LA291_0 == CURTIME_SYMBOL || LA291_0 == DATABASE_SYMBOL || LA291_0 == DATE_ADD_SYMBOL || LA291_0 == DATE_SUB_SYMBOL || LA291_0 == EXISTS_SYMBOL || LA291_0 == EXTRACT_SYMBOL || LA291_0 == GROUP_CONCAT_SYMBOL || ((LA291_0 >= IDENTIFIER) && (LA291_0 <= IF_SYMBOL)) || LA291_0 == INSERT_SYMBOL || LA291_0 == LEFT_SYMBOL || LA291_0 == MATCH_SYMBOL || LA291_0 == MAX_SYMBOL || LA291_0 == MIN_SYMBOL || LA291_0 == MOD_SYMBOL || LA291_0 == NOW_SYMBOL || LA291_0 == NULL2_SYMBOL || LA291_0 == NULL_SYMBOL || ((LA291_0 >= OPEN_CURLY_SYMBOL) && (LA291_0 <= OPEN_PAR_SYMBOL)) || LA291_0 == PARAM_MARKER || LA291_0 == POSITION_SYMBOL || ((LA291_0 >= REPEAT_SYMBOL) && (LA291_0 <= REPLACE_SYMBOL)) || LA291_0 == RIGHT_SYMBOL || LA291_0 == STDDEV_SAMP_SYMBOL || LA291_0 == STD_SYMBOL || LA291_0 == SUBSTRING_SYMBOL || ((LA291_0 >= SUM_SYMBOL) && (LA291_0 <= SYSDATE_SYMBOL)) || LA291_0 == TRIM_SYMBOL || ((LA291_0 >= UTC_DATE_SYMBOL) && (LA291_0 <= UTC_TIME_SYMBOL)) || LA291_0 == VALUES_SYMBOL || LA291_0 == VARIANCE_SYMBOL || LA291_0 == VAR_SAMP_SYMBOL))
                    {
                        alt291=1;
                    }
                    else if ( (LA291_0 == DEFAULT_SYMBOL))
                    {
                        alt291=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 291;
                        EXCEPTION->state        = 0;


                        goto rulevaluesEx;

                    }
                }
                switch (alt291)
                {
            	case 1:
            	    // MySQL.g:948:3: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_values4637);
            	        expression863=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevaluesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression863.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:948:16: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL864 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_values4641);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevaluesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL864_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL864));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL864_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:948:32: ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )*

            for (;;)
            {
                int alt293=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt293=1;
                	}
                    break;

                }

                switch (alt293)
                {
            	case 1:
            	    // MySQL.g:948:33: COMMA_SYMBOL ( expression | DEFAULT_SYMBOL )
            	    {
            	        COMMA_SYMBOL865 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_values4645);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevaluesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL865_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL865));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL865_tree);
            	        }

            	        // MySQL.g:948:46: ( expression | DEFAULT_SYMBOL )
            	        {
            	            int alt292=2;
            	            {
            	                int LA292_0 = LA(1);
            	                if ( (LA292_0 == BITWISE_NOT_OPERATOR || LA292_0 == INTERVAL_SYMBOL || LA292_0 == LOGICAL_NOT_OPERATOR || LA292_0 == MINUS_OPERATOR || LA292_0 == NCHAR_TEXT || LA292_0 == NOT2_SYMBOL || LA292_0 == NOT_SYMBOL || LA292_0 == PLUS_OPERATOR || LA292_0 == SINGLE_QUOTED_TEXT || LA292_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt292=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA292_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt292=1;
            	                }
            	                else if ( (LA292_0 == FALSE_SYMBOL || LA292_0 == FLOAT || ((LA292_0 >= HEXNUMBER) && (LA292_0 <= HEXSTRING)) || LA292_0 == INTEGER || LA292_0 == TRUE_SYMBOL))
            	                {
            	                    alt292=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA292_0 >= BITNUMBER) && (LA292_0 <= BITSTRING))))
            	                {
            	                    alt292=1;
            	                }
            	                else if ( (((LA292_0 >= ASCII_SYMBOL) && (LA292_0 <= YEAR_SYMBOL)) || ((LA292_0 >= AT_AT_SIGN_SYMBOL) && (LA292_0 <= AT_TEXT_SUFFIX)) || LA292_0 == BACK_TICK_QUOTED_ID || LA292_0 == BINARY_SYMBOL || ((LA292_0 >= BIT_AND_SYMBOL) && (LA292_0 <= BIT_XOR_SYMBOL)) || ((LA292_0 >= CASE_SYMBOL) && (LA292_0 <= CAST_SYMBOL)) || LA292_0 == CHAR_SYMBOL || ((LA292_0 >= CONVERT_SYMBOL) && (LA292_0 <= COUNT_SYMBOL)) || LA292_0 == CURDATE_SYMBOL || LA292_0 == CURRENT_USER_SYMBOL || LA292_0 == CURTIME_SYMBOL || LA292_0 == DATABASE_SYMBOL || LA292_0 == DATE_ADD_SYMBOL || LA292_0 == DATE_SUB_SYMBOL || LA292_0 == EXISTS_SYMBOL || LA292_0 == EXTRACT_SYMBOL || LA292_0 == GROUP_CONCAT_SYMBOL || ((LA292_0 >= IDENTIFIER) && (LA292_0 <= IF_SYMBOL)) || LA292_0 == INSERT_SYMBOL || LA292_0 == LEFT_SYMBOL || LA292_0 == MATCH_SYMBOL || LA292_0 == MAX_SYMBOL || LA292_0 == MIN_SYMBOL || LA292_0 == MOD_SYMBOL || LA292_0 == NOW_SYMBOL || LA292_0 == NULL2_SYMBOL || LA292_0 == NULL_SYMBOL || ((LA292_0 >= OPEN_CURLY_SYMBOL) && (LA292_0 <= OPEN_PAR_SYMBOL)) || LA292_0 == PARAM_MARKER || LA292_0 == POSITION_SYMBOL || ((LA292_0 >= REPEAT_SYMBOL) && (LA292_0 <= REPLACE_SYMBOL)) || LA292_0 == RIGHT_SYMBOL || LA292_0 == STDDEV_SAMP_SYMBOL || LA292_0 == STD_SYMBOL || LA292_0 == SUBSTRING_SYMBOL || ((LA292_0 >= SUM_SYMBOL) && (LA292_0 <= SYSDATE_SYMBOL)) || LA292_0 == TRIM_SYMBOL || ((LA292_0 >= UTC_DATE_SYMBOL) && (LA292_0 <= UTC_TIME_SYMBOL)) || LA292_0 == VALUES_SYMBOL || LA292_0 == VARIANCE_SYMBOL || LA292_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt292=1;
            	                }
            	                else if ( (LA292_0 == DEFAULT_SYMBOL))
            	                {
            	                    alt292=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 292;
            	                    EXCEPTION->state        = 0;


            	                    goto rulevaluesEx;

            	                }
            	            }
            	            switch (alt292)
            	            {
            	        	case 1:
            	        	    // MySQL.g:948:47: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_values4648);
            	        	        expression866=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulevaluesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression866.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:948:60: DEFAULT_SYMBOL
            	        	    {
            	        	        DEFAULT_SYMBOL867 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_values4652);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulevaluesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DEFAULT_SYMBOL867_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL867));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL867_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop293;	/* break out of the loop */
            	    break;
                }
            }
            loop293: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulevaluesEx; /* Prevent compiler warnings */
    rulevaluesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end values */

/**
 * $ANTLR start duplicate_key_update
 * MySQL.g:951:1: duplicate_key_update : ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment_list_with_default ;
 */
static MySQLParser_duplicate_key_update_return
duplicate_key_update(pMySQLParser ctx)
{
    MySQLParser_duplicate_key_update_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ON_SYMBOL868;
    pANTLR3_COMMON_TOKEN    DUPLICATE_SYMBOL869;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL870;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL871;
    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default872;
    #undef	RETURN_TYPE_column_assignment_list_with_default872
    #define	RETURN_TYPE_column_assignment_list_with_default872 MySQLParser_column_assignment_list_with_default_return

    pANTLR3_BASE_TREE ON_SYMBOL868_tree;
    pANTLR3_BASE_TREE DUPLICATE_SYMBOL869_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL870_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL871_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL868       = NULL;
    DUPLICATE_SYMBOL869       = NULL;
    KEY_SYMBOL870       = NULL;
    UPDATE_SYMBOL871       = NULL;
    column_assignment_list_with_default872.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL868_tree   = NULL;
    DUPLICATE_SYMBOL869_tree   = NULL;
    KEY_SYMBOL870_tree   = NULL;
    UPDATE_SYMBOL871_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:951:21: ( ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment_list_with_default )
        // MySQL.g:952:2: ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment_list_with_default
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ON_SYMBOL868 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_duplicate_key_update4664);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL868_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL868));
            ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL868_tree);
            }

            DUPLICATE_SYMBOL869 = (pANTLR3_COMMON_TOKEN) MATCHT(DUPLICATE_SYMBOL, &FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update4666);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DUPLICATE_SYMBOL869_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DUPLICATE_SYMBOL869));
            ADAPTOR->addChild(ADAPTOR, root_0, DUPLICATE_SYMBOL869_tree);
            }

            KEY_SYMBOL870 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_duplicate_key_update4668);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            KEY_SYMBOL870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL870));
            ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL870_tree);
            }

            UPDATE_SYMBOL871 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update4670);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UPDATE_SYMBOL871_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL871));
            ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL871_tree);
            }

            FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_duplicate_key_update4672);
            column_assignment_list_with_default872=column_assignment_list_with_default(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_assignment_list_with_default872.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleduplicate_key_updateEx; /* Prevent compiler warnings */
    ruleduplicate_key_updateEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end duplicate_key_update */

/**
 * $ANTLR start load_statement
 * MySQL.g:957:1: load_statement : LOAD_SYMBOL ^ data_or_xml ( LOW_PRIORITY_SYMBOL | CONCURRENT_SYMBOL )? ( LOCAL_SYMBOL )? INFILE_SYMBOL string_literal ( REPLACE_SYMBOL | IGNORE_SYMBOL )? INTO_SYMBOL TABLE_SYMBOL table_ref ( use_partition )? ( charset_clause )? ( xml_rows_identified_by )? ( fields_clause )? ( lines_clause )? load_data_file_tail ;
 */
static MySQLParser_load_statement_return
load_statement(pMySQLParser ctx)
{
    MySQLParser_load_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOAD_SYMBOL873;
    pANTLR3_COMMON_TOKEN    set875;
    pANTLR3_COMMON_TOKEN    LOCAL_SYMBOL876;
    pANTLR3_COMMON_TOKEN    INFILE_SYMBOL877;
    pANTLR3_COMMON_TOKEN    set879;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL880;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL881;
    MySQLParser_data_or_xml_return data_or_xml874;
    #undef	RETURN_TYPE_data_or_xml874
    #define	RETURN_TYPE_data_or_xml874 MySQLParser_data_or_xml_return

    MySQLParser_string_literal_return string_literal878;
    #undef	RETURN_TYPE_string_literal878
    #define	RETURN_TYPE_string_literal878 MySQLParser_string_literal_return

    MySQLParser_table_ref_return table_ref882;
    #undef	RETURN_TYPE_table_ref882
    #define	RETURN_TYPE_table_ref882 MySQLParser_table_ref_return

    MySQLParser_use_partition_return use_partition883;
    #undef	RETURN_TYPE_use_partition883
    #define	RETURN_TYPE_use_partition883 MySQLParser_use_partition_return

    MySQLParser_charset_clause_return charset_clause884;
    #undef	RETURN_TYPE_charset_clause884
    #define	RETURN_TYPE_charset_clause884 MySQLParser_charset_clause_return

    MySQLParser_xml_rows_identified_by_return xml_rows_identified_by885;
    #undef	RETURN_TYPE_xml_rows_identified_by885
    #define	RETURN_TYPE_xml_rows_identified_by885 MySQLParser_xml_rows_identified_by_return

    MySQLParser_fields_clause_return fields_clause886;
    #undef	RETURN_TYPE_fields_clause886
    #define	RETURN_TYPE_fields_clause886 MySQLParser_fields_clause_return

    MySQLParser_lines_clause_return lines_clause887;
    #undef	RETURN_TYPE_lines_clause887
    #define	RETURN_TYPE_lines_clause887 MySQLParser_lines_clause_return

    MySQLParser_load_data_file_tail_return load_data_file_tail888;
    #undef	RETURN_TYPE_load_data_file_tail888
    #define	RETURN_TYPE_load_data_file_tail888 MySQLParser_load_data_file_tail_return

    pANTLR3_BASE_TREE LOAD_SYMBOL873_tree;
    pANTLR3_BASE_TREE set875_tree;
    pANTLR3_BASE_TREE LOCAL_SYMBOL876_tree;
    pANTLR3_BASE_TREE INFILE_SYMBOL877_tree;
    pANTLR3_BASE_TREE set879_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL880_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL881_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOAD_SYMBOL873       = NULL;
    set875       = NULL;
    LOCAL_SYMBOL876       = NULL;
    INFILE_SYMBOL877       = NULL;
    set879       = NULL;
    INTO_SYMBOL880       = NULL;
    TABLE_SYMBOL881       = NULL;
    data_or_xml874.tree = NULL;

    string_literal878.tree = NULL;

    table_ref882.tree = NULL;

    use_partition883.tree = NULL;

    charset_clause884.tree = NULL;

    xml_rows_identified_by885.tree = NULL;

    fields_clause886.tree = NULL;

    lines_clause887.tree = NULL;

    load_data_file_tail888.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOAD_SYMBOL873_tree   = NULL;
    set875_tree   = NULL;
    LOCAL_SYMBOL876_tree   = NULL;
    INFILE_SYMBOL877_tree   = NULL;
    set879_tree   = NULL;
    INTO_SYMBOL880_tree   = NULL;
    TABLE_SYMBOL881_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:957:15: ( LOAD_SYMBOL ^ data_or_xml ( LOW_PRIORITY_SYMBOL | CONCURRENT_SYMBOL )? ( LOCAL_SYMBOL )? INFILE_SYMBOL string_literal ( REPLACE_SYMBOL | IGNORE_SYMBOL )? INTO_SYMBOL TABLE_SYMBOL table_ref ( use_partition )? ( charset_clause )? ( xml_rows_identified_by )? ( fields_clause )? ( lines_clause )? load_data_file_tail )
        // MySQL.g:958:2: LOAD_SYMBOL ^ data_or_xml ( LOW_PRIORITY_SYMBOL | CONCURRENT_SYMBOL )? ( LOCAL_SYMBOL )? INFILE_SYMBOL string_literal ( REPLACE_SYMBOL | IGNORE_SYMBOL )? INTO_SYMBOL TABLE_SYMBOL table_ref ( use_partition )? ( charset_clause )? ( xml_rows_identified_by )? ( fields_clause )? ( lines_clause )? load_data_file_tail
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOAD_SYMBOL873 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_load_statement4683);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOAD_SYMBOL873_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOAD_SYMBOL873))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOAD_SYMBOL873_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_data_or_xml_in_load_statement4686);
            data_or_xml874=data_or_xml(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_or_xml874.tree);

            // MySQL.g:958:27: ( LOW_PRIORITY_SYMBOL | CONCURRENT_SYMBOL )?
            {
                int alt294=2;
                switch ( LA(1) )
                {
                    case CONCURRENT_SYMBOL:
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt294=1;
                    	}
                        break;
                }

                switch (alt294)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set875=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == CONCURRENT_SYMBOL || LA(1) == LOW_PRIORITY_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set875))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleload_statementEx;
            	        }


            	    }
            	    break;

                }
            }

            // MySQL.g:958:70: ( LOCAL_SYMBOL )?
            {
                int alt295=2;
                switch ( LA(1) )
                {
                    case LOCAL_SYMBOL:
                    	{
                    		alt295=1;
                    	}
                        break;
                }

                switch (alt295)
                {
            	case 1:
            	    // MySQL.g:958:70: LOCAL_SYMBOL
            	    {
            	        LOCAL_SYMBOL876 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_load_statement4697);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOCAL_SYMBOL876_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL876));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL876_tree);
            	        }

            	    }
            	    break;

                }
            }

            INFILE_SYMBOL877 = (pANTLR3_COMMON_TOKEN) MATCHT(INFILE_SYMBOL, &FOLLOW_INFILE_SYMBOL_in_load_statement4700);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INFILE_SYMBOL877_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INFILE_SYMBOL877));
            ADAPTOR->addChild(ADAPTOR, root_0, INFILE_SYMBOL877_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_load_statement4702);
            string_literal878=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal878.tree);

            // MySQL.g:959:3: ( REPLACE_SYMBOL | IGNORE_SYMBOL )?
            {
                int alt296=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    case REPLACE_SYMBOL:
                    	{
                    		alt296=1;
                    	}
                        break;
                }

                switch (alt296)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set879=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == IGNORE_SYMBOL || LA(1) == REPLACE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set879))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleload_statementEx;
            	        }


            	    }
            	    break;

                }
            }

            INTO_SYMBOL880 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_load_statement4715);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL880_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL880));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL880_tree);
            }

            TABLE_SYMBOL881 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_load_statement4717);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TABLE_SYMBOL881_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL881));
            ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL881_tree);
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_load_statement4719);
            table_ref882=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref882.tree);

            // MySQL.g:960:3: ( use_partition )?
            {
                int alt297=2;
                {
                    int LA297_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50602)) && (LA297_0 == PARTITION_SYMBOL))
                    {
                        alt297=1;
                    }
                }
                switch (alt297)
                {
            	case 1:
            	    // MySQL.g:960:3: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_load_statement4723);
            	        use_partition883=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition883.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:960:18: ( charset_clause )?
            {
                int alt298=2;
                switch ( LA(1) )
                {
                    case CHARSET_SYMBOL:
                    case CHAR_SYMBOL:
                    	{
                    		alt298=1;
                    	}
                        break;
                }

                switch (alt298)
                {
            	case 1:
            	    // MySQL.g:960:18: charset_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_charset_clause_in_load_statement4726);
            	        charset_clause884=charset_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause884.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:961:3: ( xml_rows_identified_by )?
            {
                int alt299=2;
                {
                    int LA299_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50500)) && (LA299_0 == ROWS_SYMBOL))
                    {
                        alt299=1;
                    }
                }
                switch (alt299)
                {
            	case 1:
            	    // MySQL.g:961:3: xml_rows_identified_by
            	    {
            	        FOLLOWPUSH(FOLLOW_xml_rows_identified_by_in_load_statement4731);
            	        xml_rows_identified_by885=xml_rows_identified_by(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xml_rows_identified_by885.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:962:3: ( fields_clause )?
            {
                int alt300=2;
                switch ( LA(1) )
                {
                    case COLUMNS_SYMBOL:
                    	{
                    		alt300=1;
                    	}
                        break;
                }

                switch (alt300)
                {
            	case 1:
            	    // MySQL.g:962:3: fields_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_fields_clause_in_load_statement4736);
            	        fields_clause886=fields_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fields_clause886.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:962:18: ( lines_clause )?
            {
                int alt301=2;
                switch ( LA(1) )
                {
                    case LINES_SYMBOL:
                    	{
                    		alt301=1;
                    	}
                        break;
                }

                switch (alt301)
                {
            	case 1:
            	    // MySQL.g:962:18: lines_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_lines_clause_in_load_statement4739);
            	        lines_clause887=lines_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lines_clause887.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_load_data_file_tail_in_load_statement4744);
            load_data_file_tail888=load_data_file_tail(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, load_data_file_tail888.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleload_statementEx; /* Prevent compiler warnings */
    ruleload_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end load_statement */

/**
 * $ANTLR start data_or_xml
 * MySQL.g:966:1: data_or_xml : ( DATA_SYMBOL |{...}? => XML_SYMBOL );
 */
static MySQLParser_data_or_xml_return
data_or_xml(pMySQLParser ctx)
{
    MySQLParser_data_or_xml_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DATA_SYMBOL889;
    pANTLR3_COMMON_TOKEN    XML_SYMBOL890;

    pANTLR3_BASE_TREE DATA_SYMBOL889_tree;
    pANTLR3_BASE_TREE XML_SYMBOL890_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATA_SYMBOL889       = NULL;
    XML_SYMBOL890       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATA_SYMBOL889_tree   = NULL;
    XML_SYMBOL890_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:966:12: ( DATA_SYMBOL |{...}? => XML_SYMBOL )

            ANTLR3_UINT32 alt302;

            alt302=2;

            {
                int LA302_0 = LA(1);
                if ( (LA302_0 == DATA_SYMBOL))
                {
                    alt302=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA302_0 == XML_SYMBOL))
                {
                    alt302=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 302;
                    EXCEPTION->state        = 0;


                    goto ruledata_or_xmlEx;

                }
            }
            switch (alt302)
            {
        	case 1:
        	    // MySQL.g:967:2: DATA_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATA_SYMBOL889 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_data_or_xml4753);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_or_xmlEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL889_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL889));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL889_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:968:4: {...}? => XML_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"data_or_xml";


        	        }

        	        XML_SYMBOL890 = (pANTLR3_COMMON_TOKEN) MATCHT(XML_SYMBOL, &FOLLOW_XML_SYMBOL_in_data_or_xml4762);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_or_xmlEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        XML_SYMBOL890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XML_SYMBOL890));
        	        ADAPTOR->addChild(ADAPTOR, root_0, XML_SYMBOL890_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruledata_or_xmlEx; /* Prevent compiler warnings */
    ruledata_or_xmlEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end data_or_xml */

/**
 * $ANTLR start xml_rows_identified_by
 * MySQL.g:971:1: xml_rows_identified_by :{...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_SYMBOL text_string ;
 */
static MySQLParser_xml_rows_identified_by_return
xml_rows_identified_by(pMySQLParser ctx)
{
    MySQLParser_xml_rows_identified_by_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ROWS_SYMBOL891;
    pANTLR3_COMMON_TOKEN    IDENTIFIED_SYMBOL892;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL893;
    MySQLParser_text_string_return text_string894;
    #undef	RETURN_TYPE_text_string894
    #define	RETURN_TYPE_text_string894 MySQLParser_text_string_return

    pANTLR3_BASE_TREE ROWS_SYMBOL891_tree;
    pANTLR3_BASE_TREE IDENTIFIED_SYMBOL892_tree;
    pANTLR3_BASE_TREE BY_SYMBOL893_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ROWS_SYMBOL891       = NULL;
    IDENTIFIED_SYMBOL892       = NULL;
    BY_SYMBOL893       = NULL;
    text_string894.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ROWS_SYMBOL891_tree   = NULL;
    IDENTIFIED_SYMBOL892_tree   = NULL;
    BY_SYMBOL893_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:971:23: ({...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_SYMBOL text_string )
        // MySQL.g:972:2: {...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_SYMBOL text_string
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50500)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
                    EXCEPTION->ruleName	 = (void *)"xml_rows_identified_by";


            }

            ROWS_SYMBOL891 = (pANTLR3_COMMON_TOKEN) MATCHT(ROWS_SYMBOL, &FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4775);
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ROWS_SYMBOL891_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROWS_SYMBOL891));
            ADAPTOR->addChild(ADAPTOR, root_0, ROWS_SYMBOL891_tree);
            }

            IDENTIFIED_SYMBOL892 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIED_SYMBOL, &FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4777);
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IDENTIFIED_SYMBOL892_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIED_SYMBOL892));
            ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIED_SYMBOL892_tree);
            }

            BY_SYMBOL893 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4779);
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL893_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL893));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL893_tree);
            }

            FOLLOWPUSH(FOLLOW_text_string_in_xml_rows_identified_by4781);
            text_string894=text_string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string894.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulexml_rows_identified_byEx; /* Prevent compiler warnings */
    rulexml_rows_identified_byEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end xml_rows_identified_by */

/**
 * $ANTLR start load_data_file_tail
 * MySQL.g:975:1: load_data_file_tail : ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )? ( load_data_file_target_list )? ( SET_SYMBOL column_assignment_list_with_default )? ;
 */
static MySQLParser_load_data_file_tail_return
load_data_file_tail(pMySQLParser ctx)
{
    MySQLParser_load_data_file_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL895;
    pANTLR3_COMMON_TOKEN    INTEGER896;
    pANTLR3_COMMON_TOKEN    set897;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL899;
    MySQLParser_load_data_file_target_list_return load_data_file_target_list898;
    #undef	RETURN_TYPE_load_data_file_target_list898
    #define	RETURN_TYPE_load_data_file_target_list898 MySQLParser_load_data_file_target_list_return

    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default900;
    #undef	RETURN_TYPE_column_assignment_list_with_default900
    #define	RETURN_TYPE_column_assignment_list_with_default900 MySQLParser_column_assignment_list_with_default_return

    pANTLR3_BASE_TREE IGNORE_SYMBOL895_tree;
    pANTLR3_BASE_TREE INTEGER896_tree;
    pANTLR3_BASE_TREE set897_tree;
    pANTLR3_BASE_TREE SET_SYMBOL899_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IGNORE_SYMBOL895       = NULL;
    INTEGER896       = NULL;
    set897       = NULL;
    SET_SYMBOL899       = NULL;
    load_data_file_target_list898.tree = NULL;

    column_assignment_list_with_default900.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IGNORE_SYMBOL895_tree   = NULL;
    INTEGER896_tree   = NULL;
    set897_tree   = NULL;
    SET_SYMBOL899_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:975:20: ( ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )? ( load_data_file_target_list )? ( SET_SYMBOL column_assignment_list_with_default )? )
        // MySQL.g:976:2: ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )? ( load_data_file_target_list )? ( SET_SYMBOL column_assignment_list_with_default )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:976:2: ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )?
            {
                int alt303=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt303=1;
                    	}
                        break;
                }

                switch (alt303)
                {
            	case 1:
            	    // MySQL.g:976:3: IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL )
            	    {
            	        IGNORE_SYMBOL895 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4791);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL895_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL895));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL895_tree);
            	        }

            	        INTEGER896 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_load_data_file_tail4793);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER896));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER896_tree);
            	        }

            	        set897=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == ROWS_SYMBOL || LA(1) == LINES_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set897))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleload_data_file_tailEx;
            	        }


            	    }
            	    break;

                }
            }

            // MySQL.g:976:56: ( load_data_file_target_list )?
            {
                int alt304=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt304=1;
                    	}
                        break;
                }

                switch (alt304)
                {
            	case 1:
            	    // MySQL.g:976:56: load_data_file_target_list
            	    {
            	        FOLLOWPUSH(FOLLOW_load_data_file_target_list_in_load_data_file_tail4805);
            	        load_data_file_target_list898=load_data_file_target_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, load_data_file_target_list898.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:976:84: ( SET_SYMBOL column_assignment_list_with_default )?
            {
                int alt305=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt305=1;
                    	}
                        break;
                }

                switch (alt305)
                {
            	case 1:
            	    // MySQL.g:976:85: SET_SYMBOL column_assignment_list_with_default
            	    {
            	        SET_SYMBOL899 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_load_data_file_tail4809);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL899_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL899));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL899_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4811);
            	        column_assignment_list_with_default900=column_assignment_list_with_default(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_assignment_list_with_default900.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleload_data_file_tailEx; /* Prevent compiler warnings */
    ruleload_data_file_tailEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end load_data_file_tail */

/**
 * $ANTLR start load_data_file_target_list
 * MySQL.g:979:1: load_data_file_target_list : OPEN_PAR_SYMBOL ( field_or_variable_list )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_load_data_file_target_list_return
load_data_file_target_list(pMySQLParser ctx)
{
    MySQLParser_load_data_file_target_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL901;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL903;
    MySQLParser_field_or_variable_list_return field_or_variable_list902;
    #undef	RETURN_TYPE_field_or_variable_list902
    #define	RETURN_TYPE_field_or_variable_list902 MySQLParser_field_or_variable_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL901_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL903_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL901       = NULL;
    CLOSE_PAR_SYMBOL903       = NULL;
    field_or_variable_list902.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL901_tree   = NULL;
    CLOSE_PAR_SYMBOL903_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:979:27: ( OPEN_PAR_SYMBOL ( field_or_variable_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:980:2: OPEN_PAR_SYMBOL ( field_or_variable_list )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL901 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4822);
            if  (HASEXCEPTION())
            {
                goto ruleload_data_file_target_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL901_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL901));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL901_tree);
            }

            // MySQL.g:980:18: ( field_or_variable_list )?
            {
                int alt306=2;
                {
                    int LA306_0 = LA(1);
                    if ( (LA306_0 == BACK_TICK_QUOTED_ID || LA306_0 == IDENTIFIER))
                    {
                        alt306=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA306_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt306=1;
                    }
                    else if ( (((LA306_0 >= ASCII_SYMBOL) && (LA306_0 <= YEAR_SYMBOL)) || ((LA306_0 >= AT_SIGN_SYMBOL) && (LA306_0 <= AT_TEXT_SUFFIX))))
                    {
                        alt306=1;
                    }
                }
                switch (alt306)
                {
            	case 1:
            	    // MySQL.g:980:18: field_or_variable_list
            	    {
            	        FOLLOWPUSH(FOLLOW_field_or_variable_list_in_load_data_file_target_list4824);
            	        field_or_variable_list902=field_or_variable_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_target_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_or_variable_list902.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL903 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4827);
            if  (HASEXCEPTION())
            {
                goto ruleload_data_file_target_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL903_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL903));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL903_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleload_data_file_target_listEx; /* Prevent compiler warnings */
    ruleload_data_file_target_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end load_data_file_target_list */

/**
 * $ANTLR start field_or_variable_list
 * MySQL.g:983:1: field_or_variable_list : ( column_ref | user_variable ) ( COMMA_SYMBOL ( column_ref | user_variable ) )* ;
 */
static MySQLParser_field_or_variable_list_return
field_or_variable_list(pMySQLParser ctx)
{
    MySQLParser_field_or_variable_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL906;
    MySQLParser_column_ref_return column_ref904;
    #undef	RETURN_TYPE_column_ref904
    #define	RETURN_TYPE_column_ref904 MySQLParser_column_ref_return

    MySQLParser_user_variable_return user_variable905;
    #undef	RETURN_TYPE_user_variable905
    #define	RETURN_TYPE_user_variable905 MySQLParser_user_variable_return

    MySQLParser_column_ref_return column_ref907;
    #undef	RETURN_TYPE_column_ref907
    #define	RETURN_TYPE_column_ref907 MySQLParser_column_ref_return

    MySQLParser_user_variable_return user_variable908;
    #undef	RETURN_TYPE_user_variable908
    #define	RETURN_TYPE_user_variable908 MySQLParser_user_variable_return

    pANTLR3_BASE_TREE COMMA_SYMBOL906_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL906       = NULL;
    column_ref904.tree = NULL;

    user_variable905.tree = NULL;

    column_ref907.tree = NULL;

    user_variable908.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL906_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:983:23: ( ( column_ref | user_variable ) ( COMMA_SYMBOL ( column_ref | user_variable ) )* )
        // MySQL.g:984:2: ( column_ref | user_variable ) ( COMMA_SYMBOL ( column_ref | user_variable ) )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:984:2: ( column_ref | user_variable )
            {
                int alt307=2;
                {
                    int LA307_0 = LA(1);
                    if ( (LA307_0 == BACK_TICK_QUOTED_ID || LA307_0 == IDENTIFIER))
                    {
                        alt307=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA307_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt307=1;
                    }
                    else if ( (((LA307_0 >= ASCII_SYMBOL) && (LA307_0 <= YEAR_SYMBOL))))
                    {
                        alt307=1;
                    }
                    else if ( (((LA307_0 >= AT_SIGN_SYMBOL) && (LA307_0 <= AT_TEXT_SUFFIX))))
                    {
                        alt307=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 307;
                        EXCEPTION->state        = 0;


                        goto rulefield_or_variable_listEx;

                    }
                }
                switch (alt307)
                {
            	case 1:
            	    // MySQL.g:984:3: column_ref
            	    {
            	        FOLLOWPUSH(FOLLOW_column_ref_in_field_or_variable_list4837);
            	        column_ref904=column_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_or_variable_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref904.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:984:16: user_variable
            	    {
            	        FOLLOWPUSH(FOLLOW_user_variable_in_field_or_variable_list4841);
            	        user_variable905=user_variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_or_variable_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable905.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:984:31: ( COMMA_SYMBOL ( column_ref | user_variable ) )*

            for (;;)
            {
                int alt309=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt309=1;
                	}
                    break;

                }

                switch (alt309)
                {
            	case 1:
            	    // MySQL.g:984:32: COMMA_SYMBOL ( column_ref | user_variable )
            	    {
            	        COMMA_SYMBOL906 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4845);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_or_variable_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL906_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL906));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL906_tree);
            	        }

            	        // MySQL.g:984:45: ( column_ref | user_variable )
            	        {
            	            int alt308=2;
            	            {
            	                int LA308_0 = LA(1);
            	                if ( (LA308_0 == BACK_TICK_QUOTED_ID || LA308_0 == IDENTIFIER))
            	                {
            	                    alt308=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA308_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt308=1;
            	                }
            	                else if ( (((LA308_0 >= ASCII_SYMBOL) && (LA308_0 <= YEAR_SYMBOL))))
            	                {
            	                    alt308=1;
            	                }
            	                else if ( (((LA308_0 >= AT_SIGN_SYMBOL) && (LA308_0 <= AT_TEXT_SUFFIX))))
            	                {
            	                    alt308=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 308;
            	                    EXCEPTION->state        = 0;


            	                    goto rulefield_or_variable_listEx;

            	                }
            	            }
            	            switch (alt308)
            	            {
            	        	case 1:
            	        	    // MySQL.g:984:46: column_ref
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_column_ref_in_field_or_variable_list4848);
            	        	        column_ref907=column_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_or_variable_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref907.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:984:59: user_variable
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_user_variable_in_field_or_variable_list4852);
            	        	        user_variable908=user_variable(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_or_variable_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable908.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop309;	/* break out of the loop */
            	    break;
                }
            }
            loop309: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefield_or_variable_listEx; /* Prevent compiler warnings */
    rulefield_or_variable_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_or_variable_list */

/**
 * $ANTLR start replace_statement
 * MySQL.g:989:1: replace_statement : REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_ref ( use_partition )? insert_field_spec ;
 */
static MySQLParser_replace_statement_return
replace_statement(pMySQLParser ctx)
{
    MySQLParser_replace_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL909;
    pANTLR3_COMMON_TOKEN    set910;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL911;
    MySQLParser_table_ref_return table_ref912;
    #undef	RETURN_TYPE_table_ref912
    #define	RETURN_TYPE_table_ref912 MySQLParser_table_ref_return

    MySQLParser_use_partition_return use_partition913;
    #undef	RETURN_TYPE_use_partition913
    #define	RETURN_TYPE_use_partition913 MySQLParser_use_partition_return

    MySQLParser_insert_field_spec_return insert_field_spec914;
    #undef	RETURN_TYPE_insert_field_spec914
    #define	RETURN_TYPE_insert_field_spec914 MySQLParser_insert_field_spec_return

    pANTLR3_BASE_TREE REPLACE_SYMBOL909_tree;
    pANTLR3_BASE_TREE set910_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL911_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPLACE_SYMBOL909       = NULL;
    set910       = NULL;
    INTO_SYMBOL911       = NULL;
    table_ref912.tree = NULL;

    use_partition913.tree = NULL;

    insert_field_spec914.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPLACE_SYMBOL909_tree   = NULL;
    set910_tree   = NULL;
    INTO_SYMBOL911_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:989:18: ( REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_ref ( use_partition )? insert_field_spec )
        // MySQL.g:990:2: REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_ref ( use_partition )? insert_field_spec
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REPLACE_SYMBOL909 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_replace_statement4866);
            if  (HASEXCEPTION())
            {
                goto rulereplace_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPLACE_SYMBOL909_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL909))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPLACE_SYMBOL909_tree, root_0));
            }

            // MySQL.g:990:18: ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )?
            {
                int alt310=2;
                switch ( LA(1) )
                {
                    case DELAYED_SYMBOL:
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt310=1;
                    	}
                        break;
                }

                switch (alt310)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set910=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == DELAYED_SYMBOL || LA(1) == LOW_PRIORITY_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set910))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulereplace_statementEx;
            	        }


            	    }
            	    break;

                }
            }

            // MySQL.g:990:58: ( INTO_SYMBOL )?
            {
                int alt311=2;
                switch ( LA(1) )
                {
                    case INTO_SYMBOL:
                    	{
                    		alt311=1;
                    	}
                        break;
                }

                switch (alt311)
                {
            	case 1:
            	    // MySQL.g:990:58: INTO_SYMBOL
            	    {
            	        INTO_SYMBOL911 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_replace_statement4878);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplace_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTO_SYMBOL911_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL911));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL911_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_replace_statement4881);
            table_ref912=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereplace_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref912.tree);

            // MySQL.g:991:3: ( use_partition )?
            {
                int alt312=2;
                {
                    int LA312_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50602)) && (LA312_0 == PARTITION_SYMBOL))
                    {
                        alt312=1;
                    }
                }
                switch (alt312)
                {
            	case 1:
            	    // MySQL.g:991:3: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_replace_statement4885);
            	        use_partition913=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplace_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition913.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_insert_field_spec_in_replace_statement4888);
            insert_field_spec914=insert_field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereplace_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_field_spec914.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulereplace_statementEx; /* Prevent compiler warnings */
    rulereplace_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end replace_statement */

/**
 * $ANTLR start select_statement
 * MySQL.g:996:1: select_statement : ( SELECT_SYMBOL ^ select_part2 ( union_clause )? | OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? );
 */
static MySQLParser_select_statement_return
select_statement(pMySQLParser ctx)
{
    MySQLParser_select_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL915;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL918;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL920;
    MySQLParser_select_part2_return select_part2916;
    #undef	RETURN_TYPE_select_part2916
    #define	RETURN_TYPE_select_part2916 MySQLParser_select_part2_return

    MySQLParser_union_clause_return union_clause917;
    #undef	RETURN_TYPE_union_clause917
    #define	RETURN_TYPE_union_clause917 MySQLParser_union_clause_return

    MySQLParser_select_paren_return select_paren919;
    #undef	RETURN_TYPE_select_paren919
    #define	RETURN_TYPE_select_paren919 MySQLParser_select_paren_return

    MySQLParser_union_or_order_by_or_limit_return union_or_order_by_or_limit921;
    #undef	RETURN_TYPE_union_or_order_by_or_limit921
    #define	RETURN_TYPE_union_or_order_by_or_limit921 MySQLParser_union_or_order_by_or_limit_return

    pANTLR3_BASE_TREE SELECT_SYMBOL915_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL918_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL920_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL915       = NULL;
    OPEN_PAR_SYMBOL918       = NULL;
    CLOSE_PAR_SYMBOL920       = NULL;
    select_part2916.tree = NULL;

    union_clause917.tree = NULL;

    select_paren919.tree = NULL;

    union_or_order_by_or_limit921.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL915_tree   = NULL;
    OPEN_PAR_SYMBOL918_tree   = NULL;
    CLOSE_PAR_SYMBOL920_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:996:17: ( SELECT_SYMBOL ^ select_part2 ( union_clause )? | OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? )

            ANTLR3_UINT32 alt315;

            alt315=2;

            switch ( LA(1) )
            {
            case SELECT_SYMBOL:
            	{
            		alt315=1;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt315=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 315;
                EXCEPTION->state        = 0;


                goto ruleselect_statementEx;

            }

            switch (alt315)
            {
        	case 1:
        	    // MySQL.g:997:2: SELECT_SYMBOL ^ select_part2 ( union_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL915 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_select_statement4899);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL915_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL915))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SELECT_SYMBOL915_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_select_part2_in_select_statement4902);
        	        select_part2916=select_part2(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_part2916.tree);

        	        // MySQL.g:997:30: ( union_clause )?
        	        {
        	            int alt313=2;
        	            switch ( LA(1) )
        	            {
        	                case UNION_SYMBOL:
        	                	{
        	                		alt313=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt313)
        	            {
        	        	case 1:
        	        	    // MySQL.g:997:30: union_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_select_statement4904);
        	        	        union_clause917=union_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleselect_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause917.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:998:4: OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL918 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4910);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL918_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL918));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL918_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_paren_in_select_statement4912);
        	        select_paren919=select_paren(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_paren919.tree);

        	        CLOSE_PAR_SYMBOL920 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4914);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL920_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL920));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL920_tree);
        	        }

        	        // MySQL.g:998:50: ( union_or_order_by_or_limit )?
        	        {
        	            int alt314=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                case ORDER_SYMBOL:
        	                case UNION_SYMBOL:
        	                	{
        	                		alt314=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt314)
        	            {
        	        	case 1:
        	        	    // MySQL.g:998:50: union_or_order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_select_statement4916);
        	        	        union_or_order_by_or_limit921=union_or_order_by_or_limit(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleselect_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_or_order_by_or_limit921.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleselect_statementEx; /* Prevent compiler warnings */
    ruleselect_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_statement */

/**
 * $ANTLR start select_paren
 * MySQL.g:1001:1: select_paren : ( SELECT_SYMBOL ^ select_part2 | OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL );
 */
static MySQLParser_select_paren_return
select_paren(pMySQLParser ctx)
{
    MySQLParser_select_paren_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL922;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL924;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL926;
    MySQLParser_select_part2_return select_part2923;
    #undef	RETURN_TYPE_select_part2923
    #define	RETURN_TYPE_select_part2923 MySQLParser_select_part2_return

    MySQLParser_select_paren_return select_paren925;
    #undef	RETURN_TYPE_select_paren925
    #define	RETURN_TYPE_select_paren925 MySQLParser_select_paren_return

    pANTLR3_BASE_TREE SELECT_SYMBOL922_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL924_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL926_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL922       = NULL;
    OPEN_PAR_SYMBOL924       = NULL;
    CLOSE_PAR_SYMBOL926       = NULL;
    select_part2923.tree = NULL;

    select_paren925.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL922_tree   = NULL;
    OPEN_PAR_SYMBOL924_tree   = NULL;
    CLOSE_PAR_SYMBOL926_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1001:13: ( SELECT_SYMBOL ^ select_part2 | OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt316;

            alt316=2;

            switch ( LA(1) )
            {
            case SELECT_SYMBOL:
            	{
            		alt316=1;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt316=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 316;
                EXCEPTION->state        = 0;


                goto ruleselect_parenEx;

            }

            switch (alt316)
            {
        	case 1:
        	    // MySQL.g:1002:2: SELECT_SYMBOL ^ select_part2
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL922 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_select_paren4926);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL922_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL922))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SELECT_SYMBOL922_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_select_part2_in_select_paren4929);
        	        select_part2923=select_part2(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_part2923.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1003:4: OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL924 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4934);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL924_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL924));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL924_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_paren_in_select_paren4936);
        	        select_paren925=select_paren(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_paren925.tree);

        	        CLOSE_PAR_SYMBOL926 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4938);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL926_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL926));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL926_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleselect_parenEx; /* Prevent compiler warnings */
    ruleselect_parenEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_paren */

/**
 * $ANTLR start select_from
 * MySQL.g:1006:1: select_from : from_clause ( where_clause )? ( group_by_clause )? ( having_clause )? ( order_by_clause )? ( limit_clause )? ( procedure_analyse_clause )? ;
 */
static MySQLParser_select_from_return
select_from(pMySQLParser ctx)
{
    MySQLParser_select_from_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_from_clause_return from_clause927;
    #undef	RETURN_TYPE_from_clause927
    #define	RETURN_TYPE_from_clause927 MySQLParser_from_clause_return

    MySQLParser_where_clause_return where_clause928;
    #undef	RETURN_TYPE_where_clause928
    #define	RETURN_TYPE_where_clause928 MySQLParser_where_clause_return

    MySQLParser_group_by_clause_return group_by_clause929;
    #undef	RETURN_TYPE_group_by_clause929
    #define	RETURN_TYPE_group_by_clause929 MySQLParser_group_by_clause_return

    MySQLParser_having_clause_return having_clause930;
    #undef	RETURN_TYPE_having_clause930
    #define	RETURN_TYPE_having_clause930 MySQLParser_having_clause_return

    MySQLParser_order_by_clause_return order_by_clause931;
    #undef	RETURN_TYPE_order_by_clause931
    #define	RETURN_TYPE_order_by_clause931 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause932;
    #undef	RETURN_TYPE_limit_clause932
    #define	RETURN_TYPE_limit_clause932 MySQLParser_limit_clause_return

    MySQLParser_procedure_analyse_clause_return procedure_analyse_clause933;
    #undef	RETURN_TYPE_procedure_analyse_clause933
    #define	RETURN_TYPE_procedure_analyse_clause933 MySQLParser_procedure_analyse_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    from_clause927.tree = NULL;

    where_clause928.tree = NULL;

    group_by_clause929.tree = NULL;

    having_clause930.tree = NULL;

    order_by_clause931.tree = NULL;

    limit_clause932.tree = NULL;

    procedure_analyse_clause933.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1006:12: ( from_clause ( where_clause )? ( group_by_clause )? ( having_clause )? ( order_by_clause )? ( limit_clause )? ( procedure_analyse_clause )? )
        // MySQL.g:1007:2: from_clause ( where_clause )? ( group_by_clause )? ( having_clause )? ( order_by_clause )? ( limit_clause )? ( procedure_analyse_clause )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_from_clause_in_select_from4947);
            from_clause927=from_clause(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleselect_fromEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, from_clause927.tree);

            // MySQL.g:1007:14: ( where_clause )?
            {
                int alt317=2;
                switch ( LA(1) )
                {
                    case WHERE_SYMBOL:
                    	{
                    		alt317=1;
                    	}
                        break;
                }

                switch (alt317)
                {
            	case 1:
            	    // MySQL.g:1007:14: where_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_where_clause_in_select_from4949);
            	        where_clause928=where_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause928.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1007:28: ( group_by_clause )?
            {
                int alt318=2;
                switch ( LA(1) )
                {
                    case GROUP_SYMBOL:
                    	{
                    		alt318=1;
                    	}
                        break;
                }

                switch (alt318)
                {
            	case 1:
            	    // MySQL.g:1007:28: group_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_group_by_clause_in_select_from4952);
            	        group_by_clause929=group_by_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, group_by_clause929.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1007:45: ( having_clause )?
            {
                int alt319=2;
                switch ( LA(1) )
                {
                    case HAVING_SYMBOL:
                    	{
                    		alt319=1;
                    	}
                        break;
                }

                switch (alt319)
                {
            	case 1:
            	    // MySQL.g:1007:45: having_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_having_clause_in_select_from4955);
            	        having_clause930=having_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, having_clause930.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1007:60: ( order_by_clause )?
            {
                int alt320=2;
                switch ( LA(1) )
                {
                    case ORDER_SYMBOL:
                    	{
                    		alt320=1;
                    	}
                        break;
                }

                switch (alt320)
                {
            	case 1:
            	    // MySQL.g:1007:60: order_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_order_by_clause_in_select_from4958);
            	        order_by_clause931=order_by_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause931.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1007:77: ( limit_clause )?
            {
                int alt321=2;
                switch ( LA(1) )
                {
                    case LIMIT_SYMBOL:
                    	{
                    		alt321=1;
                    	}
                        break;
                }

                switch (alt321)
                {
            	case 1:
            	    // MySQL.g:1007:77: limit_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_from4961);
            	        limit_clause932=limit_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause932.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1007:91: ( procedure_analyse_clause )?
            {
                int alt322=2;
                switch ( LA(1) )
                {
                    case PROCEDURE_SYMBOL:
                    	{
                    		alt322=1;
                    	}
                        break;
                }

                switch (alt322)
                {
            	case 1:
            	    // MySQL.g:1007:91: procedure_analyse_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_procedure_analyse_clause_in_select_from4964);
            	        procedure_analyse_clause933=procedure_analyse_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_analyse_clause933.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleselect_fromEx; /* Prevent compiler warnings */
    ruleselect_fromEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_from */

/**
 * $ANTLR start select_part2
 * MySQL.g:1010:1: select_part2 : ( options {greedy=true; } : select_option )* select_item_list ( ( order_by_clause )? ( limit_clause )? | into_clause ( select_from )? | select_from ( into_clause )? ) ( select_lock_type )? ;
 */
static MySQLParser_select_part2_return
select_part2(pMySQLParser ctx)
{
    MySQLParser_select_part2_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_select_option_return select_option934;
    #undef	RETURN_TYPE_select_option934
    #define	RETURN_TYPE_select_option934 MySQLParser_select_option_return

    MySQLParser_select_item_list_return select_item_list935;
    #undef	RETURN_TYPE_select_item_list935
    #define	RETURN_TYPE_select_item_list935 MySQLParser_select_item_list_return

    MySQLParser_order_by_clause_return order_by_clause936;
    #undef	RETURN_TYPE_order_by_clause936
    #define	RETURN_TYPE_order_by_clause936 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause937;
    #undef	RETURN_TYPE_limit_clause937
    #define	RETURN_TYPE_limit_clause937 MySQLParser_limit_clause_return

    MySQLParser_into_clause_return into_clause938;
    #undef	RETURN_TYPE_into_clause938
    #define	RETURN_TYPE_into_clause938 MySQLParser_into_clause_return

    MySQLParser_select_from_return select_from939;
    #undef	RETURN_TYPE_select_from939
    #define	RETURN_TYPE_select_from939 MySQLParser_select_from_return

    MySQLParser_select_from_return select_from940;
    #undef	RETURN_TYPE_select_from940
    #define	RETURN_TYPE_select_from940 MySQLParser_select_from_return

    MySQLParser_into_clause_return into_clause941;
    #undef	RETURN_TYPE_into_clause941
    #define	RETURN_TYPE_into_clause941 MySQLParser_into_clause_return

    MySQLParser_select_lock_type_return select_lock_type942;
    #undef	RETURN_TYPE_select_lock_type942
    #define	RETURN_TYPE_select_lock_type942 MySQLParser_select_lock_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    select_option934.tree = NULL;

    select_item_list935.tree = NULL;

    order_by_clause936.tree = NULL;

    limit_clause937.tree = NULL;

    into_clause938.tree = NULL;

    select_from939.tree = NULL;

    select_from940.tree = NULL;

    into_clause941.tree = NULL;

    select_lock_type942.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1010:13: ( ( options {greedy=true; } : select_option )* select_item_list ( ( order_by_clause )? ( limit_clause )? | into_clause ( select_from )? | select_from ( into_clause )? ) ( select_lock_type )? )
        // MySQL.g:1011:2: ( options {greedy=true; } : select_option )* select_item_list ( ( order_by_clause )? ( limit_clause )? | into_clause ( select_from )? | select_from ( into_clause )? ) ( select_lock_type )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1011:2: ( options {greedy=true; } : select_option )*

            for (;;)
            {
                int alt323=2;
                switch ( LA(1) )
                {
                case SQL_BUFFER_RESULT_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA323_95 = LA(2);
                		    if ( (LA323_95 == OPEN_PAR_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MOD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MINUS_OPERATOR || LA323_95 == PLUS_OPERATOR))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == NOT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == SOUNDS_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == IDENTIFIER))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == DATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == ASCII_SYMBOL || ((LA323_95 >= BITNUMBER) && (LA323_95 <= BITSTRING)) || LA323_95 == BITWISE_NOT_OPERATOR || LA323_95 == FALSE_SYMBOL || LA323_95 == FLOAT || ((LA323_95 >= HEXNUMBER) && (LA323_95 <= HEXSTRING)) || LA323_95 == INTEGER || LA323_95 == INTERVAL_SYMBOL || LA323_95 == LOGICAL_NOT_OPERATOR || LA323_95 == NCHAR_TEXT || LA323_95 == NOT2_SYMBOL || LA323_95 == NULL2_SYMBOL || LA323_95 == NULL_SYMBOL || LA323_95 == TRUE_SYMBOL || LA323_95 == UNDERSCORE_CHARSET))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == TIME_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == TIMESTAMP_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == DAY_SYMBOL || LA323_95 == CHAR_SYMBOL || LA323_95 == CURRENT_USER_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == HOUR_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MINUTE_SYMBOL || LA323_95 == INSERT_SYMBOL || LA323_95 == LEFT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MONTH_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == SECOND_SYMBOL || LA323_95 == RIGHT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == USER_SYMBOL || LA323_95 == TRIM_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == YEAR_SYMBOL || LA323_95 == VALUES_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == ADDDATE_SYMBOL || LA323_95 == SUBDATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == GET_FORMAT_SYMBOL || LA323_95 == CURDATE_SYMBOL || LA323_95 == CURTIME_SYMBOL || LA323_95 == DATE_ADD_SYMBOL || LA323_95 == DATE_SUB_SYMBOL || LA323_95 == EXTRACT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (((LA323_95 >= TIMESTAMP_ADD_SYMBOL) && (LA323_95 <= TIMESTAMP_DIFF_SYMBOL)) || LA323_95 == NOW_SYMBOL || LA323_95 == POSITION_SYMBOL || LA323_95 == SUBSTRING_SYMBOL || LA323_95 == SYSDATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == COALESCE_SYMBOL || ((LA323_95 >= UTC_DATE_SYMBOL) && (LA323_95 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == CHARSET_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == FORMAT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == COLLATION_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MICROSECOND_SYMBOL || LA323_95 == DATABASE_SYMBOL || LA323_95 == IF_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == TRUNCATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MULT_OPERATOR))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == PASSWORD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == QUARTER_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == REVERSE_SYMBOL || ((LA323_95 >= REPEAT_SYMBOL) && (LA323_95 <= REPLACE_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == ROW_COUNT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == WEEK_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == CONTAINS_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (((LA323_95 >= BACKUP_SYMBOL) && (LA323_95 <= CACHE_SYMBOL)) || ((LA323_95 >= CHECKSUM_SYMBOL) && (LA323_95 <= COMMIT_SYMBOL)) || ((LA323_95 >= DEALLOCATE_SYMBOL) && (LA323_95 <= FOLLOWS_SYMBOL)) || ((LA323_95 >= HANDLER_SYMBOL) && (LA323_95 <= STOP_SYMBOL)) || ((LA323_95 >= UNICODE_SYMBOL) && (LA323_95 <= XA_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == LINESTRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MULTIPOINT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == POINT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == POLYGON_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == AVG_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == ROW_SYMBOL || ((LA323_95 >= AT_AT_SIGN_SYMBOL) && (LA323_95 <= AT_TEXT_SUFFIX)) || ((LA323_95 >= BIT_AND_SYMBOL) && (LA323_95 <= BIT_XOR_SYMBOL)) || LA323_95 == COUNT_SYMBOL || LA323_95 == EXISTS_SYMBOL || LA323_95 == GROUP_CONCAT_SYMBOL || LA323_95 == MAX_SYMBOL || LA323_95 == MIN_SYMBOL || LA323_95 == PARAM_MARKER || LA323_95 == STDDEV_SAMP_SYMBOL || LA323_95 == STD_SYMBOL || LA323_95 == SUM_SYMBOL || LA323_95 == VARIANCE_SYMBOL || LA323_95 == VAR_SAMP_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == SQL_BUFFER_RESULT_SYMBOL || LA323_95 == BINARY_SYMBOL || ((LA323_95 >= CASE_SYMBOL) && (LA323_95 <= CAST_SYMBOL)) || LA323_95 == CONVERT_SYMBOL || LA323_95 == MATCH_SYMBOL || LA323_95 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == SQL_NO_CACHE_SYMBOL || LA323_95 == ALL_SYMBOL || LA323_95 == DISTINCT_SYMBOL || LA323_95 == HIGH_PRIORITY_SYMBOL || ((LA323_95 >= SQL_BIG_RESULT_SYMBOL) && (LA323_95 <= SQL_SMALL_RESULT_SYMBOL)) || LA323_95 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == SQL_CACHE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == MAX_STATEMENT_TIME_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_95 == ACTION_SYMBOL || ((LA323_95 >= AFTER_SYMBOL) && (LA323_95 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA323_95 >= BINLOG_SYMBOL) && (LA323_95 <= CLASS_ORIGIN_SYMBOL)) || LA323_95 == CODE_SYMBOL || ((LA323_95 >= COLUMN_NAME_SYMBOL) && (LA323_95 <= DATETIME_SYMBOL)) || ((LA323_95 >= DEFAULT_AUTH_SYMBOL) && (LA323_95 <= GEOMETRY_SYMBOL)) || ((LA323_95 >= GRANTS_SYMBOL) && (LA323_95 <= HOSTS_SYMBOL)) || ((LA323_95 >= IDENTIFIED_SYMBOL) && (LA323_95 <= LEVEL_SYMBOL)) || ((LA323_95 >= LIST_SYMBOL) && (LA323_95 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA323_95 >= MAX_SIZE_SYMBOL) && (LA323_95 <= MESSAGE_TEXT_SYMBOL)) || LA323_95 == MIGRATE_SYMBOL || ((LA323_95 >= MIN_ROWS_SYMBOL) && (LA323_95 <= MODE_SYMBOL)) || ((LA323_95 >= MUTEX_SYMBOL) && (LA323_95 <= OFFSET_SYMBOL)) || ((LA323_95 >= ONE_SHOT_SYMBOL) && (LA323_95 <= PARTITIONS_SYMBOL)) || ((LA323_95 >= PHASE_SYMBOL) && (LA323_95 <= PLUGINS_SYMBOL)) || ((LA323_95 >= PRESERVE_SYMBOL) && (LA323_95 <= PROXY_SYMBOL)) || ((LA323_95 >= QUERY_SYMBOL) && (LA323_95 <= RETURNS_SYMBOL)) || ((LA323_95 >= ROLLUP_SYMBOL) && (LA323_95 <= ROWS_SYMBOL)) || LA323_95 == ROW_FORMAT_SYMBOL || ((LA323_95 >= RTREE_SYMBOL) && (LA323_95 <= SCHEMA_NAME_SYMBOL)) || ((LA323_95 >= SERIAL_SYMBOL) && (LA323_95 <= SNAPSHOT_SYMBOL)) || ((LA323_95 >= SOURCE_SYMBOL) && (LA323_95 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA323_95 >= SQL_THREAD_SYMBOL) && (LA323_95 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA323_95 >= SUBJECT_SYMBOL) && (LA323_95 <= TRIGGERS_SYMBOL)) || ((LA323_95 >= TYPES_SYMBOL) && (LA323_95 <= USER_RESOURCES_SYMBOL)) || ((LA323_95 >= USE_FRM_SYMBOL) && (LA323_95 <= WAIT_SYMBOL)) || LA323_95 == WORK_SYMBOL || ((LA323_95 >= X509_SYMBOL) && (LA323_95 <= XML_SYMBOL))))
                		    {
                		        alt323=1;
                		    }

                		}
                	}
                    break;
                case SQL_NO_CACHE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA323_103 = LA(2);
                		    if ( (LA323_103 == OPEN_PAR_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MOD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MINUS_OPERATOR || LA323_103 == PLUS_OPERATOR))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == NOT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == SOUNDS_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == IDENTIFIER))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == DATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == ASCII_SYMBOL || ((LA323_103 >= BITNUMBER) && (LA323_103 <= BITSTRING)) || LA323_103 == BITWISE_NOT_OPERATOR || LA323_103 == FALSE_SYMBOL || LA323_103 == FLOAT || ((LA323_103 >= HEXNUMBER) && (LA323_103 <= HEXSTRING)) || LA323_103 == INTEGER || LA323_103 == INTERVAL_SYMBOL || LA323_103 == LOGICAL_NOT_OPERATOR || LA323_103 == NCHAR_TEXT || LA323_103 == NOT2_SYMBOL || LA323_103 == NULL2_SYMBOL || LA323_103 == NULL_SYMBOL || LA323_103 == TRUE_SYMBOL || LA323_103 == UNDERSCORE_CHARSET))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == TIME_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == TIMESTAMP_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == DAY_SYMBOL || LA323_103 == CHAR_SYMBOL || LA323_103 == CURRENT_USER_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == HOUR_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MINUTE_SYMBOL || LA323_103 == INSERT_SYMBOL || LA323_103 == LEFT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MONTH_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == SECOND_SYMBOL || LA323_103 == RIGHT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == USER_SYMBOL || LA323_103 == TRIM_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == YEAR_SYMBOL || LA323_103 == VALUES_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == ADDDATE_SYMBOL || LA323_103 == SUBDATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == GET_FORMAT_SYMBOL || LA323_103 == CURDATE_SYMBOL || LA323_103 == CURTIME_SYMBOL || LA323_103 == DATE_ADD_SYMBOL || LA323_103 == DATE_SUB_SYMBOL || LA323_103 == EXTRACT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (((LA323_103 >= TIMESTAMP_ADD_SYMBOL) && (LA323_103 <= TIMESTAMP_DIFF_SYMBOL)) || LA323_103 == NOW_SYMBOL || LA323_103 == POSITION_SYMBOL || LA323_103 == SUBSTRING_SYMBOL || LA323_103 == SYSDATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == COALESCE_SYMBOL || ((LA323_103 >= UTC_DATE_SYMBOL) && (LA323_103 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == CHARSET_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == FORMAT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == COLLATION_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MICROSECOND_SYMBOL || LA323_103 == DATABASE_SYMBOL || LA323_103 == IF_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == TRUNCATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MULT_OPERATOR))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == PASSWORD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == QUARTER_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == REVERSE_SYMBOL || ((LA323_103 >= REPEAT_SYMBOL) && (LA323_103 <= REPLACE_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == ROW_COUNT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == WEEK_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == CONTAINS_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (((LA323_103 >= BACKUP_SYMBOL) && (LA323_103 <= CACHE_SYMBOL)) || ((LA323_103 >= CHECKSUM_SYMBOL) && (LA323_103 <= COMMIT_SYMBOL)) || ((LA323_103 >= DEALLOCATE_SYMBOL) && (LA323_103 <= FOLLOWS_SYMBOL)) || ((LA323_103 >= HANDLER_SYMBOL) && (LA323_103 <= STOP_SYMBOL)) || ((LA323_103 >= UNICODE_SYMBOL) && (LA323_103 <= XA_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == LINESTRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MULTIPOINT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == POINT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == POLYGON_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == AVG_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == ROW_SYMBOL || ((LA323_103 >= AT_AT_SIGN_SYMBOL) && (LA323_103 <= AT_TEXT_SUFFIX)) || ((LA323_103 >= BIT_AND_SYMBOL) && (LA323_103 <= BIT_XOR_SYMBOL)) || LA323_103 == COUNT_SYMBOL || LA323_103 == EXISTS_SYMBOL || LA323_103 == GROUP_CONCAT_SYMBOL || LA323_103 == MAX_SYMBOL || LA323_103 == MIN_SYMBOL || LA323_103 == PARAM_MARKER || LA323_103 == STDDEV_SAMP_SYMBOL || LA323_103 == STD_SYMBOL || LA323_103 == SUM_SYMBOL || LA323_103 == VARIANCE_SYMBOL || LA323_103 == VAR_SAMP_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == SQL_BUFFER_RESULT_SYMBOL || LA323_103 == BINARY_SYMBOL || ((LA323_103 >= CASE_SYMBOL) && (LA323_103 <= CAST_SYMBOL)) || LA323_103 == CONVERT_SYMBOL || LA323_103 == MATCH_SYMBOL || LA323_103 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == SQL_NO_CACHE_SYMBOL || LA323_103 == ALL_SYMBOL || LA323_103 == DISTINCT_SYMBOL || LA323_103 == HIGH_PRIORITY_SYMBOL || ((LA323_103 >= SQL_BIG_RESULT_SYMBOL) && (LA323_103 <= SQL_SMALL_RESULT_SYMBOL)) || LA323_103 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == SQL_CACHE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == MAX_STATEMENT_TIME_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_103 == ACTION_SYMBOL || ((LA323_103 >= AFTER_SYMBOL) && (LA323_103 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA323_103 >= BINLOG_SYMBOL) && (LA323_103 <= CLASS_ORIGIN_SYMBOL)) || LA323_103 == CODE_SYMBOL || ((LA323_103 >= COLUMN_NAME_SYMBOL) && (LA323_103 <= DATETIME_SYMBOL)) || ((LA323_103 >= DEFAULT_AUTH_SYMBOL) && (LA323_103 <= GEOMETRY_SYMBOL)) || ((LA323_103 >= GRANTS_SYMBOL) && (LA323_103 <= HOSTS_SYMBOL)) || ((LA323_103 >= IDENTIFIED_SYMBOL) && (LA323_103 <= LEVEL_SYMBOL)) || ((LA323_103 >= LIST_SYMBOL) && (LA323_103 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA323_103 >= MAX_SIZE_SYMBOL) && (LA323_103 <= MESSAGE_TEXT_SYMBOL)) || LA323_103 == MIGRATE_SYMBOL || ((LA323_103 >= MIN_ROWS_SYMBOL) && (LA323_103 <= MODE_SYMBOL)) || ((LA323_103 >= MUTEX_SYMBOL) && (LA323_103 <= OFFSET_SYMBOL)) || ((LA323_103 >= ONE_SHOT_SYMBOL) && (LA323_103 <= PARTITIONS_SYMBOL)) || ((LA323_103 >= PHASE_SYMBOL) && (LA323_103 <= PLUGINS_SYMBOL)) || ((LA323_103 >= PRESERVE_SYMBOL) && (LA323_103 <= PROXY_SYMBOL)) || ((LA323_103 >= QUERY_SYMBOL) && (LA323_103 <= RETURNS_SYMBOL)) || ((LA323_103 >= ROLLUP_SYMBOL) && (LA323_103 <= ROWS_SYMBOL)) || LA323_103 == ROW_FORMAT_SYMBOL || ((LA323_103 >= RTREE_SYMBOL) && (LA323_103 <= SCHEMA_NAME_SYMBOL)) || ((LA323_103 >= SERIAL_SYMBOL) && (LA323_103 <= SNAPSHOT_SYMBOL)) || ((LA323_103 >= SOURCE_SYMBOL) && (LA323_103 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA323_103 >= SQL_THREAD_SYMBOL) && (LA323_103 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA323_103 >= SUBJECT_SYMBOL) && (LA323_103 <= TRIGGERS_SYMBOL)) || ((LA323_103 >= TYPES_SYMBOL) && (LA323_103 <= USER_RESOURCES_SYMBOL)) || ((LA323_103 >= USE_FRM_SYMBOL) && (LA323_103 <= WAIT_SYMBOL)) || LA323_103 == WORK_SYMBOL || ((LA323_103 >= X509_SYMBOL) && (LA323_103 <= XML_SYMBOL))))
                		    {
                		        alt323=1;
                		    }

                		}
                	}
                    break;
                case ALL_SYMBOL:
                case DISTINCT_SYMBOL:
                case HIGH_PRIORITY_SYMBOL:
                case SQL_BIG_RESULT_SYMBOL:
                case SQL_CALC_FOUND_ROWS_SYMBOL:
                case SQL_SMALL_RESULT_SYMBOL:
                case STRAIGHT_JOIN_SYMBOL:
                	{
                		alt323=1;
                	}
                    break;
                case SQL_CACHE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA323_105 = LA(2);
                		    if ( (LA323_105 == OPEN_PAR_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MOD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MINUS_OPERATOR || LA323_105 == PLUS_OPERATOR))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == NOT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == SOUNDS_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == IDENTIFIER))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == DATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == ASCII_SYMBOL || ((LA323_105 >= BITNUMBER) && (LA323_105 <= BITSTRING)) || LA323_105 == BITWISE_NOT_OPERATOR || LA323_105 == FALSE_SYMBOL || LA323_105 == FLOAT || ((LA323_105 >= HEXNUMBER) && (LA323_105 <= HEXSTRING)) || LA323_105 == INTEGER || LA323_105 == INTERVAL_SYMBOL || LA323_105 == LOGICAL_NOT_OPERATOR || LA323_105 == NCHAR_TEXT || LA323_105 == NOT2_SYMBOL || LA323_105 == NULL2_SYMBOL || LA323_105 == NULL_SYMBOL || LA323_105 == TRUE_SYMBOL || LA323_105 == UNDERSCORE_CHARSET))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == TIME_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == TIMESTAMP_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == DAY_SYMBOL || LA323_105 == CHAR_SYMBOL || LA323_105 == CURRENT_USER_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == HOUR_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MINUTE_SYMBOL || LA323_105 == INSERT_SYMBOL || LA323_105 == LEFT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MONTH_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == SECOND_SYMBOL || LA323_105 == RIGHT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == USER_SYMBOL || LA323_105 == TRIM_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == YEAR_SYMBOL || LA323_105 == VALUES_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == ADDDATE_SYMBOL || LA323_105 == SUBDATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == GET_FORMAT_SYMBOL || LA323_105 == CURDATE_SYMBOL || LA323_105 == CURTIME_SYMBOL || LA323_105 == DATE_ADD_SYMBOL || LA323_105 == DATE_SUB_SYMBOL || LA323_105 == EXTRACT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (((LA323_105 >= TIMESTAMP_ADD_SYMBOL) && (LA323_105 <= TIMESTAMP_DIFF_SYMBOL)) || LA323_105 == NOW_SYMBOL || LA323_105 == POSITION_SYMBOL || LA323_105 == SUBSTRING_SYMBOL || LA323_105 == SYSDATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == COALESCE_SYMBOL || ((LA323_105 >= UTC_DATE_SYMBOL) && (LA323_105 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == CHARSET_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == FORMAT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == COLLATION_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MICROSECOND_SYMBOL || LA323_105 == DATABASE_SYMBOL || LA323_105 == IF_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == TRUNCATE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MULT_OPERATOR))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == PASSWORD_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == QUARTER_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == REVERSE_SYMBOL || ((LA323_105 >= REPEAT_SYMBOL) && (LA323_105 <= REPLACE_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == ROW_COUNT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == WEEK_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == CONTAINS_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (((LA323_105 >= BACKUP_SYMBOL) && (LA323_105 <= CACHE_SYMBOL)) || ((LA323_105 >= CHECKSUM_SYMBOL) && (LA323_105 <= COMMIT_SYMBOL)) || ((LA323_105 >= DEALLOCATE_SYMBOL) && (LA323_105 <= FOLLOWS_SYMBOL)) || ((LA323_105 >= HANDLER_SYMBOL) && (LA323_105 <= STOP_SYMBOL)) || ((LA323_105 >= UNICODE_SYMBOL) && (LA323_105 <= XA_SYMBOL))))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == LINESTRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MULTIPOINT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == POINT_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == POLYGON_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == AVG_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == ROW_SYMBOL || ((LA323_105 >= AT_AT_SIGN_SYMBOL) && (LA323_105 <= AT_TEXT_SUFFIX)) || ((LA323_105 >= BIT_AND_SYMBOL) && (LA323_105 <= BIT_XOR_SYMBOL)) || LA323_105 == COUNT_SYMBOL || LA323_105 == EXISTS_SYMBOL || LA323_105 == GROUP_CONCAT_SYMBOL || LA323_105 == MAX_SYMBOL || LA323_105 == MIN_SYMBOL || LA323_105 == PARAM_MARKER || LA323_105 == STDDEV_SAMP_SYMBOL || LA323_105 == STD_SYMBOL || LA323_105 == SUM_SYMBOL || LA323_105 == VARIANCE_SYMBOL || LA323_105 == VAR_SAMP_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == SQL_BUFFER_RESULT_SYMBOL || LA323_105 == BINARY_SYMBOL || ((LA323_105 >= CASE_SYMBOL) && (LA323_105 <= CAST_SYMBOL)) || LA323_105 == CONVERT_SYMBOL || LA323_105 == MATCH_SYMBOL || LA323_105 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == SQL_NO_CACHE_SYMBOL || LA323_105 == ALL_SYMBOL || LA323_105 == DISTINCT_SYMBOL || LA323_105 == HIGH_PRIORITY_SYMBOL || ((LA323_105 >= SQL_BIG_RESULT_SYMBOL) && (LA323_105 <= SQL_SMALL_RESULT_SYMBOL)) || LA323_105 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == SQL_CACHE_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == MAX_STATEMENT_TIME_SYMBOL))
                		    {
                		        alt323=1;
                		    }
                		    else if ( (LA323_105 == ACTION_SYMBOL || ((LA323_105 >= AFTER_SYMBOL) && (LA323_105 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA323_105 >= BINLOG_SYMBOL) && (LA323_105 <= CLASS_ORIGIN_SYMBOL)) || LA323_105 == CODE_SYMBOL || ((LA323_105 >= COLUMN_NAME_SYMBOL) && (LA323_105 <= DATETIME_SYMBOL)) || ((LA323_105 >= DEFAULT_AUTH_SYMBOL) && (LA323_105 <= GEOMETRY_SYMBOL)) || ((LA323_105 >= GRANTS_SYMBOL) && (LA323_105 <= HOSTS_SYMBOL)) || ((LA323_105 >= IDENTIFIED_SYMBOL) && (LA323_105 <= LEVEL_SYMBOL)) || ((LA323_105 >= LIST_SYMBOL) && (LA323_105 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA323_105 >= MAX_SIZE_SYMBOL) && (LA323_105 <= MESSAGE_TEXT_SYMBOL)) || LA323_105 == MIGRATE_SYMBOL || ((LA323_105 >= MIN_ROWS_SYMBOL) && (LA323_105 <= MODE_SYMBOL)) || ((LA323_105 >= MUTEX_SYMBOL) && (LA323_105 <= OFFSET_SYMBOL)) || ((LA323_105 >= ONE_SHOT_SYMBOL) && (LA323_105 <= PARTITIONS_SYMBOL)) || ((LA323_105 >= PHASE_SYMBOL) && (LA323_105 <= PLUGINS_SYMBOL)) || ((LA323_105 >= PRESERVE_SYMBOL) && (LA323_105 <= PROXY_SYMBOL)) || ((LA323_105 >= QUERY_SYMBOL) && (LA323_105 <= RETURNS_SYMBOL)) || ((LA323_105 >= ROLLUP_SYMBOL) && (LA323_105 <= ROWS_SYMBOL)) || LA323_105 == ROW_FORMAT_SYMBOL || ((LA323_105 >= RTREE_SYMBOL) && (LA323_105 <= SCHEMA_NAME_SYMBOL)) || ((LA323_105 >= SERIAL_SYMBOL) && (LA323_105 <= SNAPSHOT_SYMBOL)) || ((LA323_105 >= SOURCE_SYMBOL) && (LA323_105 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA323_105 >= SQL_THREAD_SYMBOL) && (LA323_105 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA323_105 >= SUBJECT_SYMBOL) && (LA323_105 <= TRIGGERS_SYMBOL)) || ((LA323_105 >= TYPES_SYMBOL) && (LA323_105 <= USER_RESOURCES_SYMBOL)) || ((LA323_105 >= USE_FRM_SYMBOL) && (LA323_105 <= WAIT_SYMBOL)) || LA323_105 == WORK_SYMBOL || ((LA323_105 >= X509_SYMBOL) && (LA323_105 <= XML_SYMBOL))))
                		    {
                		        alt323=1;
                		    }

                		}
                	}
                    break;
                case MAX_STATEMENT_TIME_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case EQUAL_OPERATOR:
                			{
                				{
                				   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                				    */
                				    int LA323_528 = LA(3);
                				    if ( ((SERVER_VERSION >= 50704)))
                				    {
                				        alt323=1;
                				    }

                				}
                			}
                		    break;

                		}

                	}
                    break;

                }

                switch (alt323)
                {
            	case 1:
            	    // MySQL.g:1011:32: select_option
            	    {
            	        FOLLOWPUSH(FOLLOW_select_option_in_select_part24988);
            	        select_option934=select_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_option934.tree);

            	    }
            	    break;

            	default:
            	    goto loop323;	/* break out of the loop */
            	    break;
                }
            }
            loop323: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_select_item_list_in_select_part24992);
            select_item_list935=select_item_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleselect_part2Ex;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list935.tree);

            // MySQL.g:1012:3: ( ( order_by_clause )? ( limit_clause )? | into_clause ( select_from )? | select_from ( into_clause )? )
            {
                int alt328=3;
                switch ( LA(1) )
                {
                case EOF:
                case CLOSE_PAR_SYMBOL:
                case FOR_SYMBOL:
                case LIMIT_SYMBOL:
                case LOCK_SYMBOL:
                case ON_SYMBOL:
                case ORDER_SYMBOL:
                case SEMICOLON_SYMBOL:
                case UNION_SYMBOL:
                case WITH_SYMBOL:
                	{
                		alt328=1;
                	}
                    break;
                case INTO_SYMBOL:
                	{
                		alt328=2;
                	}
                    break;
                case FROM_SYMBOL:
                	{
                		alt328=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 328;
                    EXCEPTION->state        = 0;


                    goto ruleselect_part2Ex;

                }

                switch (alt328)
                {
            	case 1:
            	    // MySQL.g:1013:4: ( order_by_clause )? ( limit_clause )?
            	    {
            	        // MySQL.g:1013:4: ( order_by_clause )?
            	        {
            	            int alt324=2;
            	            switch ( LA(1) )
            	            {
            	                case ORDER_SYMBOL:
            	                	{
            	                		alt324=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt324)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1013:4: order_by_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_select_part25001);
            	        	        order_by_clause936=order_by_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_part2Ex;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause936.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1013:21: ( limit_clause )?
            	        {
            	            int alt325=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt325=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt325)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1013:21: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_part25004);
            	        	        limit_clause937=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_part2Ex;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause937.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1014:6: into_clause ( select_from )?
            	    {
            	        FOLLOWPUSH(FOLLOW_into_clause_in_select_part25012);
            	        into_clause938=into_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, into_clause938.tree);

            	        // MySQL.g:1014:18: ( select_from )?
            	        {
            	            int alt326=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		alt326=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt326)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1014:18: select_from
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_select_from_in_select_part25014);
            	        	        select_from939=select_from(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_part2Ex;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_from939.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1015:6: select_from ( into_clause )?
            	    {
            	        FOLLOWPUSH(FOLLOW_select_from_in_select_part25022);
            	        select_from940=select_from(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_from940.tree);

            	        // MySQL.g:1015:18: ( into_clause )?
            	        {
            	            int alt327=2;
            	            switch ( LA(1) )
            	            {
            	                case INTO_SYMBOL:
            	                	{
            	                		alt327=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt327)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1015:18: into_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_into_clause_in_select_part25024);
            	        	        into_clause941=into_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_part2Ex;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, into_clause941.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1017:3: ( select_lock_type )?
            {
                int alt329=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    case LOCK_SYMBOL:
                    	{
                    		alt329=1;
                    	}
                        break;
                }

                switch (alt329)
                {
            	case 1:
            	    // MySQL.g:1017:3: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_select_part25033);
            	        select_lock_type942=select_lock_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_lock_type942.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleselect_part2Ex; /* Prevent compiler warnings */
    ruleselect_part2Ex: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_part2 */

/**
 * $ANTLR start table_expression
 * MySQL.g:1020:1: table_expression : ( from_clause )? ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : group_by_clause )? ( options {greedy=true; } : having_clause )? ( options {greedy=true; } : order_by_clause )? ( options {greedy=true; } : limit_clause )? ( options {greedy=true; } : procedure_analyse_clause )? ( options {greedy=true; } : select_lock_type )? ;
 */
static MySQLParser_table_expression_return
table_expression(pMySQLParser ctx)
{
    MySQLParser_table_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_from_clause_return from_clause943;
    #undef	RETURN_TYPE_from_clause943
    #define	RETURN_TYPE_from_clause943 MySQLParser_from_clause_return

    MySQLParser_where_clause_return where_clause944;
    #undef	RETURN_TYPE_where_clause944
    #define	RETURN_TYPE_where_clause944 MySQLParser_where_clause_return

    MySQLParser_group_by_clause_return group_by_clause945;
    #undef	RETURN_TYPE_group_by_clause945
    #define	RETURN_TYPE_group_by_clause945 MySQLParser_group_by_clause_return

    MySQLParser_having_clause_return having_clause946;
    #undef	RETURN_TYPE_having_clause946
    #define	RETURN_TYPE_having_clause946 MySQLParser_having_clause_return

    MySQLParser_order_by_clause_return order_by_clause947;
    #undef	RETURN_TYPE_order_by_clause947
    #define	RETURN_TYPE_order_by_clause947 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause948;
    #undef	RETURN_TYPE_limit_clause948
    #define	RETURN_TYPE_limit_clause948 MySQLParser_limit_clause_return

    MySQLParser_procedure_analyse_clause_return procedure_analyse_clause949;
    #undef	RETURN_TYPE_procedure_analyse_clause949
    #define	RETURN_TYPE_procedure_analyse_clause949 MySQLParser_procedure_analyse_clause_return

    MySQLParser_select_lock_type_return select_lock_type950;
    #undef	RETURN_TYPE_select_lock_type950
    #define	RETURN_TYPE_select_lock_type950 MySQLParser_select_lock_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    from_clause943.tree = NULL;

    where_clause944.tree = NULL;

    group_by_clause945.tree = NULL;

    having_clause946.tree = NULL;

    order_by_clause947.tree = NULL;

    limit_clause948.tree = NULL;

    procedure_analyse_clause949.tree = NULL;

    select_lock_type950.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1020:17: ( ( from_clause )? ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : group_by_clause )? ( options {greedy=true; } : having_clause )? ( options {greedy=true; } : order_by_clause )? ( options {greedy=true; } : limit_clause )? ( options {greedy=true; } : procedure_analyse_clause )? ( options {greedy=true; } : select_lock_type )? )
        // MySQL.g:1021:2: ( from_clause )? ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : group_by_clause )? ( options {greedy=true; } : having_clause )? ( options {greedy=true; } : order_by_clause )? ( options {greedy=true; } : limit_clause )? ( options {greedy=true; } : procedure_analyse_clause )? ( options {greedy=true; } : select_lock_type )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1021:2: ( from_clause )?
            {
                int alt330=2;
                switch ( LA(1) )
                {
                    case FROM_SYMBOL:
                    	{
                    		alt330=1;
                    	}
                        break;
                }

                switch (alt330)
                {
            	case 1:
            	    // MySQL.g:1021:2: from_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_from_clause_in_table_expression5043);
            	        from_clause943=from_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, from_clause943.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1022:2: ( options {greedy=true; } : where_clause )?
            {
                int alt331=2;
                switch ( LA(1) )
                {
                    case WHERE_SYMBOL:
                    	{
                    		alt331=1;
                    	}
                        break;
                }

                switch (alt331)
                {
            	case 1:
            	    // MySQL.g:1022:32: where_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_where_clause_in_table_expression5061);
            	        where_clause944=where_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause944.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1023:2: ( options {greedy=true; } : group_by_clause )?
            {
                int alt332=2;
                switch ( LA(1) )
                {
                    case GROUP_SYMBOL:
                    	{
                    		alt332=1;
                    	}
                        break;
                }

                switch (alt332)
                {
            	case 1:
            	    // MySQL.g:1023:32: group_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_group_by_clause_in_table_expression5080);
            	        group_by_clause945=group_by_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, group_by_clause945.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1024:2: ( options {greedy=true; } : having_clause )?
            {
                int alt333=2;
                switch ( LA(1) )
                {
                    case HAVING_SYMBOL:
                    	{
                    		alt333=1;
                    	}
                        break;
                }

                switch (alt333)
                {
            	case 1:
            	    // MySQL.g:1024:32: having_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_having_clause_in_table_expression5099);
            	        having_clause946=having_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, having_clause946.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1025:2: ( options {greedy=true; } : order_by_clause )?
            {
                int alt334=2;
                switch ( LA(1) )
                {
                    case ORDER_SYMBOL:
                    	{
                    		alt334=1;
                    	}
                        break;
                }

                switch (alt334)
                {
            	case 1:
            	    // MySQL.g:1025:32: order_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_order_by_clause_in_table_expression5118);
            	        order_by_clause947=order_by_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause947.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1026:2: ( options {greedy=true; } : limit_clause )?
            {
                int alt335=2;
                switch ( LA(1) )
                {
                    case LIMIT_SYMBOL:
                    	{
                    		alt335=1;
                    	}
                        break;
                }

                switch (alt335)
                {
            	case 1:
            	    // MySQL.g:1026:32: limit_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_limit_clause_in_table_expression5137);
            	        limit_clause948=limit_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause948.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1027:2: ( options {greedy=true; } : procedure_analyse_clause )?
            {
                int alt336=2;
                switch ( LA(1) )
                {
                    case PROCEDURE_SYMBOL:
                    	{
                    		alt336=1;
                    	}
                        break;
                }

                switch (alt336)
                {
            	case 1:
            	    // MySQL.g:1027:32: procedure_analyse_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_procedure_analyse_clause_in_table_expression5156);
            	        procedure_analyse_clause949=procedure_analyse_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_analyse_clause949.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1028:2: ( options {greedy=true; } : select_lock_type )?
            {
                int alt337=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    	{
                    		alt337=1;
                    	}
                        break;
                    case LOCK_SYMBOL:
                    	{
                    		alt337=1;
                    	}
                        break;
                }

                switch (alt337)
                {
            	case 1:
            	    // MySQL.g:1028:32: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_table_expression5175);
            	        select_lock_type950=select_lock_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_lock_type950.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_expressionEx; /* Prevent compiler warnings */
    ruletable_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_expression */

/**
 * $ANTLR start subquery
 * MySQL.g:1031:1: subquery : OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL -> ^( SUBQUERY_TOKEN OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_subquery_return
subquery(pMySQLParser ctx)
{
    MySQLParser_subquery_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL951;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL953;
    MySQLParser_query_expression_body_return query_expression_body952;
    #undef	RETURN_TYPE_query_expression_body952
    #define	RETURN_TYPE_query_expression_body952 MySQLParser_query_expression_body_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL951_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL953_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_CLOSE_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_OPEN_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_query_expression_body;
    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL951       = NULL;
    CLOSE_PAR_SYMBOL953       = NULL;
    query_expression_body952.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL951_tree   = NULL;
    CLOSE_PAR_SYMBOL953_tree   = NULL;

    stream_CLOSE_PAR_SYMBOL   = NULL;
    #define CREATE_stream_CLOSE_PAR_SYMBOL  if (stream_CLOSE_PAR_SYMBOL == NULL) {stream_CLOSE_PAR_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token CLOSE_PAR_SYMBOL"); } 
    stream_OPEN_PAR_SYMBOL   = NULL;
    #define CREATE_stream_OPEN_PAR_SYMBOL  if (stream_OPEN_PAR_SYMBOL == NULL) {stream_OPEN_PAR_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token OPEN_PAR_SYMBOL"); } 
    stream_query_expression_body   = NULL;
    #define CREATE_stream_query_expression_body  if (stream_query_expression_body == NULL) {stream_query_expression_body = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule query_expression_body"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1031:9: ( OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL -> ^( SUBQUERY_TOKEN OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1032:2: OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL951 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_subquery5187);
            if  (HASEXCEPTION())
            {
                goto rulesubqueryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_OPEN_PAR_SYMBOL; stream_OPEN_PAR_SYMBOL->add(stream_OPEN_PAR_SYMBOL, OPEN_PAR_SYMBOL951, NULL); }


            FOLLOWPUSH(FOLLOW_query_expression_body_in_subquery5189);
            query_expression_body952=query_expression_body(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubqueryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_query_expression_body; stream_query_expression_body->add(stream_query_expression_body, query_expression_body952.tree, NULL); }

            CLOSE_PAR_SYMBOL953 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_subquery5191);
            if  (HASEXCEPTION())
            {
                goto rulesubqueryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_CLOSE_PAR_SYMBOL; stream_CLOSE_PAR_SYMBOL->add(stream_CLOSE_PAR_SYMBOL, CLOSE_PAR_SYMBOL953, NULL); }


            /* AST REWRITE
             * elements          : query_expression_body, OPEN_PAR_SYMBOL, CLOSE_PAR_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1033:3: -> ^( SUBQUERY_TOKEN OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:1033:6: ^( SUBQUERY_TOKEN OPEN_PAR_SYMBOL query_expression_body CLOSE_PAR_SYMBOL )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SUBQUERY_TOKEN, (pANTLR3_UINT8)"SUBQUERY_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_OPEN_PAR_SYMBOL == NULL ? NULL : stream_OPEN_PAR_SYMBOL->nextNode(stream_OPEN_PAR_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_query_expression_body == NULL ? NULL : stream_query_expression_body->nextTree(stream_query_expression_body));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_CLOSE_PAR_SYMBOL == NULL ? NULL : stream_CLOSE_PAR_SYMBOL->nextNode(stream_CLOSE_PAR_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulesubqueryEx; /* Prevent compiler warnings */
    rulesubqueryEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_CLOSE_PAR_SYMBOL != NULL) stream_CLOSE_PAR_SYMBOL->free(stream_CLOSE_PAR_SYMBOL);
        if (stream_OPEN_PAR_SYMBOL != NULL) stream_OPEN_PAR_SYMBOL->free(stream_OPEN_PAR_SYMBOL);
        if (stream_query_expression_body != NULL) stream_query_expression_body->free(stream_query_expression_body);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end subquery */

/**
 * $ANTLR start query_expression_body
 * MySQL.g:1036:1: query_expression_body : query_specification ( UNION_SYMBOL union_option query_specification )* ;
 */
static MySQLParser_query_expression_body_return
query_expression_body(pMySQLParser ctx)
{
    MySQLParser_query_expression_body_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNION_SYMBOL955;
    MySQLParser_query_specification_return query_specification954;
    #undef	RETURN_TYPE_query_specification954
    #define	RETURN_TYPE_query_specification954 MySQLParser_query_specification_return

    MySQLParser_union_option_return union_option956;
    #undef	RETURN_TYPE_union_option956
    #define	RETURN_TYPE_union_option956 MySQLParser_union_option_return

    MySQLParser_query_specification_return query_specification957;
    #undef	RETURN_TYPE_query_specification957
    #define	RETURN_TYPE_query_specification957 MySQLParser_query_specification_return

    pANTLR3_BASE_TREE UNION_SYMBOL955_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNION_SYMBOL955       = NULL;
    query_specification954.tree = NULL;

    union_option956.tree = NULL;

    query_specification957.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNION_SYMBOL955_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1036:22: ( query_specification ( UNION_SYMBOL union_option query_specification )* )
        // MySQL.g:1037:2: query_specification ( UNION_SYMBOL union_option query_specification )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_query_specification_in_query_expression_body5214);
            query_specification954=query_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequery_expression_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_specification954.tree);

            // MySQL.g:1037:22: ( UNION_SYMBOL union_option query_specification )*

            for (;;)
            {
                int alt338=2;
                switch ( LA(1) )
                {
                case UNION_SYMBOL:
                	{
                		alt338=1;
                	}
                    break;

                }

                switch (alt338)
                {
            	case 1:
            	    // MySQL.g:1037:23: UNION_SYMBOL union_option query_specification
            	    {
            	        UNION_SYMBOL955 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_query_expression_body5217);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequery_expression_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNION_SYMBOL955_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL955));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNION_SYMBOL955_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_union_option_in_query_expression_body5219);
            	        union_option956=union_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequery_expression_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_option956.tree);

            	        FOLLOWPUSH(FOLLOW_query_specification_in_query_expression_body5221);
            	        query_specification957=query_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequery_expression_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_specification957.tree);

            	    }
            	    break;

            	default:
            	    goto loop338;	/* break out of the loop */
            	    break;
                }
            }
            loop338: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulequery_expression_bodyEx; /* Prevent compiler warnings */
    rulequery_expression_bodyEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end query_expression_body */

/**
 * $ANTLR start select_part2_derived
 * MySQL.g:1040:1: select_part2_derived : ( options {greedy=true; } : query_spec_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )* select_item_list ;
 */
static MySQLParser_select_part2_derived_return
select_part2_derived(pMySQLParser ctx)
{
    MySQLParser_select_part2_derived_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set959;
    MySQLParser_query_spec_option_return query_spec_option958;
    #undef	RETURN_TYPE_query_spec_option958
    #define	RETURN_TYPE_query_spec_option958 MySQLParser_query_spec_option_return

    MySQLParser_select_item_list_return select_item_list960;
    #undef	RETURN_TYPE_select_item_list960
    #define	RETURN_TYPE_select_item_list960 MySQLParser_select_item_list_return

    pANTLR3_BASE_TREE set959_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set959       = NULL;
    query_spec_option958.tree = NULL;

    select_item_list960.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set959_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1040:21: ( ( options {greedy=true; } : query_spec_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )* select_item_list )
        // MySQL.g:1041:2: ( options {greedy=true; } : query_spec_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )* select_item_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1041:2: ( options {greedy=true; } : query_spec_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )*

            for (;;)
            {
                int alt339=3;
                switch ( LA(1) )
                {
                case SQL_BUFFER_RESULT_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA339_95 = LA(2);
                		    if ( (LA339_95 == OPEN_PAR_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MOD_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MINUS_OPERATOR || LA339_95 == PLUS_OPERATOR))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == NOT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == SOUNDS_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == SINGLE_QUOTED_TEXT))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == IDENTIFIER))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == DATE_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == ASCII_SYMBOL || ((LA339_95 >= BITNUMBER) && (LA339_95 <= BITSTRING)) || LA339_95 == BITWISE_NOT_OPERATOR || LA339_95 == FALSE_SYMBOL || LA339_95 == FLOAT || ((LA339_95 >= HEXNUMBER) && (LA339_95 <= HEXSTRING)) || LA339_95 == INTEGER || LA339_95 == INTERVAL_SYMBOL || LA339_95 == LOGICAL_NOT_OPERATOR || LA339_95 == NCHAR_TEXT || LA339_95 == NOT2_SYMBOL || LA339_95 == NULL2_SYMBOL || LA339_95 == NULL_SYMBOL || LA339_95 == TRUE_SYMBOL || LA339_95 == UNDERSCORE_CHARSET))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == TIME_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == TIMESTAMP_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == DAY_SYMBOL || LA339_95 == CHAR_SYMBOL || LA339_95 == CURRENT_USER_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == HOUR_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MINUTE_SYMBOL || LA339_95 == INSERT_SYMBOL || LA339_95 == LEFT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MONTH_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == SECOND_SYMBOL || LA339_95 == RIGHT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == USER_SYMBOL || LA339_95 == TRIM_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == YEAR_SYMBOL || LA339_95 == VALUES_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == ADDDATE_SYMBOL || LA339_95 == SUBDATE_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == GET_FORMAT_SYMBOL || LA339_95 == CURDATE_SYMBOL || LA339_95 == CURTIME_SYMBOL || LA339_95 == DATE_ADD_SYMBOL || LA339_95 == DATE_SUB_SYMBOL || LA339_95 == EXTRACT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (((LA339_95 >= TIMESTAMP_ADD_SYMBOL) && (LA339_95 <= TIMESTAMP_DIFF_SYMBOL)) || LA339_95 == NOW_SYMBOL || LA339_95 == POSITION_SYMBOL || LA339_95 == SUBSTRING_SYMBOL || LA339_95 == SYSDATE_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == COALESCE_SYMBOL || ((LA339_95 >= UTC_DATE_SYMBOL) && (LA339_95 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == CHARSET_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == FORMAT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == COLLATION_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MICROSECOND_SYMBOL || LA339_95 == DATABASE_SYMBOL || LA339_95 == IF_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == TRUNCATE_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == OLD_PASSWORD_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MULT_OPERATOR))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == PASSWORD_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == QUARTER_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == REVERSE_SYMBOL || ((LA339_95 >= REPEAT_SYMBOL) && (LA339_95 <= REPLACE_SYMBOL))))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == ROW_COUNT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == WEEK_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == CONTAINS_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (((LA339_95 >= BACKUP_SYMBOL) && (LA339_95 <= CACHE_SYMBOL)) || ((LA339_95 >= CHECKSUM_SYMBOL) && (LA339_95 <= COMMIT_SYMBOL)) || ((LA339_95 >= DEALLOCATE_SYMBOL) && (LA339_95 <= FOLLOWS_SYMBOL)) || ((LA339_95 >= HANDLER_SYMBOL) && (LA339_95 <= STOP_SYMBOL)) || ((LA339_95 >= UNICODE_SYMBOL) && (LA339_95 <= XA_SYMBOL))))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == LINESTRING_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MULTIPOINT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == POINT_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == POLYGON_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == AVG_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == ROW_SYMBOL || ((LA339_95 >= AT_AT_SIGN_SYMBOL) && (LA339_95 <= AT_TEXT_SUFFIX)) || ((LA339_95 >= BIT_AND_SYMBOL) && (LA339_95 <= BIT_XOR_SYMBOL)) || LA339_95 == COUNT_SYMBOL || LA339_95 == EXISTS_SYMBOL || LA339_95 == GROUP_CONCAT_SYMBOL || LA339_95 == MAX_SYMBOL || LA339_95 == MIN_SYMBOL || LA339_95 == PARAM_MARKER || LA339_95 == STDDEV_SAMP_SYMBOL || LA339_95 == STD_SYMBOL || LA339_95 == SUM_SYMBOL || LA339_95 == VARIANCE_SYMBOL || LA339_95 == VAR_SAMP_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == SQL_BUFFER_RESULT_SYMBOL || LA339_95 == BINARY_SYMBOL || ((LA339_95 >= CASE_SYMBOL) && (LA339_95 <= CAST_SYMBOL)) || LA339_95 == CONVERT_SYMBOL || LA339_95 == MATCH_SYMBOL || LA339_95 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == SQL_CACHE_SYMBOL || LA339_95 == SQL_NO_CACHE_SYMBOL || LA339_95 == ALL_SYMBOL || LA339_95 == DISTINCT_SYMBOL || LA339_95 == HIGH_PRIORITY_SYMBOL || ((LA339_95 >= SQL_BIG_RESULT_SYMBOL) && (LA339_95 <= SQL_SMALL_RESULT_SYMBOL)) || LA339_95 == STRAIGHT_JOIN_SYMBOL))
                		    {
                		        alt339=1;
                		    }
                		    else if ( (LA339_95 == ACTION_SYMBOL || ((LA339_95 >= AFTER_SYMBOL) && (LA339_95 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA339_95 >= BINLOG_SYMBOL) && (LA339_95 <= CLASS_ORIGIN_SYMBOL)) || LA339_95 == CODE_SYMBOL || ((LA339_95 >= COLUMN_NAME_SYMBOL) && (LA339_95 <= DATETIME_SYMBOL)) || ((LA339_95 >= DEFAULT_AUTH_SYMBOL) && (LA339_95 <= GEOMETRY_SYMBOL)) || ((LA339_95 >= GRANTS_SYMBOL) && (LA339_95 <= HOSTS_SYMBOL)) || ((LA339_95 >= IDENTIFIED_SYMBOL) && (LA339_95 <= LEVEL_SYMBOL)) || ((LA339_95 >= LIST_SYMBOL) && (LA339_95 <= MESSAGE_TEXT_SYMBOL)) || LA339_95 == MIGRATE_SYMBOL || ((LA339_95 >= MIN_ROWS_SYMBOL) && (LA339_95 <= MODE_SYMBOL)) || ((LA339_95 >= MUTEX_SYMBOL) && (LA339_95 <= OFFSET_SYMBOL)) || ((LA339_95 >= ONE_SHOT_SYMBOL) && (LA339_95 <= PARTITIONS_SYMBOL)) || ((LA339_95 >= PHASE_SYMBOL) && (LA339_95 <= PLUGINS_SYMBOL)) || ((LA339_95 >= PRESERVE_SYMBOL) && (LA339_95 <= PROXY_SYMBOL)) || ((LA339_95 >= QUERY_SYMBOL) && (LA339_95 <= RETURNS_SYMBOL)) || ((LA339_95 >= ROLLUP_SYMBOL) && (LA339_95 <= ROWS_SYMBOL)) || LA339_95 == ROW_FORMAT_SYMBOL || ((LA339_95 >= RTREE_SYMBOL) && (LA339_95 <= SCHEMA_NAME_SYMBOL)) || ((LA339_95 >= SERIAL_SYMBOL) && (LA339_95 <= SNAPSHOT_SYMBOL)) || ((LA339_95 >= SOURCE_SYMBOL) && (LA339_95 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA339_95 >= SQL_THREAD_SYMBOL) && (LA339_95 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA339_95 >= SUBJECT_SYMBOL) && (LA339_95 <= TRIGGERS_SYMBOL)) || ((LA339_95 >= TYPES_SYMBOL) && (LA339_95 <= USER_RESOURCES_SYMBOL)) || ((LA339_95 >= USE_FRM_SYMBOL) && (LA339_95 <= WAIT_SYMBOL)) || LA339_95 == WORK_SYMBOL || ((LA339_95 >= X509_SYMBOL) && (LA339_95 <= XML_SYMBOL))))
                		    {
                		        alt339=1;
                		    }

                		}
                	}
                    break;
                case SQL_CACHE_SYMBOL:
                case SQL_NO_CACHE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA339_103 = LA(2);
                		    if ( (LA339_103 == OPEN_PAR_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_244 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MOD_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_248 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MINUS_OPERATOR || LA339_103 == PLUS_OPERATOR))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_249 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == NOT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_253 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == SOUNDS_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_258 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == SINGLE_QUOTED_TEXT))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_265 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == IDENTIFIER))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_266 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == BACK_TICK_QUOTED_ID))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_267 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == DOUBLE_QUOTED_TEXT))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_268 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == DATE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_269 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == ASCII_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_270 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( ((SERVER_VERSION <= 50100)) && (LA339_103 == ALL_SYMBOL || ((LA339_103 >= AT_AT_SIGN_SYMBOL) && (LA339_103 <= AT_TEXT_SUFFIX)) || LA339_103 == BINARY_SYMBOL || ((LA339_103 >= BITNUMBER) && (LA339_103 <= BITSTRING)) || LA339_103 == BITWISE_NOT_OPERATOR || ((LA339_103 >= BIT_AND_SYMBOL) && (LA339_103 <= BIT_XOR_SYMBOL)) || ((LA339_103 >= CASE_SYMBOL) && (LA339_103 <= CAST_SYMBOL)) || LA339_103 == CHAR_SYMBOL || ((LA339_103 >= CONVERT_SYMBOL) && (LA339_103 <= COUNT_SYMBOL)) || LA339_103 == CURDATE_SYMBOL || LA339_103 == CURRENT_USER_SYMBOL || LA339_103 == CURTIME_SYMBOL || LA339_103 == DATABASE_SYMBOL || LA339_103 == DATE_ADD_SYMBOL || LA339_103 == DATE_SUB_SYMBOL || LA339_103 == DISTINCT_SYMBOL || LA339_103 == EXISTS_SYMBOL || ((LA339_103 >= EXTRACT_SYMBOL) && (LA339_103 <= FALSE_SYMBOL)) || LA339_103 == FLOAT || LA339_103 == GROUP_CONCAT_SYMBOL || ((LA339_103 >= HEXNUMBER) && (LA339_103 <= HIGH_PRIORITY_SYMBOL)) || LA339_103 == IF_SYMBOL || LA339_103 == INSERT_SYMBOL || LA339_103 == INTEGER || LA339_103 == INTERVAL_SYMBOL || LA339_103 == LEFT_SYMBOL || LA339_103 == LOGICAL_NOT_OPERATOR || LA339_103 == MATCH_SYMBOL || LA339_103 == MAX_SYMBOL || LA339_103 == MIN_SYMBOL || LA339_103 == NCHAR_TEXT || LA339_103 == NOT2_SYMBOL || LA339_103 == NOW_SYMBOL || LA339_103 == NULL2_SYMBOL || LA339_103 == NULL_SYMBOL || LA339_103 == OPEN_CURLY_SYMBOL || LA339_103 == PARAM_MARKER || LA339_103 == POSITION_SYMBOL || ((LA339_103 >= REPEAT_SYMBOL) && (LA339_103 <= REPLACE_SYMBOL)) || LA339_103 == RIGHT_SYMBOL || ((LA339_103 >= SQL_BIG_RESULT_SYMBOL) && (LA339_103 <= SQL_SMALL_RESULT_SYMBOL)) || LA339_103 == STDDEV_SAMP_SYMBOL || ((LA339_103 >= STD_SYMBOL) && (LA339_103 <= STRAIGHT_JOIN_SYMBOL)) || LA339_103 == SUBSTRING_SYMBOL || ((LA339_103 >= SUM_SYMBOL) && (LA339_103 <= SYSDATE_SYMBOL)) || ((LA339_103 >= TRIM_SYMBOL) && (LA339_103 <= TRUE_SYMBOL)) || LA339_103 == UNDERSCORE_CHARSET || ((LA339_103 >= UTC_DATE_SYMBOL) && (LA339_103 <= UTC_TIME_SYMBOL)) || LA339_103 == VALUES_SYMBOL || LA339_103 == VARIANCE_SYMBOL || LA339_103 == VAR_SAMP_SYMBOL))
                		    {
                		        alt339=2;
                		    }
                		    else if ( (LA339_103 == TIME_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_293 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == TIMESTAMP_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_294 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == DAY_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_295 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == HOUR_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_298 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MINUTE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_299 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MONTH_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_302 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == SECOND_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_303 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == USER_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_305 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == YEAR_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_307 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == ADDDATE_SYMBOL || LA339_103 == SUBDATE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_309 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == GET_FORMAT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_310 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (((LA339_103 >= TIMESTAMP_ADD_SYMBOL) && (LA339_103 <= TIMESTAMP_DIFF_SYMBOL))))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_315 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == COALESCE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_320 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == CHARSET_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_324 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == FORMAT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_325 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == COLLATION_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_326 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MICROSECOND_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_327 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == TRUNCATE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_330 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == OLD_PASSWORD_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_331 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MULT_OPERATOR))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_332 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == PASSWORD_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_333 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == QUARTER_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_334 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == REVERSE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_335 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == ROW_COUNT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_338 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == WEEK_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_339 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == CONTAINS_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_340 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == WEIGHT_STRING_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_341 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_342 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (((LA339_103 >= BACKUP_SYMBOL) && (LA339_103 <= CACHE_SYMBOL)) || ((LA339_103 >= CHECKSUM_SYMBOL) && (LA339_103 <= COMMIT_SYMBOL)) || ((LA339_103 >= DEALLOCATE_SYMBOL) && (LA339_103 <= FOLLOWS_SYMBOL)) || ((LA339_103 >= HANDLER_SYMBOL) && (LA339_103 <= STOP_SYMBOL)) || ((LA339_103 >= UNICODE_SYMBOL) && (LA339_103 <= XA_SYMBOL))))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_343 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == LINESTRING_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_344 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MULTILINESTRING_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_345 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MULTIPOINT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_346 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == MULTIPOLYGON_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_347 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == POINT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_348 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == POLYGON_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_349 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == AVG_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_350 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == ROW_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_351 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == SQL_BUFFER_RESULT_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_369 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == SQL_CACHE_SYMBOL || LA339_103 == SQL_NO_CACHE_SYMBOL))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_377 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }
                		    else if ( (LA339_103 == ACTION_SYMBOL || ((LA339_103 >= AFTER_SYMBOL) && (LA339_103 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA339_103 >= BINLOG_SYMBOL) && (LA339_103 <= CLASS_ORIGIN_SYMBOL)) || LA339_103 == CODE_SYMBOL || ((LA339_103 >= COLUMN_NAME_SYMBOL) && (LA339_103 <= DATETIME_SYMBOL)) || ((LA339_103 >= DEFAULT_AUTH_SYMBOL) && (LA339_103 <= GEOMETRY_SYMBOL)) || ((LA339_103 >= GRANTS_SYMBOL) && (LA339_103 <= HOSTS_SYMBOL)) || ((LA339_103 >= IDENTIFIED_SYMBOL) && (LA339_103 <= LEVEL_SYMBOL)) || ((LA339_103 >= LIST_SYMBOL) && (LA339_103 <= MESSAGE_TEXT_SYMBOL)) || LA339_103 == MIGRATE_SYMBOL || ((LA339_103 >= MIN_ROWS_SYMBOL) && (LA339_103 <= MODE_SYMBOL)) || ((LA339_103 >= MUTEX_SYMBOL) && (LA339_103 <= OFFSET_SYMBOL)) || ((LA339_103 >= ONE_SHOT_SYMBOL) && (LA339_103 <= PARTITIONS_SYMBOL)) || ((LA339_103 >= PHASE_SYMBOL) && (LA339_103 <= PLUGINS_SYMBOL)) || ((LA339_103 >= PRESERVE_SYMBOL) && (LA339_103 <= PROXY_SYMBOL)) || ((LA339_103 >= QUERY_SYMBOL) && (LA339_103 <= RETURNS_SYMBOL)) || ((LA339_103 >= ROLLUP_SYMBOL) && (LA339_103 <= ROWS_SYMBOL)) || LA339_103 == ROW_FORMAT_SYMBOL || ((LA339_103 >= RTREE_SYMBOL) && (LA339_103 <= SCHEMA_NAME_SYMBOL)) || ((LA339_103 >= SERIAL_SYMBOL) && (LA339_103 <= SNAPSHOT_SYMBOL)) || ((LA339_103 >= SOURCE_SYMBOL) && (LA339_103 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA339_103 >= SQL_THREAD_SYMBOL) && (LA339_103 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA339_103 >= SUBJECT_SYMBOL) && (LA339_103 <= TRIGGERS_SYMBOL)) || ((LA339_103 >= TYPES_SYMBOL) && (LA339_103 <= USER_RESOURCES_SYMBOL)) || ((LA339_103 >= USE_FRM_SYMBOL) && (LA339_103 <= WAIT_SYMBOL)) || LA339_103 == WORK_SYMBOL || ((LA339_103 >= X509_SYMBOL) && (LA339_103 <= XML_SYMBOL))))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA339_379 = LA(3);
                		            if ( ((SERVER_VERSION <= 50100)))
                		            {
                		                alt339=2;
                		            }

                		        }
                		    }

                		}
                	}
                    break;
                case ALL_SYMBOL:
                case DISTINCT_SYMBOL:
                case HIGH_PRIORITY_SYMBOL:
                case SQL_BIG_RESULT_SYMBOL:
                case SQL_CALC_FOUND_ROWS_SYMBOL:
                case SQL_SMALL_RESULT_SYMBOL:
                case STRAIGHT_JOIN_SYMBOL:
                	{
                		alt339=1;
                	}
                    break;

                }

                switch (alt339)
                {
            	case 1:
            	    // MySQL.g:1042:3: query_spec_option
            	    {
            	        FOLLOWPUSH(FOLLOW_query_spec_option_in_select_part2_derived5249);
            	        query_spec_option958=query_spec_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2_derivedEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_spec_option958.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1043:5: {...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL )
            	    {
            	        if ( !((SERVER_VERSION <= 50100)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION <= 50100";
            	                EXCEPTION->ruleName	 = (void *)"select_part2_derived";


            	        }

            	        set959=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == SQL_CACHE_SYMBOL || LA(1) == SQL_NO_CACHE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set959))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleselect_part2_derivedEx;
            	        }


            	    }
            	    break;

            	default:
            	    goto loop339;	/* break out of the loop */
            	    break;
                }
            }
            loop339: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_select_item_list_in_select_part2_derived5271);
            select_item_list960=select_item_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleselect_part2_derivedEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list960.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleselect_part2_derivedEx; /* Prevent compiler warnings */
    ruleselect_part2_derivedEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_part2_derived */

/**
 * $ANTLR start select_option
 * MySQL.g:1047:1: select_option : ( query_spec_option | SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL |{...}? => MAX_STATEMENT_TIME_SYMBOL EQUAL_OPERATOR number );
 */
static MySQLParser_select_option_return
select_option(pMySQLParser ctx)
{
    MySQLParser_select_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SQL_NO_CACHE_SYMBOL962;
    pANTLR3_COMMON_TOKEN    SQL_CACHE_SYMBOL963;
    pANTLR3_COMMON_TOKEN    MAX_STATEMENT_TIME_SYMBOL964;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR965;
    MySQLParser_query_spec_option_return query_spec_option961;
    #undef	RETURN_TYPE_query_spec_option961
    #define	RETURN_TYPE_query_spec_option961 MySQLParser_query_spec_option_return

    MySQLParser_number_return number966;
    #undef	RETURN_TYPE_number966
    #define	RETURN_TYPE_number966 MySQLParser_number_return

    pANTLR3_BASE_TREE SQL_NO_CACHE_SYMBOL962_tree;
    pANTLR3_BASE_TREE SQL_CACHE_SYMBOL963_tree;
    pANTLR3_BASE_TREE MAX_STATEMENT_TIME_SYMBOL964_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR965_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SQL_NO_CACHE_SYMBOL962       = NULL;
    SQL_CACHE_SYMBOL963       = NULL;
    MAX_STATEMENT_TIME_SYMBOL964       = NULL;
    EQUAL_OPERATOR965       = NULL;
    query_spec_option961.tree = NULL;

    number966.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SQL_NO_CACHE_SYMBOL962_tree   = NULL;
    SQL_CACHE_SYMBOL963_tree   = NULL;
    MAX_STATEMENT_TIME_SYMBOL964_tree   = NULL;
    EQUAL_OPERATOR965_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1047:14: ( query_spec_option | SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL |{...}? => MAX_STATEMENT_TIME_SYMBOL EQUAL_OPERATOR number )

            ANTLR3_UINT32 alt340;

            alt340=4;

            {
                int LA340_0 = LA(1);
                if ( (LA340_0 == SQL_BUFFER_RESULT_SYMBOL || LA340_0 == ALL_SYMBOL || LA340_0 == DISTINCT_SYMBOL || LA340_0 == HIGH_PRIORITY_SYMBOL || ((LA340_0 >= SQL_BIG_RESULT_SYMBOL) && (LA340_0 <= SQL_SMALL_RESULT_SYMBOL)) || LA340_0 == STRAIGHT_JOIN_SYMBOL))
                {
                    alt340=1;
                }
                else if ( (LA340_0 == SQL_NO_CACHE_SYMBOL))
                {
                    alt340=2;
                }
                else if ( (LA340_0 == SQL_CACHE_SYMBOL))
                {
                    alt340=3;
                }
                else if ( ((SERVER_VERSION >= 50704)) && (LA340_0 == MAX_STATEMENT_TIME_SYMBOL))
                {
                    alt340=4;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 340;
                    EXCEPTION->state        = 0;


                    goto ruleselect_optionEx;

                }
            }
            switch (alt340)
            {
        	case 1:
        	    // MySQL.g:1048:2: query_spec_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_query_spec_option_in_select_option5280);
        	        query_spec_option961=query_spec_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_spec_option961.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1049:4: SQL_NO_CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQL_NO_CACHE_SYMBOL962 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_NO_CACHE_SYMBOL, &FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option5285);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_NO_CACHE_SYMBOL962_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_NO_CACHE_SYMBOL962));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_NO_CACHE_SYMBOL962_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1050:4: SQL_CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQL_CACHE_SYMBOL963 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_CACHE_SYMBOL, &FOLLOW_SQL_CACHE_SYMBOL_in_select_option5290);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_CACHE_SYMBOL963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_CACHE_SYMBOL963));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_CACHE_SYMBOL963_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1051:4: {...}? => MAX_STATEMENT_TIME_SYMBOL EQUAL_OPERATOR number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50704)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50704";
        	                EXCEPTION->ruleName	 = (void *)"select_option";


        	        }

        	        MAX_STATEMENT_TIME_SYMBOL964 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_STATEMENT_TIME_SYMBOL, &FOLLOW_MAX_STATEMENT_TIME_SYMBOL_in_select_option5299);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_STATEMENT_TIME_SYMBOL964_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_STATEMENT_TIME_SYMBOL964));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_STATEMENT_TIME_SYMBOL964_tree);
        	        }

        	        EQUAL_OPERATOR965 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_select_option5301);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR965_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR965));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR965_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_number_in_select_option5303);
        	        number966=number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number966.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleselect_optionEx; /* Prevent compiler warnings */
    ruleselect_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_option */

/**
 * $ANTLR start query_spec_option
 * MySQL.g:1054:1: query_spec_option : ( ( ALL_SYMBOL | DISTINCT_SYMBOL ) | STRAIGHT_JOIN_SYMBOL | HIGH_PRIORITY_SYMBOL | SQL_SMALL_RESULT_SYMBOL | SQL_BIG_RESULT_SYMBOL | SQL_BUFFER_RESULT_SYMBOL | SQL_CALC_FOUND_ROWS_SYMBOL );
 */
static MySQLParser_query_spec_option_return
query_spec_option(pMySQLParser ctx)
{
    MySQLParser_query_spec_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set967;

    pANTLR3_BASE_TREE set967_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set967       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set967_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1054:18: ( ( ALL_SYMBOL | DISTINCT_SYMBOL ) | STRAIGHT_JOIN_SYMBOL | HIGH_PRIORITY_SYMBOL | SQL_SMALL_RESULT_SYMBOL | SQL_BIG_RESULT_SYMBOL | SQL_BUFFER_RESULT_SYMBOL | SQL_CALC_FOUND_ROWS_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set967=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == SQL_BUFFER_RESULT_SYMBOL || LA(1) == ALL_SYMBOL || LA(1) == DISTINCT_SYMBOL || LA(1) == HIGH_PRIORITY_SYMBOL || ((LA(1) >= SQL_BIG_RESULT_SYMBOL) && (LA(1) <= SQL_SMALL_RESULT_SYMBOL)) || LA(1) == STRAIGHT_JOIN_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set967))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulequery_spec_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulequery_spec_optionEx; /* Prevent compiler warnings */
    rulequery_spec_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end query_spec_option */

/**
 * $ANTLR start select_item_list
 * MySQL.g:1064:1: select_item_list : ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )* ;
 */
static MySQLParser_select_item_list_return
select_item_list(pMySQLParser ctx)
{
    MySQLParser_select_item_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MULT_OPERATOR969;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL970;
    MySQLParser_select_item_return select_item968;
    #undef	RETURN_TYPE_select_item968
    #define	RETURN_TYPE_select_item968 MySQLParser_select_item_return

    MySQLParser_select_item_return select_item971;
    #undef	RETURN_TYPE_select_item971
    #define	RETURN_TYPE_select_item971 MySQLParser_select_item_return

    pANTLR3_BASE_TREE MULT_OPERATOR969_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL970_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MULT_OPERATOR969       = NULL;
    COMMA_SYMBOL970       = NULL;
    select_item968.tree = NULL;

    select_item971.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MULT_OPERATOR969_tree   = NULL;
    COMMA_SYMBOL970_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1064:17: ( ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )* )
        // MySQL.g:1065:2: ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1065:2: ( select_item | MULT_OPERATOR )
            {
                int alt341=2;
                {
                    int LA341_0 = LA(1);
                    if ( (LA341_0 == BACK_TICK_QUOTED_ID || LA341_0 == IDENTIFIER))
                    {
                        alt341=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA341_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt341=1;
                    }
                    else if ( (LA341_0 == ASCII_SYMBOL || LA341_0 == DATE_SYMBOL || LA341_0 == BITWISE_NOT_OPERATOR || LA341_0 == FALSE_SYMBOL || LA341_0 == FLOAT || ((LA341_0 >= HEXNUMBER) && (LA341_0 <= HEXSTRING)) || LA341_0 == INTEGER || LA341_0 == INTERVAL_SYMBOL || LA341_0 == LOGICAL_NOT_OPERATOR || LA341_0 == MINUS_OPERATOR || LA341_0 == NCHAR_TEXT || LA341_0 == NOT2_SYMBOL || LA341_0 == NOT_SYMBOL || LA341_0 == PLUS_OPERATOR || LA341_0 == SINGLE_QUOTED_TEXT || LA341_0 == TRUE_SYMBOL || LA341_0 == UNDERSCORE_CHARSET))
                    {
                        alt341=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA341_0 >= BITNUMBER) && (LA341_0 <= BITSTRING))))
                    {
                        alt341=1;
                    }
                    else if ( (((LA341_0 >= BACKUP_SYMBOL) && (LA341_0 <= DATETIME_SYMBOL)) || ((LA341_0 >= DAY_SYMBOL) && (LA341_0 <= YEAR_SYMBOL)) || ((LA341_0 >= AT_AT_SIGN_SYMBOL) && (LA341_0 <= AT_TEXT_SUFFIX)) || LA341_0 == BINARY_SYMBOL || ((LA341_0 >= BIT_AND_SYMBOL) && (LA341_0 <= BIT_XOR_SYMBOL)) || ((LA341_0 >= CASE_SYMBOL) && (LA341_0 <= CAST_SYMBOL)) || LA341_0 == CHAR_SYMBOL || ((LA341_0 >= CONVERT_SYMBOL) && (LA341_0 <= COUNT_SYMBOL)) || LA341_0 == CURDATE_SYMBOL || LA341_0 == CURRENT_USER_SYMBOL || LA341_0 == CURTIME_SYMBOL || LA341_0 == DATABASE_SYMBOL || LA341_0 == DATE_ADD_SYMBOL || LA341_0 == DATE_SUB_SYMBOL || LA341_0 == EXISTS_SYMBOL || LA341_0 == EXTRACT_SYMBOL || LA341_0 == GROUP_CONCAT_SYMBOL || LA341_0 == IF_SYMBOL || LA341_0 == INSERT_SYMBOL || LA341_0 == LEFT_SYMBOL || LA341_0 == MATCH_SYMBOL || LA341_0 == MAX_SYMBOL || LA341_0 == MIN_SYMBOL || LA341_0 == MOD_SYMBOL || LA341_0 == NOW_SYMBOL || LA341_0 == NULL2_SYMBOL || LA341_0 == NULL_SYMBOL || ((LA341_0 >= OPEN_CURLY_SYMBOL) && (LA341_0 <= OPEN_PAR_SYMBOL)) || LA341_0 == PARAM_MARKER || LA341_0 == POSITION_SYMBOL || ((LA341_0 >= REPEAT_SYMBOL) && (LA341_0 <= REPLACE_SYMBOL)) || LA341_0 == RIGHT_SYMBOL || LA341_0 == STDDEV_SAMP_SYMBOL || LA341_0 == STD_SYMBOL || LA341_0 == SUBSTRING_SYMBOL || ((LA341_0 >= SUM_SYMBOL) && (LA341_0 <= SYSDATE_SYMBOL)) || LA341_0 == TRIM_SYMBOL || ((LA341_0 >= UTC_DATE_SYMBOL) && (LA341_0 <= UTC_TIME_SYMBOL)) || LA341_0 == VALUES_SYMBOL || LA341_0 == VARIANCE_SYMBOL || LA341_0 == VAR_SAMP_SYMBOL))
                    {
                        alt341=1;
                    }
                    else if ( (LA341_0 == MULT_OPERATOR))
                    {
                        alt341=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 341;
                        EXCEPTION->state        = 0;


                        goto ruleselect_item_listEx;

                    }
                }
                switch (alt341)
                {
            	case 1:
            	    // MySQL.g:1065:3: select_item
            	    {
            	        FOLLOWPUSH(FOLLOW_select_item_in_select_item_list5358);
            	        select_item968=select_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item968.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1065:17: MULT_OPERATOR
            	    {
            	        MULT_OPERATOR969 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_select_item_list5362);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR969_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR969));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR969_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1065:32: ( options {greedy=true; } : COMMA_SYMBOL select_item )*

            for (;;)
            {
                int alt342=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA342_22 = LA(2);
                		    if ( (LA342_22 == OPEN_PAR_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == IDENTIFIER))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == DATE_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == ASCII_SYMBOL || ((LA342_22 >= BITNUMBER) && (LA342_22 <= BITSTRING)) || LA342_22 == BITWISE_NOT_OPERATOR || LA342_22 == FALSE_SYMBOL || LA342_22 == FLOAT || ((LA342_22 >= HEXNUMBER) && (LA342_22 <= HEXSTRING)) || LA342_22 == INTEGER || LA342_22 == INTERVAL_SYMBOL || LA342_22 == LOGICAL_NOT_OPERATOR || LA342_22 == MINUS_OPERATOR || LA342_22 == NCHAR_TEXT || LA342_22 == NOT2_SYMBOL || LA342_22 == NOT_SYMBOL || LA342_22 == NULL2_SYMBOL || LA342_22 == NULL_SYMBOL || LA342_22 == PLUS_OPERATOR || LA342_22 == SINGLE_QUOTED_TEXT || LA342_22 == TRUE_SYMBOL || LA342_22 == UNDERSCORE_CHARSET))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == TIME_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == TIMESTAMP_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == DAY_SYMBOL || LA342_22 == CHAR_SYMBOL || LA342_22 == CURRENT_USER_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == HOUR_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == MINUTE_SYMBOL || LA342_22 == INSERT_SYMBOL || LA342_22 == LEFT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == MONTH_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == SECOND_SYMBOL || LA342_22 == RIGHT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == USER_SYMBOL || LA342_22 == TRIM_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == YEAR_SYMBOL || LA342_22 == VALUES_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == ADDDATE_SYMBOL || LA342_22 == SUBDATE_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == GET_FORMAT_SYMBOL || LA342_22 == CURDATE_SYMBOL || LA342_22 == CURTIME_SYMBOL || LA342_22 == DATE_ADD_SYMBOL || LA342_22 == DATE_SUB_SYMBOL || LA342_22 == EXTRACT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (((LA342_22 >= TIMESTAMP_ADD_SYMBOL) && (LA342_22 <= TIMESTAMP_DIFF_SYMBOL)) || LA342_22 == NOW_SYMBOL || LA342_22 == POSITION_SYMBOL || LA342_22 == SUBSTRING_SYMBOL || LA342_22 == SYSDATE_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == COALESCE_SYMBOL || ((LA342_22 >= UTC_DATE_SYMBOL) && (LA342_22 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == CHARSET_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == FORMAT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == COLLATION_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == MICROSECOND_SYMBOL || LA342_22 == DATABASE_SYMBOL || LA342_22 == IF_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == TRUNCATE_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == OLD_PASSWORD_SYMBOL || LA342_22 == MOD_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == PASSWORD_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == QUARTER_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == REVERSE_SYMBOL || ((LA342_22 >= REPEAT_SYMBOL) && (LA342_22 <= REPLACE_SYMBOL))))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == ROW_COUNT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == WEEK_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == CONTAINS_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (((LA342_22 >= BACKUP_SYMBOL) && (LA342_22 <= CACHE_SYMBOL)) || ((LA342_22 >= CHECKSUM_SYMBOL) && (LA342_22 <= COMMIT_SYMBOL)) || ((LA342_22 >= DEALLOCATE_SYMBOL) && (LA342_22 <= FOLLOWS_SYMBOL)) || ((LA342_22 >= HANDLER_SYMBOL) && (LA342_22 <= STOP_SYMBOL)) || ((LA342_22 >= UNICODE_SYMBOL) && (LA342_22 <= XA_SYMBOL))))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == LINESTRING_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == MULTIPOINT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == POINT_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == POLYGON_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == AVG_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == ROW_SYMBOL || ((LA342_22 >= AT_AT_SIGN_SYMBOL) && (LA342_22 <= AT_TEXT_SUFFIX)) || ((LA342_22 >= BIT_AND_SYMBOL) && (LA342_22 <= BIT_XOR_SYMBOL)) || LA342_22 == COUNT_SYMBOL || LA342_22 == EXISTS_SYMBOL || LA342_22 == GROUP_CONCAT_SYMBOL || LA342_22 == MAX_SYMBOL || LA342_22 == MIN_SYMBOL || LA342_22 == PARAM_MARKER || LA342_22 == STDDEV_SAMP_SYMBOL || LA342_22 == STD_SYMBOL || LA342_22 == SUM_SYMBOL || LA342_22 == VARIANCE_SYMBOL || LA342_22 == VAR_SAMP_SYMBOL))
                		    {
                		        alt342=1;
                		    }
                		    else if ( (LA342_22 == ACTION_SYMBOL || ((LA342_22 >= AFTER_SYMBOL) && (LA342_22 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA342_22 >= BINLOG_SYMBOL) && (LA342_22 <= CLASS_ORIGIN_SYMBOL)) || LA342_22 == CODE_SYMBOL || ((LA342_22 >= COLUMN_NAME_SYMBOL) && (LA342_22 <= DATETIME_SYMBOL)) || ((LA342_22 >= DEFAULT_AUTH_SYMBOL) && (LA342_22 <= GEOMETRY_SYMBOL)) || ((LA342_22 >= GRANTS_SYMBOL) && (LA342_22 <= HOSTS_SYMBOL)) || ((LA342_22 >= IDENTIFIED_SYMBOL) && (LA342_22 <= LEVEL_SYMBOL)) || ((LA342_22 >= LIST_SYMBOL) && (LA342_22 <= MESSAGE_TEXT_SYMBOL)) || LA342_22 == MIGRATE_SYMBOL || ((LA342_22 >= MIN_ROWS_SYMBOL) && (LA342_22 <= MODE_SYMBOL)) || ((LA342_22 >= MUTEX_SYMBOL) && (LA342_22 <= OFFSET_SYMBOL)) || ((LA342_22 >= ONE_SHOT_SYMBOL) && (LA342_22 <= PARTITIONS_SYMBOL)) || ((LA342_22 >= PHASE_SYMBOL) && (LA342_22 <= PLUGINS_SYMBOL)) || ((LA342_22 >= PRESERVE_SYMBOL) && (LA342_22 <= PROXY_SYMBOL)) || ((LA342_22 >= QUERY_SYMBOL) && (LA342_22 <= RETURNS_SYMBOL)) || ((LA342_22 >= ROLLUP_SYMBOL) && (LA342_22 <= ROWS_SYMBOL)) || LA342_22 == ROW_FORMAT_SYMBOL || ((LA342_22 >= RTREE_SYMBOL) && (LA342_22 <= SCHEMA_NAME_SYMBOL)) || ((LA342_22 >= SERIAL_SYMBOL) && (LA342_22 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA342_22 >= SUBJECT_SYMBOL) && (LA342_22 <= TRIGGERS_SYMBOL)) || ((LA342_22 >= TYPES_SYMBOL) && (LA342_22 <= USER_RESOURCES_SYMBOL)) || ((LA342_22 >= USE_FRM_SYMBOL) && (LA342_22 <= WAIT_SYMBOL)) || LA342_22 == WORK_SYMBOL || ((LA342_22 >= X509_SYMBOL) && (LA342_22 <= XML_SYMBOL)) || LA342_22 == BINARY_SYMBOL || ((LA342_22 >= CASE_SYMBOL) && (LA342_22 <= CAST_SYMBOL)) || LA342_22 == CONVERT_SYMBOL || LA342_22 == MATCH_SYMBOL))
                		    {
                		        alt342=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt342)
                {
            	case 1:
            	    // MySQL.g:1065:62: COMMA_SYMBOL select_item
            	    {
            	        COMMA_SYMBOL970 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_select_item_list5379);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL970_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL970));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL970_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_select_item_in_select_item_list5381);
            	        select_item971=select_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item971.tree);

            	    }
            	    break;

            	default:
            	    goto loop342;	/* break out of the loop */
            	    break;
                }
            }
            loop342: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleselect_item_listEx; /* Prevent compiler warnings */
    ruleselect_item_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_item_list */

/**
 * $ANTLR start select_item
 * MySQL.g:1068:1: select_item options {k=5; } : ( table_wild -> ^( COLUMN_REF_TOKEN table_wild ) | expression ( select_alias )? -> ^( SELECT_EXPR_TOKEN expression ( select_alias )? ) );
 */
static MySQLParser_select_item_return
select_item(pMySQLParser ctx)
{
    MySQLParser_select_item_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_wild_return table_wild972;
    #undef	RETURN_TYPE_table_wild972
    #define	RETURN_TYPE_table_wild972 MySQLParser_table_wild_return

    MySQLParser_expression_return expression973;
    #undef	RETURN_TYPE_expression973
    #define	RETURN_TYPE_expression973 MySQLParser_expression_return

    MySQLParser_select_alias_return select_alias974;
    #undef	RETURN_TYPE_select_alias974
    #define	RETURN_TYPE_select_alias974 MySQLParser_select_alias_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_expression;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_select_alias;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_table_wild;
    /* Initialize rule variables
     */

    root_0 = NULL;

    table_wild972.tree = NULL;

    expression973.tree = NULL;

    select_alias974.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_expression   = NULL;
    #define CREATE_stream_expression  if (stream_expression == NULL) {stream_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule expression"); }
    stream_select_alias   = NULL;
    #define CREATE_stream_select_alias  if (stream_select_alias == NULL) {stream_select_alias = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule select_alias"); }
    stream_table_wild   = NULL;
    #define CREATE_stream_table_wild  if (stream_table_wild == NULL) {stream_table_wild = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule table_wild"); }

    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1068:31: ( table_wild -> ^( COLUMN_REF_TOKEN table_wild ) | expression ( select_alias )? -> ^( SELECT_EXPR_TOKEN expression ( select_alias )? ) )

            ANTLR3_UINT32 alt344;

            alt344=2;

            {
                int LA344_0 = LA(1);
                if ( (LA344_0 == IDENTIFIER))
                {
                    {
                        int LA344_1 = LA(2);
                        if ( (LA344_1 == EOF || ((LA344_1 >= ASCII_SYMBOL) && (LA344_1 <= YEAR_SYMBOL)) || LA344_1 == AND_SYMBOL || LA344_1 == AS_SYMBOL || LA344_1 == BACK_TICK_QUOTED_ID || LA344_1 == BETWEEN_SYMBOL || LA344_1 == BITWISE_AND_OPERATOR || ((LA344_1 >= BITWISE_OR_OPERATOR) && (LA344_1 <= BITWISE_XOR_OPERATOR)) || ((LA344_1 >= CLOSE_CURLY_SYMBOL) && (LA344_1 <= COLLATE_SYMBOL)) || LA344_1 == COMMA_SYMBOL || LA344_1 == CONCAT_PIPES_SYMBOL || LA344_1 == CROSS_SYMBOL || ((LA344_1 >= DIV_OPERATOR) && (LA344_1 <= DIV_SYMBOL)) || LA344_1 == DOUBLE_QUOTED_TEXT || LA344_1 == EQUAL_OPERATOR || LA344_1 == FOR_SYMBOL || LA344_1 == FROM_SYMBOL || ((LA344_1 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_1 <= GREATER_THAN_OPERATOR)) || ((LA344_1 >= GROUP_SYMBOL) && (LA344_1 <= HAVING_SYMBOL)) || LA344_1 == IDENTIFIER || LA344_1 == INNER_SYMBOL || LA344_1 == INTO_SYMBOL || LA344_1 == IN_SYMBOL || LA344_1 == IS_SYMBOL || LA344_1 == JOIN_SYMBOL || ((LA344_1 >= LEFT_SYMBOL) && (LA344_1 <= LESS_THAN_OPERATOR)) || ((LA344_1 >= LIKE_SYMBOL) && (LA344_1 <= LIMIT_SYMBOL)) || LA344_1 == LOCK_SYMBOL || LA344_1 == LOGICAL_AND_OPERATOR || LA344_1 == LOGICAL_OR_OPERATOR || LA344_1 == MINUS_OPERATOR || ((LA344_1 >= MOD_OPERATOR) && (LA344_1 <= MOD_SYMBOL)) || ((LA344_1 >= MULT_OPERATOR) && (LA344_1 <= NATURAL_SYMBOL)) || ((LA344_1 >= NOT_EQUAL2_OPERATOR) && (LA344_1 <= NOT_SYMBOL)) || LA344_1 == NULL_SAFE_EQUAL_OPERATOR || LA344_1 == ON_SYMBOL || LA344_1 == OPEN_PAR_SYMBOL || ((LA344_1 >= ORDER_SYMBOL) && (LA344_1 <= OR_SYMBOL)) || LA344_1 == PLUS_OPERATOR || LA344_1 == PROCEDURE_SYMBOL || LA344_1 == REGEXP_SYMBOL || LA344_1 == RIGHT_SYMBOL || LA344_1 == SEMICOLON_SYMBOL || LA344_1 == SET_SYMBOL || ((LA344_1 >= SHIFT_LEFT_OPERATOR) && (LA344_1 <= SHIFT_RIGHT_OPERATOR)) || LA344_1 == SINGLE_QUOTED_TEXT || LA344_1 == STRAIGHT_JOIN_SYMBOL || LA344_1 == UNION_SYMBOL || LA344_1 == USING_SYMBOL || LA344_1 == WHERE_SYMBOL || LA344_1 == WITH_SYMBOL || LA344_1 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_1 == DOT_SYMBOL))
                        {
                            {
                                int LA344_103 = LA(3);
                                if ( (LA344_103 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_103 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2329 = LA(4);
                                        if ( (LA344_2329 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2580 = LA(5);
                                                if ( (LA344_2580 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2580 >= ASCII_SYMBOL) && (LA344_2580 <= YEAR_SYMBOL)) || LA344_2580 == BACK_TICK_QUOTED_ID || LA344_2580 == DOUBLE_QUOTED_TEXT || LA344_2580 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2580;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2329 == EOF || ((LA344_2329 >= ASCII_SYMBOL) && (LA344_2329 <= YEAR_SYMBOL)) || LA344_2329 == AND_SYMBOL || LA344_2329 == AS_SYMBOL || LA344_2329 == BACK_TICK_QUOTED_ID || LA344_2329 == BETWEEN_SYMBOL || LA344_2329 == BITWISE_AND_OPERATOR || ((LA344_2329 >= BITWISE_OR_OPERATOR) && (LA344_2329 <= BITWISE_XOR_OPERATOR)) || ((LA344_2329 >= CLOSE_CURLY_SYMBOL) && (LA344_2329 <= COLLATE_SYMBOL)) || LA344_2329 == COMMA_SYMBOL || LA344_2329 == CONCAT_PIPES_SYMBOL || LA344_2329 == CROSS_SYMBOL || ((LA344_2329 >= DIV_OPERATOR) && (LA344_2329 <= DIV_SYMBOL)) || LA344_2329 == DOUBLE_QUOTED_TEXT || LA344_2329 == EQUAL_OPERATOR || LA344_2329 == FOR_SYMBOL || LA344_2329 == FROM_SYMBOL || ((LA344_2329 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2329 <= GREATER_THAN_OPERATOR)) || ((LA344_2329 >= GROUP_SYMBOL) && (LA344_2329 <= HAVING_SYMBOL)) || LA344_2329 == IDENTIFIER || LA344_2329 == INNER_SYMBOL || LA344_2329 == INTO_SYMBOL || LA344_2329 == IN_SYMBOL || LA344_2329 == IS_SYMBOL || LA344_2329 == JOIN_SYMBOL || ((LA344_2329 >= LEFT_SYMBOL) && (LA344_2329 <= LESS_THAN_OPERATOR)) || ((LA344_2329 >= LIKE_SYMBOL) && (LA344_2329 <= LIMIT_SYMBOL)) || LA344_2329 == LOCK_SYMBOL || LA344_2329 == LOGICAL_AND_OPERATOR || LA344_2329 == LOGICAL_OR_OPERATOR || LA344_2329 == MINUS_OPERATOR || ((LA344_2329 >= MOD_OPERATOR) && (LA344_2329 <= MOD_SYMBOL)) || ((LA344_2329 >= MULT_OPERATOR) && (LA344_2329 <= NATURAL_SYMBOL)) || ((LA344_2329 >= NOT_EQUAL2_OPERATOR) && (LA344_2329 <= NOT_SYMBOL)) || LA344_2329 == NULL_SAFE_EQUAL_OPERATOR || LA344_2329 == ON_SYMBOL || LA344_2329 == OPEN_PAR_SYMBOL || ((LA344_2329 >= ORDER_SYMBOL) && (LA344_2329 <= OR_SYMBOL)) || LA344_2329 == PLUS_OPERATOR || LA344_2329 == PROCEDURE_SYMBOL || LA344_2329 == REGEXP_SYMBOL || LA344_2329 == RIGHT_SYMBOL || LA344_2329 == SEMICOLON_SYMBOL || LA344_2329 == SET_SYMBOL || ((LA344_2329 >= SHIFT_LEFT_OPERATOR) && (LA344_2329 <= SHIFT_RIGHT_OPERATOR)) || LA344_2329 == SINGLE_QUOTED_TEXT || LA344_2329 == STRAIGHT_JOIN_SYMBOL || LA344_2329 == UNION_SYMBOL || LA344_2329 == USING_SYMBOL || LA344_2329 == WHERE_SYMBOL || LA344_2329 == WITH_SYMBOL || LA344_2329 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2329;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_103 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2330 = LA(4);
                                        if ( (LA344_2330 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2633 = LA(5);
                                                if ( (LA344_2633 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2633 >= ASCII_SYMBOL) && (LA344_2633 <= YEAR_SYMBOL)) || LA344_2633 == BACK_TICK_QUOTED_ID || LA344_2633 == DOUBLE_QUOTED_TEXT || LA344_2633 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2633;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2330 == EOF || ((LA344_2330 >= ASCII_SYMBOL) && (LA344_2330 <= YEAR_SYMBOL)) || LA344_2330 == AND_SYMBOL || LA344_2330 == AS_SYMBOL || LA344_2330 == BACK_TICK_QUOTED_ID || LA344_2330 == BETWEEN_SYMBOL || LA344_2330 == BITWISE_AND_OPERATOR || ((LA344_2330 >= BITWISE_OR_OPERATOR) && (LA344_2330 <= BITWISE_XOR_OPERATOR)) || ((LA344_2330 >= CLOSE_CURLY_SYMBOL) && (LA344_2330 <= COLLATE_SYMBOL)) || LA344_2330 == COMMA_SYMBOL || LA344_2330 == CONCAT_PIPES_SYMBOL || LA344_2330 == CROSS_SYMBOL || ((LA344_2330 >= DIV_OPERATOR) && (LA344_2330 <= DIV_SYMBOL)) || LA344_2330 == DOUBLE_QUOTED_TEXT || LA344_2330 == EQUAL_OPERATOR || LA344_2330 == FOR_SYMBOL || LA344_2330 == FROM_SYMBOL || ((LA344_2330 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2330 <= GREATER_THAN_OPERATOR)) || ((LA344_2330 >= GROUP_SYMBOL) && (LA344_2330 <= HAVING_SYMBOL)) || LA344_2330 == IDENTIFIER || LA344_2330 == INNER_SYMBOL || LA344_2330 == INTO_SYMBOL || LA344_2330 == IN_SYMBOL || LA344_2330 == IS_SYMBOL || LA344_2330 == JOIN_SYMBOL || ((LA344_2330 >= LEFT_SYMBOL) && (LA344_2330 <= LESS_THAN_OPERATOR)) || ((LA344_2330 >= LIKE_SYMBOL) && (LA344_2330 <= LIMIT_SYMBOL)) || LA344_2330 == LOCK_SYMBOL || LA344_2330 == LOGICAL_AND_OPERATOR || LA344_2330 == LOGICAL_OR_OPERATOR || LA344_2330 == MINUS_OPERATOR || ((LA344_2330 >= MOD_OPERATOR) && (LA344_2330 <= MOD_SYMBOL)) || ((LA344_2330 >= MULT_OPERATOR) && (LA344_2330 <= NATURAL_SYMBOL)) || ((LA344_2330 >= NOT_EQUAL2_OPERATOR) && (LA344_2330 <= NOT_SYMBOL)) || LA344_2330 == NULL_SAFE_EQUAL_OPERATOR || LA344_2330 == ON_SYMBOL || LA344_2330 == OPEN_PAR_SYMBOL || ((LA344_2330 >= ORDER_SYMBOL) && (LA344_2330 <= OR_SYMBOL)) || LA344_2330 == PLUS_OPERATOR || LA344_2330 == PROCEDURE_SYMBOL || LA344_2330 == REGEXP_SYMBOL || LA344_2330 == RIGHT_SYMBOL || LA344_2330 == SEMICOLON_SYMBOL || LA344_2330 == SET_SYMBOL || ((LA344_2330 >= SHIFT_LEFT_OPERATOR) && (LA344_2330 <= SHIFT_RIGHT_OPERATOR)) || LA344_2330 == SINGLE_QUOTED_TEXT || LA344_2330 == STRAIGHT_JOIN_SYMBOL || LA344_2330 == UNION_SYMBOL || LA344_2330 == USING_SYMBOL || LA344_2330 == WHERE_SYMBOL || LA344_2330 == WITH_SYMBOL || LA344_2330 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2330;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_103 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2331 = LA(4);
                                        if ( (LA344_2331 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2686 = LA(5);
                                                if ( (LA344_2686 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2686 >= ASCII_SYMBOL) && (LA344_2686 <= YEAR_SYMBOL)) || LA344_2686 == BACK_TICK_QUOTED_ID || LA344_2686 == DOUBLE_QUOTED_TEXT || LA344_2686 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2686;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2331 == EOF || ((LA344_2331 >= ASCII_SYMBOL) && (LA344_2331 <= YEAR_SYMBOL)) || LA344_2331 == AND_SYMBOL || LA344_2331 == AS_SYMBOL || LA344_2331 == BACK_TICK_QUOTED_ID || LA344_2331 == BETWEEN_SYMBOL || LA344_2331 == BITWISE_AND_OPERATOR || ((LA344_2331 >= BITWISE_OR_OPERATOR) && (LA344_2331 <= BITWISE_XOR_OPERATOR)) || ((LA344_2331 >= CLOSE_CURLY_SYMBOL) && (LA344_2331 <= COLLATE_SYMBOL)) || LA344_2331 == COMMA_SYMBOL || LA344_2331 == CONCAT_PIPES_SYMBOL || LA344_2331 == CROSS_SYMBOL || ((LA344_2331 >= DIV_OPERATOR) && (LA344_2331 <= DIV_SYMBOL)) || LA344_2331 == DOUBLE_QUOTED_TEXT || LA344_2331 == EQUAL_OPERATOR || LA344_2331 == FOR_SYMBOL || LA344_2331 == FROM_SYMBOL || ((LA344_2331 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2331 <= GREATER_THAN_OPERATOR)) || ((LA344_2331 >= GROUP_SYMBOL) && (LA344_2331 <= HAVING_SYMBOL)) || LA344_2331 == IDENTIFIER || LA344_2331 == INNER_SYMBOL || LA344_2331 == INTO_SYMBOL || LA344_2331 == IN_SYMBOL || LA344_2331 == IS_SYMBOL || LA344_2331 == JOIN_SYMBOL || ((LA344_2331 >= LEFT_SYMBOL) && (LA344_2331 <= LESS_THAN_OPERATOR)) || ((LA344_2331 >= LIKE_SYMBOL) && (LA344_2331 <= LIMIT_SYMBOL)) || LA344_2331 == LOCK_SYMBOL || LA344_2331 == LOGICAL_AND_OPERATOR || LA344_2331 == LOGICAL_OR_OPERATOR || LA344_2331 == MINUS_OPERATOR || ((LA344_2331 >= MOD_OPERATOR) && (LA344_2331 <= MOD_SYMBOL)) || ((LA344_2331 >= MULT_OPERATOR) && (LA344_2331 <= NATURAL_SYMBOL)) || ((LA344_2331 >= NOT_EQUAL2_OPERATOR) && (LA344_2331 <= NOT_SYMBOL)) || LA344_2331 == NULL_SAFE_EQUAL_OPERATOR || LA344_2331 == ON_SYMBOL || LA344_2331 == OPEN_PAR_SYMBOL || ((LA344_2331 >= ORDER_SYMBOL) && (LA344_2331 <= OR_SYMBOL)) || LA344_2331 == PLUS_OPERATOR || LA344_2331 == PROCEDURE_SYMBOL || LA344_2331 == REGEXP_SYMBOL || LA344_2331 == RIGHT_SYMBOL || LA344_2331 == SEMICOLON_SYMBOL || LA344_2331 == SET_SYMBOL || ((LA344_2331 >= SHIFT_LEFT_OPERATOR) && (LA344_2331 <= SHIFT_RIGHT_OPERATOR)) || LA344_2331 == SINGLE_QUOTED_TEXT || LA344_2331 == STRAIGHT_JOIN_SYMBOL || LA344_2331 == UNION_SYMBOL || LA344_2331 == USING_SYMBOL || LA344_2331 == WHERE_SYMBOL || LA344_2331 == WITH_SYMBOL || LA344_2331 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2331;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_103 >= ACTION_SYMBOL) && (LA344_103 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2332 = LA(4);
                                        if ( (LA344_2332 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2739 = LA(5);
                                                if ( (LA344_2739 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2739 >= ASCII_SYMBOL) && (LA344_2739 <= YEAR_SYMBOL)) || LA344_2739 == BACK_TICK_QUOTED_ID || LA344_2739 == DOUBLE_QUOTED_TEXT || LA344_2739 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2739;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2332 == EOF || ((LA344_2332 >= ASCII_SYMBOL) && (LA344_2332 <= YEAR_SYMBOL)) || LA344_2332 == AND_SYMBOL || LA344_2332 == AS_SYMBOL || LA344_2332 == BACK_TICK_QUOTED_ID || LA344_2332 == BETWEEN_SYMBOL || LA344_2332 == BITWISE_AND_OPERATOR || ((LA344_2332 >= BITWISE_OR_OPERATOR) && (LA344_2332 <= BITWISE_XOR_OPERATOR)) || ((LA344_2332 >= CLOSE_CURLY_SYMBOL) && (LA344_2332 <= COLLATE_SYMBOL)) || LA344_2332 == COMMA_SYMBOL || LA344_2332 == CONCAT_PIPES_SYMBOL || LA344_2332 == CROSS_SYMBOL || ((LA344_2332 >= DIV_OPERATOR) && (LA344_2332 <= DIV_SYMBOL)) || LA344_2332 == DOUBLE_QUOTED_TEXT || LA344_2332 == EQUAL_OPERATOR || LA344_2332 == FOR_SYMBOL || LA344_2332 == FROM_SYMBOL || ((LA344_2332 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2332 <= GREATER_THAN_OPERATOR)) || ((LA344_2332 >= GROUP_SYMBOL) && (LA344_2332 <= HAVING_SYMBOL)) || LA344_2332 == IDENTIFIER || LA344_2332 == INNER_SYMBOL || LA344_2332 == INTO_SYMBOL || LA344_2332 == IN_SYMBOL || LA344_2332 == IS_SYMBOL || LA344_2332 == JOIN_SYMBOL || ((LA344_2332 >= LEFT_SYMBOL) && (LA344_2332 <= LESS_THAN_OPERATOR)) || ((LA344_2332 >= LIKE_SYMBOL) && (LA344_2332 <= LIMIT_SYMBOL)) || LA344_2332 == LOCK_SYMBOL || LA344_2332 == LOGICAL_AND_OPERATOR || LA344_2332 == LOGICAL_OR_OPERATOR || LA344_2332 == MINUS_OPERATOR || ((LA344_2332 >= MOD_OPERATOR) && (LA344_2332 <= MOD_SYMBOL)) || ((LA344_2332 >= MULT_OPERATOR) && (LA344_2332 <= NATURAL_SYMBOL)) || ((LA344_2332 >= NOT_EQUAL2_OPERATOR) && (LA344_2332 <= NOT_SYMBOL)) || LA344_2332 == NULL_SAFE_EQUAL_OPERATOR || LA344_2332 == ON_SYMBOL || LA344_2332 == OPEN_PAR_SYMBOL || ((LA344_2332 >= ORDER_SYMBOL) && (LA344_2332 <= OR_SYMBOL)) || LA344_2332 == PLUS_OPERATOR || LA344_2332 == PROCEDURE_SYMBOL || LA344_2332 == REGEXP_SYMBOL || LA344_2332 == RIGHT_SYMBOL || LA344_2332 == SEMICOLON_SYMBOL || LA344_2332 == SET_SYMBOL || ((LA344_2332 >= SHIFT_LEFT_OPERATOR) && (LA344_2332 <= SHIFT_RIGHT_OPERATOR)) || LA344_2332 == SINGLE_QUOTED_TEXT || LA344_2332 == STRAIGHT_JOIN_SYMBOL || LA344_2332 == UNION_SYMBOL || LA344_2332 == USING_SYMBOL || LA344_2332 == WHERE_SYMBOL || LA344_2332 == WITH_SYMBOL || LA344_2332 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2332;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_103 >= ASCII_SYMBOL) && (LA344_103 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2333 = LA(4);
                                        if ( (LA344_2333 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2792 = LA(5);
                                                if ( (LA344_2792 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2792 >= ASCII_SYMBOL) && (LA344_2792 <= YEAR_SYMBOL)) || LA344_2792 == BACK_TICK_QUOTED_ID || LA344_2792 == DOUBLE_QUOTED_TEXT || LA344_2792 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2792;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2333 == EOF || ((LA344_2333 >= ASCII_SYMBOL) && (LA344_2333 <= YEAR_SYMBOL)) || LA344_2333 == AND_SYMBOL || LA344_2333 == AS_SYMBOL || LA344_2333 == BACK_TICK_QUOTED_ID || LA344_2333 == BETWEEN_SYMBOL || LA344_2333 == BITWISE_AND_OPERATOR || ((LA344_2333 >= BITWISE_OR_OPERATOR) && (LA344_2333 <= BITWISE_XOR_OPERATOR)) || ((LA344_2333 >= CLOSE_CURLY_SYMBOL) && (LA344_2333 <= COLLATE_SYMBOL)) || LA344_2333 == COMMA_SYMBOL || LA344_2333 == CONCAT_PIPES_SYMBOL || LA344_2333 == CROSS_SYMBOL || ((LA344_2333 >= DIV_OPERATOR) && (LA344_2333 <= DIV_SYMBOL)) || LA344_2333 == DOUBLE_QUOTED_TEXT || LA344_2333 == EQUAL_OPERATOR || LA344_2333 == FOR_SYMBOL || LA344_2333 == FROM_SYMBOL || ((LA344_2333 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2333 <= GREATER_THAN_OPERATOR)) || ((LA344_2333 >= GROUP_SYMBOL) && (LA344_2333 <= HAVING_SYMBOL)) || LA344_2333 == IDENTIFIER || LA344_2333 == INNER_SYMBOL || LA344_2333 == INTO_SYMBOL || LA344_2333 == IN_SYMBOL || LA344_2333 == IS_SYMBOL || LA344_2333 == JOIN_SYMBOL || ((LA344_2333 >= LEFT_SYMBOL) && (LA344_2333 <= LESS_THAN_OPERATOR)) || ((LA344_2333 >= LIKE_SYMBOL) && (LA344_2333 <= LIMIT_SYMBOL)) || LA344_2333 == LOCK_SYMBOL || LA344_2333 == LOGICAL_AND_OPERATOR || LA344_2333 == LOGICAL_OR_OPERATOR || LA344_2333 == MINUS_OPERATOR || ((LA344_2333 >= MOD_OPERATOR) && (LA344_2333 <= MOD_SYMBOL)) || ((LA344_2333 >= MULT_OPERATOR) && (LA344_2333 <= NATURAL_SYMBOL)) || ((LA344_2333 >= NOT_EQUAL2_OPERATOR) && (LA344_2333 <= NOT_SYMBOL)) || LA344_2333 == NULL_SAFE_EQUAL_OPERATOR || LA344_2333 == ON_SYMBOL || LA344_2333 == OPEN_PAR_SYMBOL || ((LA344_2333 >= ORDER_SYMBOL) && (LA344_2333 <= OR_SYMBOL)) || LA344_2333 == PLUS_OPERATOR || LA344_2333 == PROCEDURE_SYMBOL || LA344_2333 == REGEXP_SYMBOL || LA344_2333 == RIGHT_SYMBOL || LA344_2333 == SEMICOLON_SYMBOL || LA344_2333 == SET_SYMBOL || ((LA344_2333 >= SHIFT_LEFT_OPERATOR) && (LA344_2333 <= SHIFT_RIGHT_OPERATOR)) || LA344_2333 == SINGLE_QUOTED_TEXT || LA344_2333 == STRAIGHT_JOIN_SYMBOL || LA344_2333 == UNION_SYMBOL || LA344_2333 == USING_SYMBOL || LA344_2333 == WHERE_SYMBOL || LA344_2333 == WITH_SYMBOL || LA344_2333 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2333;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 103;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 1;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == BACK_TICK_QUOTED_ID))
                {
                    {
                        int LA344_2 = LA(2);
                        if ( (LA344_2 == EOF || ((LA344_2 >= ASCII_SYMBOL) && (LA344_2 <= YEAR_SYMBOL)) || LA344_2 == AND_SYMBOL || LA344_2 == AS_SYMBOL || LA344_2 == BACK_TICK_QUOTED_ID || LA344_2 == BETWEEN_SYMBOL || LA344_2 == BITWISE_AND_OPERATOR || ((LA344_2 >= BITWISE_OR_OPERATOR) && (LA344_2 <= BITWISE_XOR_OPERATOR)) || ((LA344_2 >= CLOSE_CURLY_SYMBOL) && (LA344_2 <= COLLATE_SYMBOL)) || LA344_2 == COMMA_SYMBOL || LA344_2 == CONCAT_PIPES_SYMBOL || LA344_2 == CROSS_SYMBOL || ((LA344_2 >= DIV_OPERATOR) && (LA344_2 <= DIV_SYMBOL)) || LA344_2 == DOUBLE_QUOTED_TEXT || LA344_2 == EQUAL_OPERATOR || LA344_2 == FOR_SYMBOL || LA344_2 == FROM_SYMBOL || ((LA344_2 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2 <= GREATER_THAN_OPERATOR)) || ((LA344_2 >= GROUP_SYMBOL) && (LA344_2 <= HAVING_SYMBOL)) || LA344_2 == IDENTIFIER || LA344_2 == INNER_SYMBOL || LA344_2 == INTO_SYMBOL || LA344_2 == IN_SYMBOL || LA344_2 == IS_SYMBOL || LA344_2 == JOIN_SYMBOL || ((LA344_2 >= LEFT_SYMBOL) && (LA344_2 <= LESS_THAN_OPERATOR)) || ((LA344_2 >= LIKE_SYMBOL) && (LA344_2 <= LIMIT_SYMBOL)) || LA344_2 == LOCK_SYMBOL || LA344_2 == LOGICAL_AND_OPERATOR || LA344_2 == LOGICAL_OR_OPERATOR || LA344_2 == MINUS_OPERATOR || ((LA344_2 >= MOD_OPERATOR) && (LA344_2 <= MOD_SYMBOL)) || ((LA344_2 >= MULT_OPERATOR) && (LA344_2 <= NATURAL_SYMBOL)) || ((LA344_2 >= NOT_EQUAL2_OPERATOR) && (LA344_2 <= NOT_SYMBOL)) || LA344_2 == NULL_SAFE_EQUAL_OPERATOR || LA344_2 == ON_SYMBOL || LA344_2 == OPEN_PAR_SYMBOL || ((LA344_2 >= ORDER_SYMBOL) && (LA344_2 <= OR_SYMBOL)) || LA344_2 == PLUS_OPERATOR || LA344_2 == PROCEDURE_SYMBOL || LA344_2 == REGEXP_SYMBOL || LA344_2 == RIGHT_SYMBOL || LA344_2 == SEMICOLON_SYMBOL || LA344_2 == SET_SYMBOL || ((LA344_2 >= SHIFT_LEFT_OPERATOR) && (LA344_2 <= SHIFT_RIGHT_OPERATOR)) || LA344_2 == SINGLE_QUOTED_TEXT || LA344_2 == STRAIGHT_JOIN_SYMBOL || LA344_2 == UNION_SYMBOL || LA344_2 == USING_SYMBOL || LA344_2 == WHERE_SYMBOL || LA344_2 == WITH_SYMBOL || LA344_2 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_2 == DOT_SYMBOL))
                        {
                            {
                                int LA344_156 = LA(3);
                                if ( (LA344_156 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_156 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2335 = LA(4);
                                        if ( (LA344_2335 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2845 = LA(5);
                                                if ( (LA344_2845 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2845 >= ASCII_SYMBOL) && (LA344_2845 <= YEAR_SYMBOL)) || LA344_2845 == BACK_TICK_QUOTED_ID || LA344_2845 == DOUBLE_QUOTED_TEXT || LA344_2845 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2845;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2335 == EOF || ((LA344_2335 >= ASCII_SYMBOL) && (LA344_2335 <= YEAR_SYMBOL)) || LA344_2335 == AND_SYMBOL || LA344_2335 == AS_SYMBOL || LA344_2335 == BACK_TICK_QUOTED_ID || LA344_2335 == BETWEEN_SYMBOL || LA344_2335 == BITWISE_AND_OPERATOR || ((LA344_2335 >= BITWISE_OR_OPERATOR) && (LA344_2335 <= BITWISE_XOR_OPERATOR)) || ((LA344_2335 >= CLOSE_CURLY_SYMBOL) && (LA344_2335 <= COLLATE_SYMBOL)) || LA344_2335 == COMMA_SYMBOL || LA344_2335 == CONCAT_PIPES_SYMBOL || LA344_2335 == CROSS_SYMBOL || ((LA344_2335 >= DIV_OPERATOR) && (LA344_2335 <= DIV_SYMBOL)) || LA344_2335 == DOUBLE_QUOTED_TEXT || LA344_2335 == EQUAL_OPERATOR || LA344_2335 == FOR_SYMBOL || LA344_2335 == FROM_SYMBOL || ((LA344_2335 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2335 <= GREATER_THAN_OPERATOR)) || ((LA344_2335 >= GROUP_SYMBOL) && (LA344_2335 <= HAVING_SYMBOL)) || LA344_2335 == IDENTIFIER || LA344_2335 == INNER_SYMBOL || LA344_2335 == INTO_SYMBOL || LA344_2335 == IN_SYMBOL || LA344_2335 == IS_SYMBOL || LA344_2335 == JOIN_SYMBOL || ((LA344_2335 >= LEFT_SYMBOL) && (LA344_2335 <= LESS_THAN_OPERATOR)) || ((LA344_2335 >= LIKE_SYMBOL) && (LA344_2335 <= LIMIT_SYMBOL)) || LA344_2335 == LOCK_SYMBOL || LA344_2335 == LOGICAL_AND_OPERATOR || LA344_2335 == LOGICAL_OR_OPERATOR || LA344_2335 == MINUS_OPERATOR || ((LA344_2335 >= MOD_OPERATOR) && (LA344_2335 <= MOD_SYMBOL)) || ((LA344_2335 >= MULT_OPERATOR) && (LA344_2335 <= NATURAL_SYMBOL)) || ((LA344_2335 >= NOT_EQUAL2_OPERATOR) && (LA344_2335 <= NOT_SYMBOL)) || LA344_2335 == NULL_SAFE_EQUAL_OPERATOR || LA344_2335 == ON_SYMBOL || LA344_2335 == OPEN_PAR_SYMBOL || ((LA344_2335 >= ORDER_SYMBOL) && (LA344_2335 <= OR_SYMBOL)) || LA344_2335 == PLUS_OPERATOR || LA344_2335 == PROCEDURE_SYMBOL || LA344_2335 == REGEXP_SYMBOL || LA344_2335 == RIGHT_SYMBOL || LA344_2335 == SEMICOLON_SYMBOL || LA344_2335 == SET_SYMBOL || ((LA344_2335 >= SHIFT_LEFT_OPERATOR) && (LA344_2335 <= SHIFT_RIGHT_OPERATOR)) || LA344_2335 == SINGLE_QUOTED_TEXT || LA344_2335 == STRAIGHT_JOIN_SYMBOL || LA344_2335 == UNION_SYMBOL || LA344_2335 == USING_SYMBOL || LA344_2335 == WHERE_SYMBOL || LA344_2335 == WITH_SYMBOL || LA344_2335 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2335;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_156 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2336 = LA(4);
                                        if ( (LA344_2336 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2898 = LA(5);
                                                if ( (LA344_2898 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2898 >= ASCII_SYMBOL) && (LA344_2898 <= YEAR_SYMBOL)) || LA344_2898 == BACK_TICK_QUOTED_ID || LA344_2898 == DOUBLE_QUOTED_TEXT || LA344_2898 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2898;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2336 == EOF || ((LA344_2336 >= ASCII_SYMBOL) && (LA344_2336 <= YEAR_SYMBOL)) || LA344_2336 == AND_SYMBOL || LA344_2336 == AS_SYMBOL || LA344_2336 == BACK_TICK_QUOTED_ID || LA344_2336 == BETWEEN_SYMBOL || LA344_2336 == BITWISE_AND_OPERATOR || ((LA344_2336 >= BITWISE_OR_OPERATOR) && (LA344_2336 <= BITWISE_XOR_OPERATOR)) || ((LA344_2336 >= CLOSE_CURLY_SYMBOL) && (LA344_2336 <= COLLATE_SYMBOL)) || LA344_2336 == COMMA_SYMBOL || LA344_2336 == CONCAT_PIPES_SYMBOL || LA344_2336 == CROSS_SYMBOL || ((LA344_2336 >= DIV_OPERATOR) && (LA344_2336 <= DIV_SYMBOL)) || LA344_2336 == DOUBLE_QUOTED_TEXT || LA344_2336 == EQUAL_OPERATOR || LA344_2336 == FOR_SYMBOL || LA344_2336 == FROM_SYMBOL || ((LA344_2336 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2336 <= GREATER_THAN_OPERATOR)) || ((LA344_2336 >= GROUP_SYMBOL) && (LA344_2336 <= HAVING_SYMBOL)) || LA344_2336 == IDENTIFIER || LA344_2336 == INNER_SYMBOL || LA344_2336 == INTO_SYMBOL || LA344_2336 == IN_SYMBOL || LA344_2336 == IS_SYMBOL || LA344_2336 == JOIN_SYMBOL || ((LA344_2336 >= LEFT_SYMBOL) && (LA344_2336 <= LESS_THAN_OPERATOR)) || ((LA344_2336 >= LIKE_SYMBOL) && (LA344_2336 <= LIMIT_SYMBOL)) || LA344_2336 == LOCK_SYMBOL || LA344_2336 == LOGICAL_AND_OPERATOR || LA344_2336 == LOGICAL_OR_OPERATOR || LA344_2336 == MINUS_OPERATOR || ((LA344_2336 >= MOD_OPERATOR) && (LA344_2336 <= MOD_SYMBOL)) || ((LA344_2336 >= MULT_OPERATOR) && (LA344_2336 <= NATURAL_SYMBOL)) || ((LA344_2336 >= NOT_EQUAL2_OPERATOR) && (LA344_2336 <= NOT_SYMBOL)) || LA344_2336 == NULL_SAFE_EQUAL_OPERATOR || LA344_2336 == ON_SYMBOL || LA344_2336 == OPEN_PAR_SYMBOL || ((LA344_2336 >= ORDER_SYMBOL) && (LA344_2336 <= OR_SYMBOL)) || LA344_2336 == PLUS_OPERATOR || LA344_2336 == PROCEDURE_SYMBOL || LA344_2336 == REGEXP_SYMBOL || LA344_2336 == RIGHT_SYMBOL || LA344_2336 == SEMICOLON_SYMBOL || LA344_2336 == SET_SYMBOL || ((LA344_2336 >= SHIFT_LEFT_OPERATOR) && (LA344_2336 <= SHIFT_RIGHT_OPERATOR)) || LA344_2336 == SINGLE_QUOTED_TEXT || LA344_2336 == STRAIGHT_JOIN_SYMBOL || LA344_2336 == UNION_SYMBOL || LA344_2336 == USING_SYMBOL || LA344_2336 == WHERE_SYMBOL || LA344_2336 == WITH_SYMBOL || LA344_2336 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2336;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_156 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2337 = LA(4);
                                        if ( (LA344_2337 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_2951 = LA(5);
                                                if ( (LA344_2951 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_2951 >= ASCII_SYMBOL) && (LA344_2951 <= YEAR_SYMBOL)) || LA344_2951 == BACK_TICK_QUOTED_ID || LA344_2951 == DOUBLE_QUOTED_TEXT || LA344_2951 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 2951;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2337 == EOF || ((LA344_2337 >= ASCII_SYMBOL) && (LA344_2337 <= YEAR_SYMBOL)) || LA344_2337 == AND_SYMBOL || LA344_2337 == AS_SYMBOL || LA344_2337 == BACK_TICK_QUOTED_ID || LA344_2337 == BETWEEN_SYMBOL || LA344_2337 == BITWISE_AND_OPERATOR || ((LA344_2337 >= BITWISE_OR_OPERATOR) && (LA344_2337 <= BITWISE_XOR_OPERATOR)) || ((LA344_2337 >= CLOSE_CURLY_SYMBOL) && (LA344_2337 <= COLLATE_SYMBOL)) || LA344_2337 == COMMA_SYMBOL || LA344_2337 == CONCAT_PIPES_SYMBOL || LA344_2337 == CROSS_SYMBOL || ((LA344_2337 >= DIV_OPERATOR) && (LA344_2337 <= DIV_SYMBOL)) || LA344_2337 == DOUBLE_QUOTED_TEXT || LA344_2337 == EQUAL_OPERATOR || LA344_2337 == FOR_SYMBOL || LA344_2337 == FROM_SYMBOL || ((LA344_2337 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2337 <= GREATER_THAN_OPERATOR)) || ((LA344_2337 >= GROUP_SYMBOL) && (LA344_2337 <= HAVING_SYMBOL)) || LA344_2337 == IDENTIFIER || LA344_2337 == INNER_SYMBOL || LA344_2337 == INTO_SYMBOL || LA344_2337 == IN_SYMBOL || LA344_2337 == IS_SYMBOL || LA344_2337 == JOIN_SYMBOL || ((LA344_2337 >= LEFT_SYMBOL) && (LA344_2337 <= LESS_THAN_OPERATOR)) || ((LA344_2337 >= LIKE_SYMBOL) && (LA344_2337 <= LIMIT_SYMBOL)) || LA344_2337 == LOCK_SYMBOL || LA344_2337 == LOGICAL_AND_OPERATOR || LA344_2337 == LOGICAL_OR_OPERATOR || LA344_2337 == MINUS_OPERATOR || ((LA344_2337 >= MOD_OPERATOR) && (LA344_2337 <= MOD_SYMBOL)) || ((LA344_2337 >= MULT_OPERATOR) && (LA344_2337 <= NATURAL_SYMBOL)) || ((LA344_2337 >= NOT_EQUAL2_OPERATOR) && (LA344_2337 <= NOT_SYMBOL)) || LA344_2337 == NULL_SAFE_EQUAL_OPERATOR || LA344_2337 == ON_SYMBOL || LA344_2337 == OPEN_PAR_SYMBOL || ((LA344_2337 >= ORDER_SYMBOL) && (LA344_2337 <= OR_SYMBOL)) || LA344_2337 == PLUS_OPERATOR || LA344_2337 == PROCEDURE_SYMBOL || LA344_2337 == REGEXP_SYMBOL || LA344_2337 == RIGHT_SYMBOL || LA344_2337 == SEMICOLON_SYMBOL || LA344_2337 == SET_SYMBOL || ((LA344_2337 >= SHIFT_LEFT_OPERATOR) && (LA344_2337 <= SHIFT_RIGHT_OPERATOR)) || LA344_2337 == SINGLE_QUOTED_TEXT || LA344_2337 == STRAIGHT_JOIN_SYMBOL || LA344_2337 == UNION_SYMBOL || LA344_2337 == USING_SYMBOL || LA344_2337 == WHERE_SYMBOL || LA344_2337 == WITH_SYMBOL || LA344_2337 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2337;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_156 >= ACTION_SYMBOL) && (LA344_156 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2338 = LA(4);
                                        if ( (LA344_2338 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3004 = LA(5);
                                                if ( (LA344_3004 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3004 >= ASCII_SYMBOL) && (LA344_3004 <= YEAR_SYMBOL)) || LA344_3004 == BACK_TICK_QUOTED_ID || LA344_3004 == DOUBLE_QUOTED_TEXT || LA344_3004 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3004;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2338 == EOF || ((LA344_2338 >= ASCII_SYMBOL) && (LA344_2338 <= YEAR_SYMBOL)) || LA344_2338 == AND_SYMBOL || LA344_2338 == AS_SYMBOL || LA344_2338 == BACK_TICK_QUOTED_ID || LA344_2338 == BETWEEN_SYMBOL || LA344_2338 == BITWISE_AND_OPERATOR || ((LA344_2338 >= BITWISE_OR_OPERATOR) && (LA344_2338 <= BITWISE_XOR_OPERATOR)) || ((LA344_2338 >= CLOSE_CURLY_SYMBOL) && (LA344_2338 <= COLLATE_SYMBOL)) || LA344_2338 == COMMA_SYMBOL || LA344_2338 == CONCAT_PIPES_SYMBOL || LA344_2338 == CROSS_SYMBOL || ((LA344_2338 >= DIV_OPERATOR) && (LA344_2338 <= DIV_SYMBOL)) || LA344_2338 == DOUBLE_QUOTED_TEXT || LA344_2338 == EQUAL_OPERATOR || LA344_2338 == FOR_SYMBOL || LA344_2338 == FROM_SYMBOL || ((LA344_2338 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2338 <= GREATER_THAN_OPERATOR)) || ((LA344_2338 >= GROUP_SYMBOL) && (LA344_2338 <= HAVING_SYMBOL)) || LA344_2338 == IDENTIFIER || LA344_2338 == INNER_SYMBOL || LA344_2338 == INTO_SYMBOL || LA344_2338 == IN_SYMBOL || LA344_2338 == IS_SYMBOL || LA344_2338 == JOIN_SYMBOL || ((LA344_2338 >= LEFT_SYMBOL) && (LA344_2338 <= LESS_THAN_OPERATOR)) || ((LA344_2338 >= LIKE_SYMBOL) && (LA344_2338 <= LIMIT_SYMBOL)) || LA344_2338 == LOCK_SYMBOL || LA344_2338 == LOGICAL_AND_OPERATOR || LA344_2338 == LOGICAL_OR_OPERATOR || LA344_2338 == MINUS_OPERATOR || ((LA344_2338 >= MOD_OPERATOR) && (LA344_2338 <= MOD_SYMBOL)) || ((LA344_2338 >= MULT_OPERATOR) && (LA344_2338 <= NATURAL_SYMBOL)) || ((LA344_2338 >= NOT_EQUAL2_OPERATOR) && (LA344_2338 <= NOT_SYMBOL)) || LA344_2338 == NULL_SAFE_EQUAL_OPERATOR || LA344_2338 == ON_SYMBOL || LA344_2338 == OPEN_PAR_SYMBOL || ((LA344_2338 >= ORDER_SYMBOL) && (LA344_2338 <= OR_SYMBOL)) || LA344_2338 == PLUS_OPERATOR || LA344_2338 == PROCEDURE_SYMBOL || LA344_2338 == REGEXP_SYMBOL || LA344_2338 == RIGHT_SYMBOL || LA344_2338 == SEMICOLON_SYMBOL || LA344_2338 == SET_SYMBOL || ((LA344_2338 >= SHIFT_LEFT_OPERATOR) && (LA344_2338 <= SHIFT_RIGHT_OPERATOR)) || LA344_2338 == SINGLE_QUOTED_TEXT || LA344_2338 == STRAIGHT_JOIN_SYMBOL || LA344_2338 == UNION_SYMBOL || LA344_2338 == USING_SYMBOL || LA344_2338 == WHERE_SYMBOL || LA344_2338 == WITH_SYMBOL || LA344_2338 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2338;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_156 >= ASCII_SYMBOL) && (LA344_156 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2339 = LA(4);
                                        if ( (LA344_2339 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3057 = LA(5);
                                                if ( (LA344_3057 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3057 >= ASCII_SYMBOL) && (LA344_3057 <= YEAR_SYMBOL)) || LA344_3057 == BACK_TICK_QUOTED_ID || LA344_3057 == DOUBLE_QUOTED_TEXT || LA344_3057 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3057;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2339 == EOF || ((LA344_2339 >= ASCII_SYMBOL) && (LA344_2339 <= YEAR_SYMBOL)) || LA344_2339 == AND_SYMBOL || LA344_2339 == AS_SYMBOL || LA344_2339 == BACK_TICK_QUOTED_ID || LA344_2339 == BETWEEN_SYMBOL || LA344_2339 == BITWISE_AND_OPERATOR || ((LA344_2339 >= BITWISE_OR_OPERATOR) && (LA344_2339 <= BITWISE_XOR_OPERATOR)) || ((LA344_2339 >= CLOSE_CURLY_SYMBOL) && (LA344_2339 <= COLLATE_SYMBOL)) || LA344_2339 == COMMA_SYMBOL || LA344_2339 == CONCAT_PIPES_SYMBOL || LA344_2339 == CROSS_SYMBOL || ((LA344_2339 >= DIV_OPERATOR) && (LA344_2339 <= DIV_SYMBOL)) || LA344_2339 == DOUBLE_QUOTED_TEXT || LA344_2339 == EQUAL_OPERATOR || LA344_2339 == FOR_SYMBOL || LA344_2339 == FROM_SYMBOL || ((LA344_2339 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2339 <= GREATER_THAN_OPERATOR)) || ((LA344_2339 >= GROUP_SYMBOL) && (LA344_2339 <= HAVING_SYMBOL)) || LA344_2339 == IDENTIFIER || LA344_2339 == INNER_SYMBOL || LA344_2339 == INTO_SYMBOL || LA344_2339 == IN_SYMBOL || LA344_2339 == IS_SYMBOL || LA344_2339 == JOIN_SYMBOL || ((LA344_2339 >= LEFT_SYMBOL) && (LA344_2339 <= LESS_THAN_OPERATOR)) || ((LA344_2339 >= LIKE_SYMBOL) && (LA344_2339 <= LIMIT_SYMBOL)) || LA344_2339 == LOCK_SYMBOL || LA344_2339 == LOGICAL_AND_OPERATOR || LA344_2339 == LOGICAL_OR_OPERATOR || LA344_2339 == MINUS_OPERATOR || ((LA344_2339 >= MOD_OPERATOR) && (LA344_2339 <= MOD_SYMBOL)) || ((LA344_2339 >= MULT_OPERATOR) && (LA344_2339 <= NATURAL_SYMBOL)) || ((LA344_2339 >= NOT_EQUAL2_OPERATOR) && (LA344_2339 <= NOT_SYMBOL)) || LA344_2339 == NULL_SAFE_EQUAL_OPERATOR || LA344_2339 == ON_SYMBOL || LA344_2339 == OPEN_PAR_SYMBOL || ((LA344_2339 >= ORDER_SYMBOL) && (LA344_2339 <= OR_SYMBOL)) || LA344_2339 == PLUS_OPERATOR || LA344_2339 == PROCEDURE_SYMBOL || LA344_2339 == REGEXP_SYMBOL || LA344_2339 == RIGHT_SYMBOL || LA344_2339 == SEMICOLON_SYMBOL || LA344_2339 == SET_SYMBOL || ((LA344_2339 >= SHIFT_LEFT_OPERATOR) && (LA344_2339 <= SHIFT_RIGHT_OPERATOR)) || LA344_2339 == SINGLE_QUOTED_TEXT || LA344_2339 == STRAIGHT_JOIN_SYMBOL || LA344_2339 == UNION_SYMBOL || LA344_2339 == USING_SYMBOL || LA344_2339 == WHERE_SYMBOL || LA344_2339 == WITH_SYMBOL || LA344_2339 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2339;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 156;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 2;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA344_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA344_3 = LA(2);
                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3 == DOT_SYMBOL))
                        {
                            {
                                int LA344_208 = LA(3);
                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_208 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_208 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2341 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2341 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3110 = LA(5);
                                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3110 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_3110 >= ASCII_SYMBOL) && (LA344_3110 <= YEAR_SYMBOL)) || LA344_3110 == BACK_TICK_QUOTED_ID || LA344_3110 == DOUBLE_QUOTED_TEXT || LA344_3110 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3110;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2341 == EOF || ((LA344_2341 >= ASCII_SYMBOL) && (LA344_2341 <= YEAR_SYMBOL)) || LA344_2341 == AND_SYMBOL || LA344_2341 == AS_SYMBOL || LA344_2341 == BACK_TICK_QUOTED_ID || LA344_2341 == BETWEEN_SYMBOL || LA344_2341 == BITWISE_AND_OPERATOR || ((LA344_2341 >= BITWISE_OR_OPERATOR) && (LA344_2341 <= BITWISE_XOR_OPERATOR)) || ((LA344_2341 >= CLOSE_CURLY_SYMBOL) && (LA344_2341 <= COLLATE_SYMBOL)) || LA344_2341 == COMMA_SYMBOL || LA344_2341 == CONCAT_PIPES_SYMBOL || LA344_2341 == CROSS_SYMBOL || ((LA344_2341 >= DIV_OPERATOR) && (LA344_2341 <= DIV_SYMBOL)) || LA344_2341 == DOUBLE_QUOTED_TEXT || LA344_2341 == EQUAL_OPERATOR || LA344_2341 == FOR_SYMBOL || LA344_2341 == FROM_SYMBOL || ((LA344_2341 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2341 <= GREATER_THAN_OPERATOR)) || ((LA344_2341 >= GROUP_SYMBOL) && (LA344_2341 <= HAVING_SYMBOL)) || LA344_2341 == IDENTIFIER || LA344_2341 == INNER_SYMBOL || LA344_2341 == INTO_SYMBOL || LA344_2341 == IN_SYMBOL || LA344_2341 == IS_SYMBOL || LA344_2341 == JOIN_SYMBOL || ((LA344_2341 >= LEFT_SYMBOL) && (LA344_2341 <= LESS_THAN_OPERATOR)) || ((LA344_2341 >= LIKE_SYMBOL) && (LA344_2341 <= LIMIT_SYMBOL)) || LA344_2341 == LOCK_SYMBOL || LA344_2341 == LOGICAL_AND_OPERATOR || LA344_2341 == LOGICAL_OR_OPERATOR || LA344_2341 == MINUS_OPERATOR || ((LA344_2341 >= MOD_OPERATOR) && (LA344_2341 <= MOD_SYMBOL)) || ((LA344_2341 >= MULT_OPERATOR) && (LA344_2341 <= NATURAL_SYMBOL)) || ((LA344_2341 >= NOT_EQUAL2_OPERATOR) && (LA344_2341 <= NOT_SYMBOL)) || LA344_2341 == NULL_SAFE_EQUAL_OPERATOR || LA344_2341 == ON_SYMBOL || LA344_2341 == OPEN_PAR_SYMBOL || ((LA344_2341 >= ORDER_SYMBOL) && (LA344_2341 <= OR_SYMBOL)) || LA344_2341 == PLUS_OPERATOR || LA344_2341 == PROCEDURE_SYMBOL || LA344_2341 == REGEXP_SYMBOL || LA344_2341 == RIGHT_SYMBOL || LA344_2341 == SEMICOLON_SYMBOL || LA344_2341 == SET_SYMBOL || ((LA344_2341 >= SHIFT_LEFT_OPERATOR) && (LA344_2341 <= SHIFT_RIGHT_OPERATOR)) || LA344_2341 == SINGLE_QUOTED_TEXT || LA344_2341 == STRAIGHT_JOIN_SYMBOL || LA344_2341 == UNION_SYMBOL || LA344_2341 == USING_SYMBOL || LA344_2341 == WHERE_SYMBOL || LA344_2341 == WITH_SYMBOL || LA344_2341 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2341;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_208 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2342 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2342 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3163 = LA(5);
                                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3163 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_3163 >= ASCII_SYMBOL) && (LA344_3163 <= YEAR_SYMBOL)) || LA344_3163 == BACK_TICK_QUOTED_ID || LA344_3163 == DOUBLE_QUOTED_TEXT || LA344_3163 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3163;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2342 == EOF || ((LA344_2342 >= ASCII_SYMBOL) && (LA344_2342 <= YEAR_SYMBOL)) || LA344_2342 == AND_SYMBOL || LA344_2342 == AS_SYMBOL || LA344_2342 == BACK_TICK_QUOTED_ID || LA344_2342 == BETWEEN_SYMBOL || LA344_2342 == BITWISE_AND_OPERATOR || ((LA344_2342 >= BITWISE_OR_OPERATOR) && (LA344_2342 <= BITWISE_XOR_OPERATOR)) || ((LA344_2342 >= CLOSE_CURLY_SYMBOL) && (LA344_2342 <= COLLATE_SYMBOL)) || LA344_2342 == COMMA_SYMBOL || LA344_2342 == CONCAT_PIPES_SYMBOL || LA344_2342 == CROSS_SYMBOL || ((LA344_2342 >= DIV_OPERATOR) && (LA344_2342 <= DIV_SYMBOL)) || LA344_2342 == DOUBLE_QUOTED_TEXT || LA344_2342 == EQUAL_OPERATOR || LA344_2342 == FOR_SYMBOL || LA344_2342 == FROM_SYMBOL || ((LA344_2342 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2342 <= GREATER_THAN_OPERATOR)) || ((LA344_2342 >= GROUP_SYMBOL) && (LA344_2342 <= HAVING_SYMBOL)) || LA344_2342 == IDENTIFIER || LA344_2342 == INNER_SYMBOL || LA344_2342 == INTO_SYMBOL || LA344_2342 == IN_SYMBOL || LA344_2342 == IS_SYMBOL || LA344_2342 == JOIN_SYMBOL || ((LA344_2342 >= LEFT_SYMBOL) && (LA344_2342 <= LESS_THAN_OPERATOR)) || ((LA344_2342 >= LIKE_SYMBOL) && (LA344_2342 <= LIMIT_SYMBOL)) || LA344_2342 == LOCK_SYMBOL || LA344_2342 == LOGICAL_AND_OPERATOR || LA344_2342 == LOGICAL_OR_OPERATOR || LA344_2342 == MINUS_OPERATOR || ((LA344_2342 >= MOD_OPERATOR) && (LA344_2342 <= MOD_SYMBOL)) || ((LA344_2342 >= MULT_OPERATOR) && (LA344_2342 <= NATURAL_SYMBOL)) || ((LA344_2342 >= NOT_EQUAL2_OPERATOR) && (LA344_2342 <= NOT_SYMBOL)) || LA344_2342 == NULL_SAFE_EQUAL_OPERATOR || LA344_2342 == ON_SYMBOL || LA344_2342 == OPEN_PAR_SYMBOL || ((LA344_2342 >= ORDER_SYMBOL) && (LA344_2342 <= OR_SYMBOL)) || LA344_2342 == PLUS_OPERATOR || LA344_2342 == PROCEDURE_SYMBOL || LA344_2342 == REGEXP_SYMBOL || LA344_2342 == RIGHT_SYMBOL || LA344_2342 == SEMICOLON_SYMBOL || LA344_2342 == SET_SYMBOL || ((LA344_2342 >= SHIFT_LEFT_OPERATOR) && (LA344_2342 <= SHIFT_RIGHT_OPERATOR)) || LA344_2342 == SINGLE_QUOTED_TEXT || LA344_2342 == STRAIGHT_JOIN_SYMBOL || LA344_2342 == UNION_SYMBOL || LA344_2342 == USING_SYMBOL || LA344_2342 == WHERE_SYMBOL || LA344_2342 == WITH_SYMBOL || LA344_2342 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2342;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_208 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2343 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2343 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3216 = LA(5);
                                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3216 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_3216 >= ASCII_SYMBOL) && (LA344_3216 <= YEAR_SYMBOL)) || LA344_3216 == BACK_TICK_QUOTED_ID || LA344_3216 == DOUBLE_QUOTED_TEXT || LA344_3216 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3216;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2343 == EOF || ((LA344_2343 >= ASCII_SYMBOL) && (LA344_2343 <= YEAR_SYMBOL)) || LA344_2343 == AND_SYMBOL || LA344_2343 == AS_SYMBOL || LA344_2343 == BACK_TICK_QUOTED_ID || LA344_2343 == BETWEEN_SYMBOL || LA344_2343 == BITWISE_AND_OPERATOR || ((LA344_2343 >= BITWISE_OR_OPERATOR) && (LA344_2343 <= BITWISE_XOR_OPERATOR)) || ((LA344_2343 >= CLOSE_CURLY_SYMBOL) && (LA344_2343 <= COLLATE_SYMBOL)) || LA344_2343 == COMMA_SYMBOL || LA344_2343 == CONCAT_PIPES_SYMBOL || LA344_2343 == CROSS_SYMBOL || ((LA344_2343 >= DIV_OPERATOR) && (LA344_2343 <= DIV_SYMBOL)) || LA344_2343 == DOUBLE_QUOTED_TEXT || LA344_2343 == EQUAL_OPERATOR || LA344_2343 == FOR_SYMBOL || LA344_2343 == FROM_SYMBOL || ((LA344_2343 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2343 <= GREATER_THAN_OPERATOR)) || ((LA344_2343 >= GROUP_SYMBOL) && (LA344_2343 <= HAVING_SYMBOL)) || LA344_2343 == IDENTIFIER || LA344_2343 == INNER_SYMBOL || LA344_2343 == INTO_SYMBOL || LA344_2343 == IN_SYMBOL || LA344_2343 == IS_SYMBOL || LA344_2343 == JOIN_SYMBOL || ((LA344_2343 >= LEFT_SYMBOL) && (LA344_2343 <= LESS_THAN_OPERATOR)) || ((LA344_2343 >= LIKE_SYMBOL) && (LA344_2343 <= LIMIT_SYMBOL)) || LA344_2343 == LOCK_SYMBOL || LA344_2343 == LOGICAL_AND_OPERATOR || LA344_2343 == LOGICAL_OR_OPERATOR || LA344_2343 == MINUS_OPERATOR || ((LA344_2343 >= MOD_OPERATOR) && (LA344_2343 <= MOD_SYMBOL)) || ((LA344_2343 >= MULT_OPERATOR) && (LA344_2343 <= NATURAL_SYMBOL)) || ((LA344_2343 >= NOT_EQUAL2_OPERATOR) && (LA344_2343 <= NOT_SYMBOL)) || LA344_2343 == NULL_SAFE_EQUAL_OPERATOR || LA344_2343 == ON_SYMBOL || LA344_2343 == OPEN_PAR_SYMBOL || ((LA344_2343 >= ORDER_SYMBOL) && (LA344_2343 <= OR_SYMBOL)) || LA344_2343 == PLUS_OPERATOR || LA344_2343 == PROCEDURE_SYMBOL || LA344_2343 == REGEXP_SYMBOL || LA344_2343 == RIGHT_SYMBOL || LA344_2343 == SEMICOLON_SYMBOL || LA344_2343 == SET_SYMBOL || ((LA344_2343 >= SHIFT_LEFT_OPERATOR) && (LA344_2343 <= SHIFT_RIGHT_OPERATOR)) || LA344_2343 == SINGLE_QUOTED_TEXT || LA344_2343 == STRAIGHT_JOIN_SYMBOL || LA344_2343 == UNION_SYMBOL || LA344_2343 == USING_SYMBOL || LA344_2343 == WHERE_SYMBOL || LA344_2343 == WITH_SYMBOL || LA344_2343 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2343;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_208 >= ACTION_SYMBOL) && (LA344_208 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2344 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2344 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3269 = LA(5);
                                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3269 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_3269 >= ASCII_SYMBOL) && (LA344_3269 <= YEAR_SYMBOL)) || LA344_3269 == BACK_TICK_QUOTED_ID || LA344_3269 == DOUBLE_QUOTED_TEXT || LA344_3269 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3269;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2344 == EOF || ((LA344_2344 >= ASCII_SYMBOL) && (LA344_2344 <= YEAR_SYMBOL)) || LA344_2344 == AND_SYMBOL || LA344_2344 == AS_SYMBOL || LA344_2344 == BACK_TICK_QUOTED_ID || LA344_2344 == BETWEEN_SYMBOL || LA344_2344 == BITWISE_AND_OPERATOR || ((LA344_2344 >= BITWISE_OR_OPERATOR) && (LA344_2344 <= BITWISE_XOR_OPERATOR)) || ((LA344_2344 >= CLOSE_CURLY_SYMBOL) && (LA344_2344 <= COLLATE_SYMBOL)) || LA344_2344 == COMMA_SYMBOL || LA344_2344 == CONCAT_PIPES_SYMBOL || LA344_2344 == CROSS_SYMBOL || ((LA344_2344 >= DIV_OPERATOR) && (LA344_2344 <= DIV_SYMBOL)) || LA344_2344 == DOUBLE_QUOTED_TEXT || LA344_2344 == EQUAL_OPERATOR || LA344_2344 == FOR_SYMBOL || LA344_2344 == FROM_SYMBOL || ((LA344_2344 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2344 <= GREATER_THAN_OPERATOR)) || ((LA344_2344 >= GROUP_SYMBOL) && (LA344_2344 <= HAVING_SYMBOL)) || LA344_2344 == IDENTIFIER || LA344_2344 == INNER_SYMBOL || LA344_2344 == INTO_SYMBOL || LA344_2344 == IN_SYMBOL || LA344_2344 == IS_SYMBOL || LA344_2344 == JOIN_SYMBOL || ((LA344_2344 >= LEFT_SYMBOL) && (LA344_2344 <= LESS_THAN_OPERATOR)) || ((LA344_2344 >= LIKE_SYMBOL) && (LA344_2344 <= LIMIT_SYMBOL)) || LA344_2344 == LOCK_SYMBOL || LA344_2344 == LOGICAL_AND_OPERATOR || LA344_2344 == LOGICAL_OR_OPERATOR || LA344_2344 == MINUS_OPERATOR || ((LA344_2344 >= MOD_OPERATOR) && (LA344_2344 <= MOD_SYMBOL)) || ((LA344_2344 >= MULT_OPERATOR) && (LA344_2344 <= NATURAL_SYMBOL)) || ((LA344_2344 >= NOT_EQUAL2_OPERATOR) && (LA344_2344 <= NOT_SYMBOL)) || LA344_2344 == NULL_SAFE_EQUAL_OPERATOR || LA344_2344 == ON_SYMBOL || LA344_2344 == OPEN_PAR_SYMBOL || ((LA344_2344 >= ORDER_SYMBOL) && (LA344_2344 <= OR_SYMBOL)) || LA344_2344 == PLUS_OPERATOR || LA344_2344 == PROCEDURE_SYMBOL || LA344_2344 == REGEXP_SYMBOL || LA344_2344 == RIGHT_SYMBOL || LA344_2344 == SEMICOLON_SYMBOL || LA344_2344 == SET_SYMBOL || ((LA344_2344 >= SHIFT_LEFT_OPERATOR) && (LA344_2344 <= SHIFT_RIGHT_OPERATOR)) || LA344_2344 == SINGLE_QUOTED_TEXT || LA344_2344 == STRAIGHT_JOIN_SYMBOL || LA344_2344 == UNION_SYMBOL || LA344_2344 == USING_SYMBOL || LA344_2344 == WHERE_SYMBOL || LA344_2344 == WITH_SYMBOL || LA344_2344 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2344;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_208 >= ASCII_SYMBOL) && (LA344_208 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2345 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2345 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3322 = LA(5);
                                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3322 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA344_3322 >= ASCII_SYMBOL) && (LA344_3322 <= YEAR_SYMBOL)) || LA344_3322 == BACK_TICK_QUOTED_ID || LA344_3322 == DOUBLE_QUOTED_TEXT || LA344_3322 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3322;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_2345 == EOF || ((LA344_2345 >= ASCII_SYMBOL) && (LA344_2345 <= YEAR_SYMBOL)) || LA344_2345 == AND_SYMBOL || LA344_2345 == AS_SYMBOL || LA344_2345 == BACK_TICK_QUOTED_ID || LA344_2345 == BETWEEN_SYMBOL || LA344_2345 == BITWISE_AND_OPERATOR || ((LA344_2345 >= BITWISE_OR_OPERATOR) && (LA344_2345 <= BITWISE_XOR_OPERATOR)) || ((LA344_2345 >= CLOSE_CURLY_SYMBOL) && (LA344_2345 <= COLLATE_SYMBOL)) || LA344_2345 == COMMA_SYMBOL || LA344_2345 == CONCAT_PIPES_SYMBOL || LA344_2345 == CROSS_SYMBOL || ((LA344_2345 >= DIV_OPERATOR) && (LA344_2345 <= DIV_SYMBOL)) || LA344_2345 == DOUBLE_QUOTED_TEXT || LA344_2345 == EQUAL_OPERATOR || LA344_2345 == FOR_SYMBOL || LA344_2345 == FROM_SYMBOL || ((LA344_2345 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2345 <= GREATER_THAN_OPERATOR)) || ((LA344_2345 >= GROUP_SYMBOL) && (LA344_2345 <= HAVING_SYMBOL)) || LA344_2345 == IDENTIFIER || LA344_2345 == INNER_SYMBOL || LA344_2345 == INTO_SYMBOL || LA344_2345 == IN_SYMBOL || LA344_2345 == IS_SYMBOL || LA344_2345 == JOIN_SYMBOL || ((LA344_2345 >= LEFT_SYMBOL) && (LA344_2345 <= LESS_THAN_OPERATOR)) || ((LA344_2345 >= LIKE_SYMBOL) && (LA344_2345 <= LIMIT_SYMBOL)) || LA344_2345 == LOCK_SYMBOL || LA344_2345 == LOGICAL_AND_OPERATOR || LA344_2345 == LOGICAL_OR_OPERATOR || LA344_2345 == MINUS_OPERATOR || ((LA344_2345 >= MOD_OPERATOR) && (LA344_2345 <= MOD_SYMBOL)) || ((LA344_2345 >= MULT_OPERATOR) && (LA344_2345 <= NATURAL_SYMBOL)) || ((LA344_2345 >= NOT_EQUAL2_OPERATOR) && (LA344_2345 <= NOT_SYMBOL)) || LA344_2345 == NULL_SAFE_EQUAL_OPERATOR || LA344_2345 == ON_SYMBOL || LA344_2345 == OPEN_PAR_SYMBOL || ((LA344_2345 >= ORDER_SYMBOL) && (LA344_2345 <= OR_SYMBOL)) || LA344_2345 == PLUS_OPERATOR || LA344_2345 == PROCEDURE_SYMBOL || LA344_2345 == REGEXP_SYMBOL || LA344_2345 == RIGHT_SYMBOL || LA344_2345 == SEMICOLON_SYMBOL || LA344_2345 == SET_SYMBOL || ((LA344_2345 >= SHIFT_LEFT_OPERATOR) && (LA344_2345 <= SHIFT_RIGHT_OPERATOR)) || LA344_2345 == SINGLE_QUOTED_TEXT || LA344_2345 == STRAIGHT_JOIN_SYMBOL || LA344_2345 == UNION_SYMBOL || LA344_2345 == USING_SYMBOL || LA344_2345 == WHERE_SYMBOL || LA344_2345 == WITH_SYMBOL || LA344_2345 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2345;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 208;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA344_3 == EOF || ((LA344_3 >= ASCII_SYMBOL) && (LA344_3 <= YEAR_SYMBOL)) || LA344_3 == AND_SYMBOL || LA344_3 == AS_SYMBOL || LA344_3 == BACK_TICK_QUOTED_ID || LA344_3 == BETWEEN_SYMBOL || LA344_3 == BITWISE_AND_OPERATOR || ((LA344_3 >= BITWISE_OR_OPERATOR) && (LA344_3 <= BITWISE_XOR_OPERATOR)) || ((LA344_3 >= CLOSE_CURLY_SYMBOL) && (LA344_3 <= COLLATE_SYMBOL)) || LA344_3 == COMMA_SYMBOL || LA344_3 == CONCAT_PIPES_SYMBOL || LA344_3 == CROSS_SYMBOL || ((LA344_3 >= DIV_OPERATOR) && (LA344_3 <= DIV_SYMBOL)) || LA344_3 == DOUBLE_QUOTED_TEXT || LA344_3 == EQUAL_OPERATOR || LA344_3 == FOR_SYMBOL || LA344_3 == FROM_SYMBOL || ((LA344_3 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_3 <= GREATER_THAN_OPERATOR)) || ((LA344_3 >= GROUP_SYMBOL) && (LA344_3 <= HAVING_SYMBOL)) || LA344_3 == IDENTIFIER || LA344_3 == INNER_SYMBOL || LA344_3 == INTO_SYMBOL || LA344_3 == IN_SYMBOL || LA344_3 == IS_SYMBOL || LA344_3 == JOIN_SYMBOL || ((LA344_3 >= LEFT_SYMBOL) && (LA344_3 <= LESS_THAN_OPERATOR)) || ((LA344_3 >= LIKE_SYMBOL) && (LA344_3 <= LIMIT_SYMBOL)) || LA344_3 == LOCK_SYMBOL || LA344_3 == LOGICAL_AND_OPERATOR || LA344_3 == LOGICAL_OR_OPERATOR || LA344_3 == MINUS_OPERATOR || ((LA344_3 >= MOD_OPERATOR) && (LA344_3 <= MOD_SYMBOL)) || ((LA344_3 >= MULT_OPERATOR) && (LA344_3 <= NATURAL_SYMBOL)) || ((LA344_3 >= NOT_EQUAL2_OPERATOR) && (LA344_3 <= NOT_SYMBOL)) || LA344_3 == NULL_SAFE_EQUAL_OPERATOR || LA344_3 == ON_SYMBOL || ((LA344_3 >= ORDER_SYMBOL) && (LA344_3 <= OR_SYMBOL)) || LA344_3 == PLUS_OPERATOR || LA344_3 == PROCEDURE_SYMBOL || LA344_3 == REGEXP_SYMBOL || LA344_3 == RIGHT_SYMBOL || LA344_3 == SEMICOLON_SYMBOL || LA344_3 == SET_SYMBOL || ((LA344_3 >= SHIFT_LEFT_OPERATOR) && (LA344_3 <= SHIFT_RIGHT_OPERATOR)) || LA344_3 == SINGLE_QUOTED_TEXT || LA344_3 == STRAIGHT_JOIN_SYMBOL || LA344_3 == UNION_SYMBOL || LA344_3 == USING_SYMBOL || LA344_3 == WHERE_SYMBOL || LA344_3 == WITH_SYMBOL || LA344_3 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA344_3 == OPEN_PAR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 3;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == DATE_SYMBOL))
                {
                    {
                        int LA344_4 = LA(2);
                        if ( (LA344_4 == EOF || ((LA344_4 >= ASCII_SYMBOL) && (LA344_4 <= YEAR_SYMBOL)) || LA344_4 == AND_SYMBOL || LA344_4 == AS_SYMBOL || LA344_4 == BACK_TICK_QUOTED_ID || LA344_4 == BETWEEN_SYMBOL || LA344_4 == BITWISE_AND_OPERATOR || ((LA344_4 >= BITWISE_OR_OPERATOR) && (LA344_4 <= BITWISE_XOR_OPERATOR)) || ((LA344_4 >= CLOSE_CURLY_SYMBOL) && (LA344_4 <= COLLATE_SYMBOL)) || LA344_4 == COMMA_SYMBOL || LA344_4 == CONCAT_PIPES_SYMBOL || LA344_4 == CROSS_SYMBOL || ((LA344_4 >= DIV_OPERATOR) && (LA344_4 <= DIV_SYMBOL)) || LA344_4 == DOUBLE_QUOTED_TEXT || LA344_4 == EQUAL_OPERATOR || LA344_4 == FOR_SYMBOL || LA344_4 == FROM_SYMBOL || ((LA344_4 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_4 <= GREATER_THAN_OPERATOR)) || ((LA344_4 >= GROUP_SYMBOL) && (LA344_4 <= HAVING_SYMBOL)) || LA344_4 == IDENTIFIER || LA344_4 == INNER_SYMBOL || LA344_4 == INTO_SYMBOL || LA344_4 == IN_SYMBOL || LA344_4 == IS_SYMBOL || LA344_4 == JOIN_SYMBOL || ((LA344_4 >= LEFT_SYMBOL) && (LA344_4 <= LESS_THAN_OPERATOR)) || ((LA344_4 >= LIKE_SYMBOL) && (LA344_4 <= LIMIT_SYMBOL)) || LA344_4 == LOCK_SYMBOL || LA344_4 == LOGICAL_AND_OPERATOR || LA344_4 == LOGICAL_OR_OPERATOR || LA344_4 == MINUS_OPERATOR || ((LA344_4 >= MOD_OPERATOR) && (LA344_4 <= MOD_SYMBOL)) || ((LA344_4 >= MULT_OPERATOR) && (LA344_4 <= NATURAL_SYMBOL)) || ((LA344_4 >= NOT_EQUAL2_OPERATOR) && (LA344_4 <= NOT_SYMBOL)) || LA344_4 == NULL_SAFE_EQUAL_OPERATOR || LA344_4 == ON_SYMBOL || LA344_4 == OPEN_PAR_SYMBOL || ((LA344_4 >= ORDER_SYMBOL) && (LA344_4 <= OR_SYMBOL)) || LA344_4 == PLUS_OPERATOR || LA344_4 == PROCEDURE_SYMBOL || LA344_4 == REGEXP_SYMBOL || LA344_4 == RIGHT_SYMBOL || LA344_4 == SEMICOLON_SYMBOL || LA344_4 == SET_SYMBOL || ((LA344_4 >= SHIFT_LEFT_OPERATOR) && (LA344_4 <= SHIFT_RIGHT_OPERATOR)) || LA344_4 == SINGLE_QUOTED_TEXT || LA344_4 == STRAIGHT_JOIN_SYMBOL || LA344_4 == UNION_SYMBOL || LA344_4 == USING_SYMBOL || LA344_4 == WHERE_SYMBOL || LA344_4 == WITH_SYMBOL || LA344_4 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_4 == DOT_SYMBOL))
                        {
                            {
                                int LA344_263 = LA(3);
                                if ( (LA344_263 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_263 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2347 = LA(4);
                                        if ( (LA344_2347 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3375 = LA(5);
                                                if ( (LA344_3375 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3375 >= ASCII_SYMBOL) && (LA344_3375 <= YEAR_SYMBOL)) || LA344_3375 == BACK_TICK_QUOTED_ID || LA344_3375 == DOUBLE_QUOTED_TEXT || LA344_3375 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3375;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2347 == EOF || ((LA344_2347 >= ASCII_SYMBOL) && (LA344_2347 <= YEAR_SYMBOL)) || LA344_2347 == AND_SYMBOL || LA344_2347 == AS_SYMBOL || LA344_2347 == BACK_TICK_QUOTED_ID || LA344_2347 == BETWEEN_SYMBOL || LA344_2347 == BITWISE_AND_OPERATOR || ((LA344_2347 >= BITWISE_OR_OPERATOR) && (LA344_2347 <= BITWISE_XOR_OPERATOR)) || ((LA344_2347 >= CLOSE_CURLY_SYMBOL) && (LA344_2347 <= COLLATE_SYMBOL)) || LA344_2347 == COMMA_SYMBOL || LA344_2347 == CONCAT_PIPES_SYMBOL || LA344_2347 == CROSS_SYMBOL || ((LA344_2347 >= DIV_OPERATOR) && (LA344_2347 <= DIV_SYMBOL)) || LA344_2347 == DOUBLE_QUOTED_TEXT || LA344_2347 == EQUAL_OPERATOR || LA344_2347 == FOR_SYMBOL || LA344_2347 == FROM_SYMBOL || ((LA344_2347 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2347 <= GREATER_THAN_OPERATOR)) || ((LA344_2347 >= GROUP_SYMBOL) && (LA344_2347 <= HAVING_SYMBOL)) || LA344_2347 == IDENTIFIER || LA344_2347 == INNER_SYMBOL || LA344_2347 == INTO_SYMBOL || LA344_2347 == IN_SYMBOL || LA344_2347 == IS_SYMBOL || LA344_2347 == JOIN_SYMBOL || ((LA344_2347 >= LEFT_SYMBOL) && (LA344_2347 <= LESS_THAN_OPERATOR)) || ((LA344_2347 >= LIKE_SYMBOL) && (LA344_2347 <= LIMIT_SYMBOL)) || LA344_2347 == LOCK_SYMBOL || LA344_2347 == LOGICAL_AND_OPERATOR || LA344_2347 == LOGICAL_OR_OPERATOR || LA344_2347 == MINUS_OPERATOR || ((LA344_2347 >= MOD_OPERATOR) && (LA344_2347 <= MOD_SYMBOL)) || ((LA344_2347 >= MULT_OPERATOR) && (LA344_2347 <= NATURAL_SYMBOL)) || ((LA344_2347 >= NOT_EQUAL2_OPERATOR) && (LA344_2347 <= NOT_SYMBOL)) || LA344_2347 == NULL_SAFE_EQUAL_OPERATOR || LA344_2347 == ON_SYMBOL || LA344_2347 == OPEN_PAR_SYMBOL || ((LA344_2347 >= ORDER_SYMBOL) && (LA344_2347 <= OR_SYMBOL)) || LA344_2347 == PLUS_OPERATOR || LA344_2347 == PROCEDURE_SYMBOL || LA344_2347 == REGEXP_SYMBOL || LA344_2347 == RIGHT_SYMBOL || LA344_2347 == SEMICOLON_SYMBOL || LA344_2347 == SET_SYMBOL || ((LA344_2347 >= SHIFT_LEFT_OPERATOR) && (LA344_2347 <= SHIFT_RIGHT_OPERATOR)) || LA344_2347 == SINGLE_QUOTED_TEXT || LA344_2347 == STRAIGHT_JOIN_SYMBOL || LA344_2347 == UNION_SYMBOL || LA344_2347 == USING_SYMBOL || LA344_2347 == WHERE_SYMBOL || LA344_2347 == WITH_SYMBOL || LA344_2347 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2347;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_263 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2348 = LA(4);
                                        if ( (LA344_2348 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3428 = LA(5);
                                                if ( (LA344_3428 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3428 >= ASCII_SYMBOL) && (LA344_3428 <= YEAR_SYMBOL)) || LA344_3428 == BACK_TICK_QUOTED_ID || LA344_3428 == DOUBLE_QUOTED_TEXT || LA344_3428 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3428;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2348 == EOF || ((LA344_2348 >= ASCII_SYMBOL) && (LA344_2348 <= YEAR_SYMBOL)) || LA344_2348 == AND_SYMBOL || LA344_2348 == AS_SYMBOL || LA344_2348 == BACK_TICK_QUOTED_ID || LA344_2348 == BETWEEN_SYMBOL || LA344_2348 == BITWISE_AND_OPERATOR || ((LA344_2348 >= BITWISE_OR_OPERATOR) && (LA344_2348 <= BITWISE_XOR_OPERATOR)) || ((LA344_2348 >= CLOSE_CURLY_SYMBOL) && (LA344_2348 <= COLLATE_SYMBOL)) || LA344_2348 == COMMA_SYMBOL || LA344_2348 == CONCAT_PIPES_SYMBOL || LA344_2348 == CROSS_SYMBOL || ((LA344_2348 >= DIV_OPERATOR) && (LA344_2348 <= DIV_SYMBOL)) || LA344_2348 == DOUBLE_QUOTED_TEXT || LA344_2348 == EQUAL_OPERATOR || LA344_2348 == FOR_SYMBOL || LA344_2348 == FROM_SYMBOL || ((LA344_2348 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2348 <= GREATER_THAN_OPERATOR)) || ((LA344_2348 >= GROUP_SYMBOL) && (LA344_2348 <= HAVING_SYMBOL)) || LA344_2348 == IDENTIFIER || LA344_2348 == INNER_SYMBOL || LA344_2348 == INTO_SYMBOL || LA344_2348 == IN_SYMBOL || LA344_2348 == IS_SYMBOL || LA344_2348 == JOIN_SYMBOL || ((LA344_2348 >= LEFT_SYMBOL) && (LA344_2348 <= LESS_THAN_OPERATOR)) || ((LA344_2348 >= LIKE_SYMBOL) && (LA344_2348 <= LIMIT_SYMBOL)) || LA344_2348 == LOCK_SYMBOL || LA344_2348 == LOGICAL_AND_OPERATOR || LA344_2348 == LOGICAL_OR_OPERATOR || LA344_2348 == MINUS_OPERATOR || ((LA344_2348 >= MOD_OPERATOR) && (LA344_2348 <= MOD_SYMBOL)) || ((LA344_2348 >= MULT_OPERATOR) && (LA344_2348 <= NATURAL_SYMBOL)) || ((LA344_2348 >= NOT_EQUAL2_OPERATOR) && (LA344_2348 <= NOT_SYMBOL)) || LA344_2348 == NULL_SAFE_EQUAL_OPERATOR || LA344_2348 == ON_SYMBOL || LA344_2348 == OPEN_PAR_SYMBOL || ((LA344_2348 >= ORDER_SYMBOL) && (LA344_2348 <= OR_SYMBOL)) || LA344_2348 == PLUS_OPERATOR || LA344_2348 == PROCEDURE_SYMBOL || LA344_2348 == REGEXP_SYMBOL || LA344_2348 == RIGHT_SYMBOL || LA344_2348 == SEMICOLON_SYMBOL || LA344_2348 == SET_SYMBOL || ((LA344_2348 >= SHIFT_LEFT_OPERATOR) && (LA344_2348 <= SHIFT_RIGHT_OPERATOR)) || LA344_2348 == SINGLE_QUOTED_TEXT || LA344_2348 == STRAIGHT_JOIN_SYMBOL || LA344_2348 == UNION_SYMBOL || LA344_2348 == USING_SYMBOL || LA344_2348 == WHERE_SYMBOL || LA344_2348 == WITH_SYMBOL || LA344_2348 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2348;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_263 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2349 = LA(4);
                                        if ( (LA344_2349 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3481 = LA(5);
                                                if ( (LA344_3481 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3481 >= ASCII_SYMBOL) && (LA344_3481 <= YEAR_SYMBOL)) || LA344_3481 == BACK_TICK_QUOTED_ID || LA344_3481 == DOUBLE_QUOTED_TEXT || LA344_3481 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3481;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2349 == EOF || ((LA344_2349 >= ASCII_SYMBOL) && (LA344_2349 <= YEAR_SYMBOL)) || LA344_2349 == AND_SYMBOL || LA344_2349 == AS_SYMBOL || LA344_2349 == BACK_TICK_QUOTED_ID || LA344_2349 == BETWEEN_SYMBOL || LA344_2349 == BITWISE_AND_OPERATOR || ((LA344_2349 >= BITWISE_OR_OPERATOR) && (LA344_2349 <= BITWISE_XOR_OPERATOR)) || ((LA344_2349 >= CLOSE_CURLY_SYMBOL) && (LA344_2349 <= COLLATE_SYMBOL)) || LA344_2349 == COMMA_SYMBOL || LA344_2349 == CONCAT_PIPES_SYMBOL || LA344_2349 == CROSS_SYMBOL || ((LA344_2349 >= DIV_OPERATOR) && (LA344_2349 <= DIV_SYMBOL)) || LA344_2349 == DOUBLE_QUOTED_TEXT || LA344_2349 == EQUAL_OPERATOR || LA344_2349 == FOR_SYMBOL || LA344_2349 == FROM_SYMBOL || ((LA344_2349 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2349 <= GREATER_THAN_OPERATOR)) || ((LA344_2349 >= GROUP_SYMBOL) && (LA344_2349 <= HAVING_SYMBOL)) || LA344_2349 == IDENTIFIER || LA344_2349 == INNER_SYMBOL || LA344_2349 == INTO_SYMBOL || LA344_2349 == IN_SYMBOL || LA344_2349 == IS_SYMBOL || LA344_2349 == JOIN_SYMBOL || ((LA344_2349 >= LEFT_SYMBOL) && (LA344_2349 <= LESS_THAN_OPERATOR)) || ((LA344_2349 >= LIKE_SYMBOL) && (LA344_2349 <= LIMIT_SYMBOL)) || LA344_2349 == LOCK_SYMBOL || LA344_2349 == LOGICAL_AND_OPERATOR || LA344_2349 == LOGICAL_OR_OPERATOR || LA344_2349 == MINUS_OPERATOR || ((LA344_2349 >= MOD_OPERATOR) && (LA344_2349 <= MOD_SYMBOL)) || ((LA344_2349 >= MULT_OPERATOR) && (LA344_2349 <= NATURAL_SYMBOL)) || ((LA344_2349 >= NOT_EQUAL2_OPERATOR) && (LA344_2349 <= NOT_SYMBOL)) || LA344_2349 == NULL_SAFE_EQUAL_OPERATOR || LA344_2349 == ON_SYMBOL || LA344_2349 == OPEN_PAR_SYMBOL || ((LA344_2349 >= ORDER_SYMBOL) && (LA344_2349 <= OR_SYMBOL)) || LA344_2349 == PLUS_OPERATOR || LA344_2349 == PROCEDURE_SYMBOL || LA344_2349 == REGEXP_SYMBOL || LA344_2349 == RIGHT_SYMBOL || LA344_2349 == SEMICOLON_SYMBOL || LA344_2349 == SET_SYMBOL || ((LA344_2349 >= SHIFT_LEFT_OPERATOR) && (LA344_2349 <= SHIFT_RIGHT_OPERATOR)) || LA344_2349 == SINGLE_QUOTED_TEXT || LA344_2349 == STRAIGHT_JOIN_SYMBOL || LA344_2349 == UNION_SYMBOL || LA344_2349 == USING_SYMBOL || LA344_2349 == WHERE_SYMBOL || LA344_2349 == WITH_SYMBOL || LA344_2349 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2349;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_263 >= ACTION_SYMBOL) && (LA344_263 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2350 = LA(4);
                                        if ( (LA344_2350 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3534 = LA(5);
                                                if ( (LA344_3534 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3534 >= ASCII_SYMBOL) && (LA344_3534 <= YEAR_SYMBOL)) || LA344_3534 == BACK_TICK_QUOTED_ID || LA344_3534 == DOUBLE_QUOTED_TEXT || LA344_3534 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3534;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2350 == EOF || ((LA344_2350 >= ASCII_SYMBOL) && (LA344_2350 <= YEAR_SYMBOL)) || LA344_2350 == AND_SYMBOL || LA344_2350 == AS_SYMBOL || LA344_2350 == BACK_TICK_QUOTED_ID || LA344_2350 == BETWEEN_SYMBOL || LA344_2350 == BITWISE_AND_OPERATOR || ((LA344_2350 >= BITWISE_OR_OPERATOR) && (LA344_2350 <= BITWISE_XOR_OPERATOR)) || ((LA344_2350 >= CLOSE_CURLY_SYMBOL) && (LA344_2350 <= COLLATE_SYMBOL)) || LA344_2350 == COMMA_SYMBOL || LA344_2350 == CONCAT_PIPES_SYMBOL || LA344_2350 == CROSS_SYMBOL || ((LA344_2350 >= DIV_OPERATOR) && (LA344_2350 <= DIV_SYMBOL)) || LA344_2350 == DOUBLE_QUOTED_TEXT || LA344_2350 == EQUAL_OPERATOR || LA344_2350 == FOR_SYMBOL || LA344_2350 == FROM_SYMBOL || ((LA344_2350 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2350 <= GREATER_THAN_OPERATOR)) || ((LA344_2350 >= GROUP_SYMBOL) && (LA344_2350 <= HAVING_SYMBOL)) || LA344_2350 == IDENTIFIER || LA344_2350 == INNER_SYMBOL || LA344_2350 == INTO_SYMBOL || LA344_2350 == IN_SYMBOL || LA344_2350 == IS_SYMBOL || LA344_2350 == JOIN_SYMBOL || ((LA344_2350 >= LEFT_SYMBOL) && (LA344_2350 <= LESS_THAN_OPERATOR)) || ((LA344_2350 >= LIKE_SYMBOL) && (LA344_2350 <= LIMIT_SYMBOL)) || LA344_2350 == LOCK_SYMBOL || LA344_2350 == LOGICAL_AND_OPERATOR || LA344_2350 == LOGICAL_OR_OPERATOR || LA344_2350 == MINUS_OPERATOR || ((LA344_2350 >= MOD_OPERATOR) && (LA344_2350 <= MOD_SYMBOL)) || ((LA344_2350 >= MULT_OPERATOR) && (LA344_2350 <= NATURAL_SYMBOL)) || ((LA344_2350 >= NOT_EQUAL2_OPERATOR) && (LA344_2350 <= NOT_SYMBOL)) || LA344_2350 == NULL_SAFE_EQUAL_OPERATOR || LA344_2350 == ON_SYMBOL || LA344_2350 == OPEN_PAR_SYMBOL || ((LA344_2350 >= ORDER_SYMBOL) && (LA344_2350 <= OR_SYMBOL)) || LA344_2350 == PLUS_OPERATOR || LA344_2350 == PROCEDURE_SYMBOL || LA344_2350 == REGEXP_SYMBOL || LA344_2350 == RIGHT_SYMBOL || LA344_2350 == SEMICOLON_SYMBOL || LA344_2350 == SET_SYMBOL || ((LA344_2350 >= SHIFT_LEFT_OPERATOR) && (LA344_2350 <= SHIFT_RIGHT_OPERATOR)) || LA344_2350 == SINGLE_QUOTED_TEXT || LA344_2350 == STRAIGHT_JOIN_SYMBOL || LA344_2350 == UNION_SYMBOL || LA344_2350 == USING_SYMBOL || LA344_2350 == WHERE_SYMBOL || LA344_2350 == WITH_SYMBOL || LA344_2350 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2350;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_263 >= ASCII_SYMBOL) && (LA344_263 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2351 = LA(4);
                                        if ( (LA344_2351 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3587 = LA(5);
                                                if ( (LA344_3587 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3587 >= ASCII_SYMBOL) && (LA344_3587 <= YEAR_SYMBOL)) || LA344_3587 == BACK_TICK_QUOTED_ID || LA344_3587 == DOUBLE_QUOTED_TEXT || LA344_3587 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3587;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2351 == EOF || ((LA344_2351 >= ASCII_SYMBOL) && (LA344_2351 <= YEAR_SYMBOL)) || LA344_2351 == AND_SYMBOL || LA344_2351 == AS_SYMBOL || LA344_2351 == BACK_TICK_QUOTED_ID || LA344_2351 == BETWEEN_SYMBOL || LA344_2351 == BITWISE_AND_OPERATOR || ((LA344_2351 >= BITWISE_OR_OPERATOR) && (LA344_2351 <= BITWISE_XOR_OPERATOR)) || ((LA344_2351 >= CLOSE_CURLY_SYMBOL) && (LA344_2351 <= COLLATE_SYMBOL)) || LA344_2351 == COMMA_SYMBOL || LA344_2351 == CONCAT_PIPES_SYMBOL || LA344_2351 == CROSS_SYMBOL || ((LA344_2351 >= DIV_OPERATOR) && (LA344_2351 <= DIV_SYMBOL)) || LA344_2351 == DOUBLE_QUOTED_TEXT || LA344_2351 == EQUAL_OPERATOR || LA344_2351 == FOR_SYMBOL || LA344_2351 == FROM_SYMBOL || ((LA344_2351 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2351 <= GREATER_THAN_OPERATOR)) || ((LA344_2351 >= GROUP_SYMBOL) && (LA344_2351 <= HAVING_SYMBOL)) || LA344_2351 == IDENTIFIER || LA344_2351 == INNER_SYMBOL || LA344_2351 == INTO_SYMBOL || LA344_2351 == IN_SYMBOL || LA344_2351 == IS_SYMBOL || LA344_2351 == JOIN_SYMBOL || ((LA344_2351 >= LEFT_SYMBOL) && (LA344_2351 <= LESS_THAN_OPERATOR)) || ((LA344_2351 >= LIKE_SYMBOL) && (LA344_2351 <= LIMIT_SYMBOL)) || LA344_2351 == LOCK_SYMBOL || LA344_2351 == LOGICAL_AND_OPERATOR || LA344_2351 == LOGICAL_OR_OPERATOR || LA344_2351 == MINUS_OPERATOR || ((LA344_2351 >= MOD_OPERATOR) && (LA344_2351 <= MOD_SYMBOL)) || ((LA344_2351 >= MULT_OPERATOR) && (LA344_2351 <= NATURAL_SYMBOL)) || ((LA344_2351 >= NOT_EQUAL2_OPERATOR) && (LA344_2351 <= NOT_SYMBOL)) || LA344_2351 == NULL_SAFE_EQUAL_OPERATOR || LA344_2351 == ON_SYMBOL || LA344_2351 == OPEN_PAR_SYMBOL || ((LA344_2351 >= ORDER_SYMBOL) && (LA344_2351 <= OR_SYMBOL)) || LA344_2351 == PLUS_OPERATOR || LA344_2351 == PROCEDURE_SYMBOL || LA344_2351 == REGEXP_SYMBOL || LA344_2351 == RIGHT_SYMBOL || LA344_2351 == SEMICOLON_SYMBOL || LA344_2351 == SET_SYMBOL || ((LA344_2351 >= SHIFT_LEFT_OPERATOR) && (LA344_2351 <= SHIFT_RIGHT_OPERATOR)) || LA344_2351 == SINGLE_QUOTED_TEXT || LA344_2351 == STRAIGHT_JOIN_SYMBOL || LA344_2351 == UNION_SYMBOL || LA344_2351 == USING_SYMBOL || LA344_2351 == WHERE_SYMBOL || LA344_2351 == WITH_SYMBOL || LA344_2351 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2351;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 263;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 4;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == ASCII_SYMBOL))
                {
                    {
                        int LA344_5 = LA(2);
                        if ( (LA344_5 == EOF || ((LA344_5 >= ASCII_SYMBOL) && (LA344_5 <= YEAR_SYMBOL)) || LA344_5 == AND_SYMBOL || LA344_5 == AS_SYMBOL || LA344_5 == BACK_TICK_QUOTED_ID || LA344_5 == BETWEEN_SYMBOL || LA344_5 == BITWISE_AND_OPERATOR || ((LA344_5 >= BITWISE_OR_OPERATOR) && (LA344_5 <= BITWISE_XOR_OPERATOR)) || ((LA344_5 >= CLOSE_CURLY_SYMBOL) && (LA344_5 <= COLLATE_SYMBOL)) || LA344_5 == COMMA_SYMBOL || LA344_5 == CONCAT_PIPES_SYMBOL || LA344_5 == CROSS_SYMBOL || ((LA344_5 >= DIV_OPERATOR) && (LA344_5 <= DIV_SYMBOL)) || LA344_5 == DOUBLE_QUOTED_TEXT || LA344_5 == EQUAL_OPERATOR || LA344_5 == FOR_SYMBOL || LA344_5 == FROM_SYMBOL || ((LA344_5 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_5 <= GREATER_THAN_OPERATOR)) || ((LA344_5 >= GROUP_SYMBOL) && (LA344_5 <= HAVING_SYMBOL)) || LA344_5 == IDENTIFIER || LA344_5 == INNER_SYMBOL || LA344_5 == INTO_SYMBOL || LA344_5 == IN_SYMBOL || LA344_5 == IS_SYMBOL || LA344_5 == JOIN_SYMBOL || ((LA344_5 >= LEFT_SYMBOL) && (LA344_5 <= LESS_THAN_OPERATOR)) || ((LA344_5 >= LIKE_SYMBOL) && (LA344_5 <= LIMIT_SYMBOL)) || LA344_5 == LOCK_SYMBOL || LA344_5 == LOGICAL_AND_OPERATOR || LA344_5 == LOGICAL_OR_OPERATOR || LA344_5 == MINUS_OPERATOR || ((LA344_5 >= MOD_OPERATOR) && (LA344_5 <= MOD_SYMBOL)) || ((LA344_5 >= MULT_OPERATOR) && (LA344_5 <= NATURAL_SYMBOL)) || ((LA344_5 >= NOT_EQUAL2_OPERATOR) && (LA344_5 <= NOT_SYMBOL)) || LA344_5 == NULL_SAFE_EQUAL_OPERATOR || LA344_5 == ON_SYMBOL || LA344_5 == OPEN_PAR_SYMBOL || ((LA344_5 >= ORDER_SYMBOL) && (LA344_5 <= OR_SYMBOL)) || LA344_5 == PLUS_OPERATOR || LA344_5 == PROCEDURE_SYMBOL || LA344_5 == REGEXP_SYMBOL || LA344_5 == RIGHT_SYMBOL || LA344_5 == SEMICOLON_SYMBOL || LA344_5 == SET_SYMBOL || ((LA344_5 >= SHIFT_LEFT_OPERATOR) && (LA344_5 <= SHIFT_RIGHT_OPERATOR)) || LA344_5 == SINGLE_QUOTED_TEXT || LA344_5 == STRAIGHT_JOIN_SYMBOL || LA344_5 == UNION_SYMBOL || LA344_5 == USING_SYMBOL || LA344_5 == WHERE_SYMBOL || LA344_5 == WITH_SYMBOL || LA344_5 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_5 == DOT_SYMBOL))
                        {
                            {
                                int LA344_315 = LA(3);
                                if ( (LA344_315 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_315 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2353 = LA(4);
                                        if ( (LA344_2353 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3640 = LA(5);
                                                if ( (LA344_3640 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3640 >= ASCII_SYMBOL) && (LA344_3640 <= YEAR_SYMBOL)) || LA344_3640 == BACK_TICK_QUOTED_ID || LA344_3640 == DOUBLE_QUOTED_TEXT || LA344_3640 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3640;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2353 == EOF || ((LA344_2353 >= ASCII_SYMBOL) && (LA344_2353 <= YEAR_SYMBOL)) || LA344_2353 == AND_SYMBOL || LA344_2353 == AS_SYMBOL || LA344_2353 == BACK_TICK_QUOTED_ID || LA344_2353 == BETWEEN_SYMBOL || LA344_2353 == BITWISE_AND_OPERATOR || ((LA344_2353 >= BITWISE_OR_OPERATOR) && (LA344_2353 <= BITWISE_XOR_OPERATOR)) || ((LA344_2353 >= CLOSE_CURLY_SYMBOL) && (LA344_2353 <= COLLATE_SYMBOL)) || LA344_2353 == COMMA_SYMBOL || LA344_2353 == CONCAT_PIPES_SYMBOL || LA344_2353 == CROSS_SYMBOL || ((LA344_2353 >= DIV_OPERATOR) && (LA344_2353 <= DIV_SYMBOL)) || LA344_2353 == DOUBLE_QUOTED_TEXT || LA344_2353 == EQUAL_OPERATOR || LA344_2353 == FOR_SYMBOL || LA344_2353 == FROM_SYMBOL || ((LA344_2353 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2353 <= GREATER_THAN_OPERATOR)) || ((LA344_2353 >= GROUP_SYMBOL) && (LA344_2353 <= HAVING_SYMBOL)) || LA344_2353 == IDENTIFIER || LA344_2353 == INNER_SYMBOL || LA344_2353 == INTO_SYMBOL || LA344_2353 == IN_SYMBOL || LA344_2353 == IS_SYMBOL || LA344_2353 == JOIN_SYMBOL || ((LA344_2353 >= LEFT_SYMBOL) && (LA344_2353 <= LESS_THAN_OPERATOR)) || ((LA344_2353 >= LIKE_SYMBOL) && (LA344_2353 <= LIMIT_SYMBOL)) || LA344_2353 == LOCK_SYMBOL || LA344_2353 == LOGICAL_AND_OPERATOR || LA344_2353 == LOGICAL_OR_OPERATOR || LA344_2353 == MINUS_OPERATOR || ((LA344_2353 >= MOD_OPERATOR) && (LA344_2353 <= MOD_SYMBOL)) || ((LA344_2353 >= MULT_OPERATOR) && (LA344_2353 <= NATURAL_SYMBOL)) || ((LA344_2353 >= NOT_EQUAL2_OPERATOR) && (LA344_2353 <= NOT_SYMBOL)) || LA344_2353 == NULL_SAFE_EQUAL_OPERATOR || LA344_2353 == ON_SYMBOL || LA344_2353 == OPEN_PAR_SYMBOL || ((LA344_2353 >= ORDER_SYMBOL) && (LA344_2353 <= OR_SYMBOL)) || LA344_2353 == PLUS_OPERATOR || LA344_2353 == PROCEDURE_SYMBOL || LA344_2353 == REGEXP_SYMBOL || LA344_2353 == RIGHT_SYMBOL || LA344_2353 == SEMICOLON_SYMBOL || LA344_2353 == SET_SYMBOL || ((LA344_2353 >= SHIFT_LEFT_OPERATOR) && (LA344_2353 <= SHIFT_RIGHT_OPERATOR)) || LA344_2353 == SINGLE_QUOTED_TEXT || LA344_2353 == STRAIGHT_JOIN_SYMBOL || LA344_2353 == UNION_SYMBOL || LA344_2353 == USING_SYMBOL || LA344_2353 == WHERE_SYMBOL || LA344_2353 == WITH_SYMBOL || LA344_2353 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2353;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_315 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2354 = LA(4);
                                        if ( (LA344_2354 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3693 = LA(5);
                                                if ( (LA344_3693 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3693 >= ASCII_SYMBOL) && (LA344_3693 <= YEAR_SYMBOL)) || LA344_3693 == BACK_TICK_QUOTED_ID || LA344_3693 == DOUBLE_QUOTED_TEXT || LA344_3693 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3693;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2354 == EOF || ((LA344_2354 >= ASCII_SYMBOL) && (LA344_2354 <= YEAR_SYMBOL)) || LA344_2354 == AND_SYMBOL || LA344_2354 == AS_SYMBOL || LA344_2354 == BACK_TICK_QUOTED_ID || LA344_2354 == BETWEEN_SYMBOL || LA344_2354 == BITWISE_AND_OPERATOR || ((LA344_2354 >= BITWISE_OR_OPERATOR) && (LA344_2354 <= BITWISE_XOR_OPERATOR)) || ((LA344_2354 >= CLOSE_CURLY_SYMBOL) && (LA344_2354 <= COLLATE_SYMBOL)) || LA344_2354 == COMMA_SYMBOL || LA344_2354 == CONCAT_PIPES_SYMBOL || LA344_2354 == CROSS_SYMBOL || ((LA344_2354 >= DIV_OPERATOR) && (LA344_2354 <= DIV_SYMBOL)) || LA344_2354 == DOUBLE_QUOTED_TEXT || LA344_2354 == EQUAL_OPERATOR || LA344_2354 == FOR_SYMBOL || LA344_2354 == FROM_SYMBOL || ((LA344_2354 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2354 <= GREATER_THAN_OPERATOR)) || ((LA344_2354 >= GROUP_SYMBOL) && (LA344_2354 <= HAVING_SYMBOL)) || LA344_2354 == IDENTIFIER || LA344_2354 == INNER_SYMBOL || LA344_2354 == INTO_SYMBOL || LA344_2354 == IN_SYMBOL || LA344_2354 == IS_SYMBOL || LA344_2354 == JOIN_SYMBOL || ((LA344_2354 >= LEFT_SYMBOL) && (LA344_2354 <= LESS_THAN_OPERATOR)) || ((LA344_2354 >= LIKE_SYMBOL) && (LA344_2354 <= LIMIT_SYMBOL)) || LA344_2354 == LOCK_SYMBOL || LA344_2354 == LOGICAL_AND_OPERATOR || LA344_2354 == LOGICAL_OR_OPERATOR || LA344_2354 == MINUS_OPERATOR || ((LA344_2354 >= MOD_OPERATOR) && (LA344_2354 <= MOD_SYMBOL)) || ((LA344_2354 >= MULT_OPERATOR) && (LA344_2354 <= NATURAL_SYMBOL)) || ((LA344_2354 >= NOT_EQUAL2_OPERATOR) && (LA344_2354 <= NOT_SYMBOL)) || LA344_2354 == NULL_SAFE_EQUAL_OPERATOR || LA344_2354 == ON_SYMBOL || LA344_2354 == OPEN_PAR_SYMBOL || ((LA344_2354 >= ORDER_SYMBOL) && (LA344_2354 <= OR_SYMBOL)) || LA344_2354 == PLUS_OPERATOR || LA344_2354 == PROCEDURE_SYMBOL || LA344_2354 == REGEXP_SYMBOL || LA344_2354 == RIGHT_SYMBOL || LA344_2354 == SEMICOLON_SYMBOL || LA344_2354 == SET_SYMBOL || ((LA344_2354 >= SHIFT_LEFT_OPERATOR) && (LA344_2354 <= SHIFT_RIGHT_OPERATOR)) || LA344_2354 == SINGLE_QUOTED_TEXT || LA344_2354 == STRAIGHT_JOIN_SYMBOL || LA344_2354 == UNION_SYMBOL || LA344_2354 == USING_SYMBOL || LA344_2354 == WHERE_SYMBOL || LA344_2354 == WITH_SYMBOL || LA344_2354 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2354;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_315 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2355 = LA(4);
                                        if ( (LA344_2355 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3746 = LA(5);
                                                if ( (LA344_3746 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3746 >= ASCII_SYMBOL) && (LA344_3746 <= YEAR_SYMBOL)) || LA344_3746 == BACK_TICK_QUOTED_ID || LA344_3746 == DOUBLE_QUOTED_TEXT || LA344_3746 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3746;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2355 == EOF || ((LA344_2355 >= ASCII_SYMBOL) && (LA344_2355 <= YEAR_SYMBOL)) || LA344_2355 == AND_SYMBOL || LA344_2355 == AS_SYMBOL || LA344_2355 == BACK_TICK_QUOTED_ID || LA344_2355 == BETWEEN_SYMBOL || LA344_2355 == BITWISE_AND_OPERATOR || ((LA344_2355 >= BITWISE_OR_OPERATOR) && (LA344_2355 <= BITWISE_XOR_OPERATOR)) || ((LA344_2355 >= CLOSE_CURLY_SYMBOL) && (LA344_2355 <= COLLATE_SYMBOL)) || LA344_2355 == COMMA_SYMBOL || LA344_2355 == CONCAT_PIPES_SYMBOL || LA344_2355 == CROSS_SYMBOL || ((LA344_2355 >= DIV_OPERATOR) && (LA344_2355 <= DIV_SYMBOL)) || LA344_2355 == DOUBLE_QUOTED_TEXT || LA344_2355 == EQUAL_OPERATOR || LA344_2355 == FOR_SYMBOL || LA344_2355 == FROM_SYMBOL || ((LA344_2355 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2355 <= GREATER_THAN_OPERATOR)) || ((LA344_2355 >= GROUP_SYMBOL) && (LA344_2355 <= HAVING_SYMBOL)) || LA344_2355 == IDENTIFIER || LA344_2355 == INNER_SYMBOL || LA344_2355 == INTO_SYMBOL || LA344_2355 == IN_SYMBOL || LA344_2355 == IS_SYMBOL || LA344_2355 == JOIN_SYMBOL || ((LA344_2355 >= LEFT_SYMBOL) && (LA344_2355 <= LESS_THAN_OPERATOR)) || ((LA344_2355 >= LIKE_SYMBOL) && (LA344_2355 <= LIMIT_SYMBOL)) || LA344_2355 == LOCK_SYMBOL || LA344_2355 == LOGICAL_AND_OPERATOR || LA344_2355 == LOGICAL_OR_OPERATOR || LA344_2355 == MINUS_OPERATOR || ((LA344_2355 >= MOD_OPERATOR) && (LA344_2355 <= MOD_SYMBOL)) || ((LA344_2355 >= MULT_OPERATOR) && (LA344_2355 <= NATURAL_SYMBOL)) || ((LA344_2355 >= NOT_EQUAL2_OPERATOR) && (LA344_2355 <= NOT_SYMBOL)) || LA344_2355 == NULL_SAFE_EQUAL_OPERATOR || LA344_2355 == ON_SYMBOL || LA344_2355 == OPEN_PAR_SYMBOL || ((LA344_2355 >= ORDER_SYMBOL) && (LA344_2355 <= OR_SYMBOL)) || LA344_2355 == PLUS_OPERATOR || LA344_2355 == PROCEDURE_SYMBOL || LA344_2355 == REGEXP_SYMBOL || LA344_2355 == RIGHT_SYMBOL || LA344_2355 == SEMICOLON_SYMBOL || LA344_2355 == SET_SYMBOL || ((LA344_2355 >= SHIFT_LEFT_OPERATOR) && (LA344_2355 <= SHIFT_RIGHT_OPERATOR)) || LA344_2355 == SINGLE_QUOTED_TEXT || LA344_2355 == STRAIGHT_JOIN_SYMBOL || LA344_2355 == UNION_SYMBOL || LA344_2355 == USING_SYMBOL || LA344_2355 == WHERE_SYMBOL || LA344_2355 == WITH_SYMBOL || LA344_2355 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2355;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_315 >= ACTION_SYMBOL) && (LA344_315 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2356 = LA(4);
                                        if ( (LA344_2356 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3799 = LA(5);
                                                if ( (LA344_3799 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3799 >= ASCII_SYMBOL) && (LA344_3799 <= YEAR_SYMBOL)) || LA344_3799 == BACK_TICK_QUOTED_ID || LA344_3799 == DOUBLE_QUOTED_TEXT || LA344_3799 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3799;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2356 == EOF || ((LA344_2356 >= ASCII_SYMBOL) && (LA344_2356 <= YEAR_SYMBOL)) || LA344_2356 == AND_SYMBOL || LA344_2356 == AS_SYMBOL || LA344_2356 == BACK_TICK_QUOTED_ID || LA344_2356 == BETWEEN_SYMBOL || LA344_2356 == BITWISE_AND_OPERATOR || ((LA344_2356 >= BITWISE_OR_OPERATOR) && (LA344_2356 <= BITWISE_XOR_OPERATOR)) || ((LA344_2356 >= CLOSE_CURLY_SYMBOL) && (LA344_2356 <= COLLATE_SYMBOL)) || LA344_2356 == COMMA_SYMBOL || LA344_2356 == CONCAT_PIPES_SYMBOL || LA344_2356 == CROSS_SYMBOL || ((LA344_2356 >= DIV_OPERATOR) && (LA344_2356 <= DIV_SYMBOL)) || LA344_2356 == DOUBLE_QUOTED_TEXT || LA344_2356 == EQUAL_OPERATOR || LA344_2356 == FOR_SYMBOL || LA344_2356 == FROM_SYMBOL || ((LA344_2356 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2356 <= GREATER_THAN_OPERATOR)) || ((LA344_2356 >= GROUP_SYMBOL) && (LA344_2356 <= HAVING_SYMBOL)) || LA344_2356 == IDENTIFIER || LA344_2356 == INNER_SYMBOL || LA344_2356 == INTO_SYMBOL || LA344_2356 == IN_SYMBOL || LA344_2356 == IS_SYMBOL || LA344_2356 == JOIN_SYMBOL || ((LA344_2356 >= LEFT_SYMBOL) && (LA344_2356 <= LESS_THAN_OPERATOR)) || ((LA344_2356 >= LIKE_SYMBOL) && (LA344_2356 <= LIMIT_SYMBOL)) || LA344_2356 == LOCK_SYMBOL || LA344_2356 == LOGICAL_AND_OPERATOR || LA344_2356 == LOGICAL_OR_OPERATOR || LA344_2356 == MINUS_OPERATOR || ((LA344_2356 >= MOD_OPERATOR) && (LA344_2356 <= MOD_SYMBOL)) || ((LA344_2356 >= MULT_OPERATOR) && (LA344_2356 <= NATURAL_SYMBOL)) || ((LA344_2356 >= NOT_EQUAL2_OPERATOR) && (LA344_2356 <= NOT_SYMBOL)) || LA344_2356 == NULL_SAFE_EQUAL_OPERATOR || LA344_2356 == ON_SYMBOL || LA344_2356 == OPEN_PAR_SYMBOL || ((LA344_2356 >= ORDER_SYMBOL) && (LA344_2356 <= OR_SYMBOL)) || LA344_2356 == PLUS_OPERATOR || LA344_2356 == PROCEDURE_SYMBOL || LA344_2356 == REGEXP_SYMBOL || LA344_2356 == RIGHT_SYMBOL || LA344_2356 == SEMICOLON_SYMBOL || LA344_2356 == SET_SYMBOL || ((LA344_2356 >= SHIFT_LEFT_OPERATOR) && (LA344_2356 <= SHIFT_RIGHT_OPERATOR)) || LA344_2356 == SINGLE_QUOTED_TEXT || LA344_2356 == STRAIGHT_JOIN_SYMBOL || LA344_2356 == UNION_SYMBOL || LA344_2356 == USING_SYMBOL || LA344_2356 == WHERE_SYMBOL || LA344_2356 == WITH_SYMBOL || LA344_2356 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2356;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_315 >= ASCII_SYMBOL) && (LA344_315 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2357 = LA(4);
                                        if ( (LA344_2357 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3852 = LA(5);
                                                if ( (LA344_3852 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3852 >= ASCII_SYMBOL) && (LA344_3852 <= YEAR_SYMBOL)) || LA344_3852 == BACK_TICK_QUOTED_ID || LA344_3852 == DOUBLE_QUOTED_TEXT || LA344_3852 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3852;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2357 == EOF || ((LA344_2357 >= ASCII_SYMBOL) && (LA344_2357 <= YEAR_SYMBOL)) || LA344_2357 == AND_SYMBOL || LA344_2357 == AS_SYMBOL || LA344_2357 == BACK_TICK_QUOTED_ID || LA344_2357 == BETWEEN_SYMBOL || LA344_2357 == BITWISE_AND_OPERATOR || ((LA344_2357 >= BITWISE_OR_OPERATOR) && (LA344_2357 <= BITWISE_XOR_OPERATOR)) || ((LA344_2357 >= CLOSE_CURLY_SYMBOL) && (LA344_2357 <= COLLATE_SYMBOL)) || LA344_2357 == COMMA_SYMBOL || LA344_2357 == CONCAT_PIPES_SYMBOL || LA344_2357 == CROSS_SYMBOL || ((LA344_2357 >= DIV_OPERATOR) && (LA344_2357 <= DIV_SYMBOL)) || LA344_2357 == DOUBLE_QUOTED_TEXT || LA344_2357 == EQUAL_OPERATOR || LA344_2357 == FOR_SYMBOL || LA344_2357 == FROM_SYMBOL || ((LA344_2357 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2357 <= GREATER_THAN_OPERATOR)) || ((LA344_2357 >= GROUP_SYMBOL) && (LA344_2357 <= HAVING_SYMBOL)) || LA344_2357 == IDENTIFIER || LA344_2357 == INNER_SYMBOL || LA344_2357 == INTO_SYMBOL || LA344_2357 == IN_SYMBOL || LA344_2357 == IS_SYMBOL || LA344_2357 == JOIN_SYMBOL || ((LA344_2357 >= LEFT_SYMBOL) && (LA344_2357 <= LESS_THAN_OPERATOR)) || ((LA344_2357 >= LIKE_SYMBOL) && (LA344_2357 <= LIMIT_SYMBOL)) || LA344_2357 == LOCK_SYMBOL || LA344_2357 == LOGICAL_AND_OPERATOR || LA344_2357 == LOGICAL_OR_OPERATOR || LA344_2357 == MINUS_OPERATOR || ((LA344_2357 >= MOD_OPERATOR) && (LA344_2357 <= MOD_SYMBOL)) || ((LA344_2357 >= MULT_OPERATOR) && (LA344_2357 <= NATURAL_SYMBOL)) || ((LA344_2357 >= NOT_EQUAL2_OPERATOR) && (LA344_2357 <= NOT_SYMBOL)) || LA344_2357 == NULL_SAFE_EQUAL_OPERATOR || LA344_2357 == ON_SYMBOL || LA344_2357 == OPEN_PAR_SYMBOL || ((LA344_2357 >= ORDER_SYMBOL) && (LA344_2357 <= OR_SYMBOL)) || LA344_2357 == PLUS_OPERATOR || LA344_2357 == PROCEDURE_SYMBOL || LA344_2357 == REGEXP_SYMBOL || LA344_2357 == RIGHT_SYMBOL || LA344_2357 == SEMICOLON_SYMBOL || LA344_2357 == SET_SYMBOL || ((LA344_2357 >= SHIFT_LEFT_OPERATOR) && (LA344_2357 <= SHIFT_RIGHT_OPERATOR)) || LA344_2357 == SINGLE_QUOTED_TEXT || LA344_2357 == STRAIGHT_JOIN_SYMBOL || LA344_2357 == UNION_SYMBOL || LA344_2357 == USING_SYMBOL || LA344_2357 == WHERE_SYMBOL || LA344_2357 == WITH_SYMBOL || LA344_2357 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2357;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 315;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 5;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == BITWISE_NOT_OPERATOR || LA344_0 == FALSE_SYMBOL || LA344_0 == FLOAT || ((LA344_0 >= HEXNUMBER) && (LA344_0 <= HEXSTRING)) || LA344_0 == INTEGER || LA344_0 == INTERVAL_SYMBOL || LA344_0 == LOGICAL_NOT_OPERATOR || LA344_0 == MINUS_OPERATOR || LA344_0 == NCHAR_TEXT || LA344_0 == NOT2_SYMBOL || LA344_0 == NOT_SYMBOL || LA344_0 == PLUS_OPERATOR || LA344_0 == SINGLE_QUOTED_TEXT || LA344_0 == TRUE_SYMBOL || LA344_0 == UNDERSCORE_CHARSET))
                {
                    alt344=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA344_0 >= BITNUMBER) && (LA344_0 <= BITSTRING))))
                {
                    alt344=2;
                }
                else if ( (((LA344_0 >= AT_AT_SIGN_SYMBOL) && (LA344_0 <= AT_TEXT_SUFFIX)) || LA344_0 == BINARY_SYMBOL || ((LA344_0 >= BIT_AND_SYMBOL) && (LA344_0 <= BIT_XOR_SYMBOL)) || ((LA344_0 >= CASE_SYMBOL) && (LA344_0 <= CAST_SYMBOL)) || LA344_0 == CHAR_SYMBOL || ((LA344_0 >= CONVERT_SYMBOL) && (LA344_0 <= COUNT_SYMBOL)) || LA344_0 == CURDATE_SYMBOL || LA344_0 == CURRENT_USER_SYMBOL || LA344_0 == CURTIME_SYMBOL || LA344_0 == DATABASE_SYMBOL || LA344_0 == DATE_ADD_SYMBOL || LA344_0 == DATE_SUB_SYMBOL || LA344_0 == EXISTS_SYMBOL || LA344_0 == EXTRACT_SYMBOL || LA344_0 == GROUP_CONCAT_SYMBOL || LA344_0 == IF_SYMBOL || LA344_0 == INSERT_SYMBOL || LA344_0 == LEFT_SYMBOL || LA344_0 == MATCH_SYMBOL || LA344_0 == MAX_SYMBOL || LA344_0 == MIN_SYMBOL || LA344_0 == MOD_SYMBOL || LA344_0 == NOW_SYMBOL || LA344_0 == NULL2_SYMBOL || LA344_0 == NULL_SYMBOL || ((LA344_0 >= OPEN_CURLY_SYMBOL) && (LA344_0 <= OPEN_PAR_SYMBOL)) || LA344_0 == PARAM_MARKER || LA344_0 == POSITION_SYMBOL || ((LA344_0 >= REPEAT_SYMBOL) && (LA344_0 <= REPLACE_SYMBOL)) || LA344_0 == RIGHT_SYMBOL || LA344_0 == STDDEV_SAMP_SYMBOL || LA344_0 == STD_SYMBOL || LA344_0 == SUBSTRING_SYMBOL || ((LA344_0 >= SUM_SYMBOL) && (LA344_0 <= SYSDATE_SYMBOL)) || LA344_0 == TRIM_SYMBOL || ((LA344_0 >= UTC_DATE_SYMBOL) && (LA344_0 <= UTC_TIME_SYMBOL)) || LA344_0 == VALUES_SYMBOL || LA344_0 == VARIANCE_SYMBOL || LA344_0 == VAR_SAMP_SYMBOL))
                {
                    alt344=2;
                }
                else if ( (LA344_0 == TIME_SYMBOL))
                {
                    {
                        int LA344_18 = LA(2);
                        if ( (LA344_18 == EOF || ((LA344_18 >= ASCII_SYMBOL) && (LA344_18 <= YEAR_SYMBOL)) || LA344_18 == AND_SYMBOL || LA344_18 == AS_SYMBOL || LA344_18 == BACK_TICK_QUOTED_ID || LA344_18 == BETWEEN_SYMBOL || LA344_18 == BITWISE_AND_OPERATOR || ((LA344_18 >= BITWISE_OR_OPERATOR) && (LA344_18 <= BITWISE_XOR_OPERATOR)) || ((LA344_18 >= CLOSE_CURLY_SYMBOL) && (LA344_18 <= COLLATE_SYMBOL)) || LA344_18 == COMMA_SYMBOL || LA344_18 == CONCAT_PIPES_SYMBOL || LA344_18 == CROSS_SYMBOL || ((LA344_18 >= DIV_OPERATOR) && (LA344_18 <= DIV_SYMBOL)) || LA344_18 == DOUBLE_QUOTED_TEXT || LA344_18 == EQUAL_OPERATOR || LA344_18 == FOR_SYMBOL || LA344_18 == FROM_SYMBOL || ((LA344_18 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_18 <= GREATER_THAN_OPERATOR)) || ((LA344_18 >= GROUP_SYMBOL) && (LA344_18 <= HAVING_SYMBOL)) || LA344_18 == IDENTIFIER || LA344_18 == INNER_SYMBOL || LA344_18 == INTO_SYMBOL || LA344_18 == IN_SYMBOL || LA344_18 == IS_SYMBOL || LA344_18 == JOIN_SYMBOL || ((LA344_18 >= LEFT_SYMBOL) && (LA344_18 <= LESS_THAN_OPERATOR)) || ((LA344_18 >= LIKE_SYMBOL) && (LA344_18 <= LIMIT_SYMBOL)) || LA344_18 == LOCK_SYMBOL || LA344_18 == LOGICAL_AND_OPERATOR || LA344_18 == LOGICAL_OR_OPERATOR || LA344_18 == MINUS_OPERATOR || ((LA344_18 >= MOD_OPERATOR) && (LA344_18 <= MOD_SYMBOL)) || ((LA344_18 >= MULT_OPERATOR) && (LA344_18 <= NATURAL_SYMBOL)) || ((LA344_18 >= NOT_EQUAL2_OPERATOR) && (LA344_18 <= NOT_SYMBOL)) || LA344_18 == NULL_SAFE_EQUAL_OPERATOR || LA344_18 == ON_SYMBOL || LA344_18 == OPEN_PAR_SYMBOL || ((LA344_18 >= ORDER_SYMBOL) && (LA344_18 <= OR_SYMBOL)) || LA344_18 == PLUS_OPERATOR || LA344_18 == PROCEDURE_SYMBOL || LA344_18 == REGEXP_SYMBOL || LA344_18 == RIGHT_SYMBOL || LA344_18 == SEMICOLON_SYMBOL || LA344_18 == SET_SYMBOL || ((LA344_18 >= SHIFT_LEFT_OPERATOR) && (LA344_18 <= SHIFT_RIGHT_OPERATOR)) || LA344_18 == SINGLE_QUOTED_TEXT || LA344_18 == STRAIGHT_JOIN_SYMBOL || LA344_18 == UNION_SYMBOL || LA344_18 == USING_SYMBOL || LA344_18 == WHERE_SYMBOL || LA344_18 == WITH_SYMBOL || LA344_18 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_18 == DOT_SYMBOL))
                        {
                            {
                                int LA344_369 = LA(3);
                                if ( (LA344_369 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_369 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2359 = LA(4);
                                        if ( (LA344_2359 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3905 = LA(5);
                                                if ( (LA344_3905 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3905 >= ASCII_SYMBOL) && (LA344_3905 <= YEAR_SYMBOL)) || LA344_3905 == BACK_TICK_QUOTED_ID || LA344_3905 == DOUBLE_QUOTED_TEXT || LA344_3905 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3905;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2359 == EOF || ((LA344_2359 >= ASCII_SYMBOL) && (LA344_2359 <= YEAR_SYMBOL)) || LA344_2359 == AND_SYMBOL || LA344_2359 == AS_SYMBOL || LA344_2359 == BACK_TICK_QUOTED_ID || LA344_2359 == BETWEEN_SYMBOL || LA344_2359 == BITWISE_AND_OPERATOR || ((LA344_2359 >= BITWISE_OR_OPERATOR) && (LA344_2359 <= BITWISE_XOR_OPERATOR)) || ((LA344_2359 >= CLOSE_CURLY_SYMBOL) && (LA344_2359 <= COLLATE_SYMBOL)) || LA344_2359 == COMMA_SYMBOL || LA344_2359 == CONCAT_PIPES_SYMBOL || LA344_2359 == CROSS_SYMBOL || ((LA344_2359 >= DIV_OPERATOR) && (LA344_2359 <= DIV_SYMBOL)) || LA344_2359 == DOUBLE_QUOTED_TEXT || LA344_2359 == EQUAL_OPERATOR || LA344_2359 == FOR_SYMBOL || LA344_2359 == FROM_SYMBOL || ((LA344_2359 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2359 <= GREATER_THAN_OPERATOR)) || ((LA344_2359 >= GROUP_SYMBOL) && (LA344_2359 <= HAVING_SYMBOL)) || LA344_2359 == IDENTIFIER || LA344_2359 == INNER_SYMBOL || LA344_2359 == INTO_SYMBOL || LA344_2359 == IN_SYMBOL || LA344_2359 == IS_SYMBOL || LA344_2359 == JOIN_SYMBOL || ((LA344_2359 >= LEFT_SYMBOL) && (LA344_2359 <= LESS_THAN_OPERATOR)) || ((LA344_2359 >= LIKE_SYMBOL) && (LA344_2359 <= LIMIT_SYMBOL)) || LA344_2359 == LOCK_SYMBOL || LA344_2359 == LOGICAL_AND_OPERATOR || LA344_2359 == LOGICAL_OR_OPERATOR || LA344_2359 == MINUS_OPERATOR || ((LA344_2359 >= MOD_OPERATOR) && (LA344_2359 <= MOD_SYMBOL)) || ((LA344_2359 >= MULT_OPERATOR) && (LA344_2359 <= NATURAL_SYMBOL)) || ((LA344_2359 >= NOT_EQUAL2_OPERATOR) && (LA344_2359 <= NOT_SYMBOL)) || LA344_2359 == NULL_SAFE_EQUAL_OPERATOR || LA344_2359 == ON_SYMBOL || LA344_2359 == OPEN_PAR_SYMBOL || ((LA344_2359 >= ORDER_SYMBOL) && (LA344_2359 <= OR_SYMBOL)) || LA344_2359 == PLUS_OPERATOR || LA344_2359 == PROCEDURE_SYMBOL || LA344_2359 == REGEXP_SYMBOL || LA344_2359 == RIGHT_SYMBOL || LA344_2359 == SEMICOLON_SYMBOL || LA344_2359 == SET_SYMBOL || ((LA344_2359 >= SHIFT_LEFT_OPERATOR) && (LA344_2359 <= SHIFT_RIGHT_OPERATOR)) || LA344_2359 == SINGLE_QUOTED_TEXT || LA344_2359 == STRAIGHT_JOIN_SYMBOL || LA344_2359 == UNION_SYMBOL || LA344_2359 == USING_SYMBOL || LA344_2359 == WHERE_SYMBOL || LA344_2359 == WITH_SYMBOL || LA344_2359 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2359;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_369 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2360 = LA(4);
                                        if ( (LA344_2360 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_3958 = LA(5);
                                                if ( (LA344_3958 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_3958 >= ASCII_SYMBOL) && (LA344_3958 <= YEAR_SYMBOL)) || LA344_3958 == BACK_TICK_QUOTED_ID || LA344_3958 == DOUBLE_QUOTED_TEXT || LA344_3958 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 3958;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2360 == EOF || ((LA344_2360 >= ASCII_SYMBOL) && (LA344_2360 <= YEAR_SYMBOL)) || LA344_2360 == AND_SYMBOL || LA344_2360 == AS_SYMBOL || LA344_2360 == BACK_TICK_QUOTED_ID || LA344_2360 == BETWEEN_SYMBOL || LA344_2360 == BITWISE_AND_OPERATOR || ((LA344_2360 >= BITWISE_OR_OPERATOR) && (LA344_2360 <= BITWISE_XOR_OPERATOR)) || ((LA344_2360 >= CLOSE_CURLY_SYMBOL) && (LA344_2360 <= COLLATE_SYMBOL)) || LA344_2360 == COMMA_SYMBOL || LA344_2360 == CONCAT_PIPES_SYMBOL || LA344_2360 == CROSS_SYMBOL || ((LA344_2360 >= DIV_OPERATOR) && (LA344_2360 <= DIV_SYMBOL)) || LA344_2360 == DOUBLE_QUOTED_TEXT || LA344_2360 == EQUAL_OPERATOR || LA344_2360 == FOR_SYMBOL || LA344_2360 == FROM_SYMBOL || ((LA344_2360 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2360 <= GREATER_THAN_OPERATOR)) || ((LA344_2360 >= GROUP_SYMBOL) && (LA344_2360 <= HAVING_SYMBOL)) || LA344_2360 == IDENTIFIER || LA344_2360 == INNER_SYMBOL || LA344_2360 == INTO_SYMBOL || LA344_2360 == IN_SYMBOL || LA344_2360 == IS_SYMBOL || LA344_2360 == JOIN_SYMBOL || ((LA344_2360 >= LEFT_SYMBOL) && (LA344_2360 <= LESS_THAN_OPERATOR)) || ((LA344_2360 >= LIKE_SYMBOL) && (LA344_2360 <= LIMIT_SYMBOL)) || LA344_2360 == LOCK_SYMBOL || LA344_2360 == LOGICAL_AND_OPERATOR || LA344_2360 == LOGICAL_OR_OPERATOR || LA344_2360 == MINUS_OPERATOR || ((LA344_2360 >= MOD_OPERATOR) && (LA344_2360 <= MOD_SYMBOL)) || ((LA344_2360 >= MULT_OPERATOR) && (LA344_2360 <= NATURAL_SYMBOL)) || ((LA344_2360 >= NOT_EQUAL2_OPERATOR) && (LA344_2360 <= NOT_SYMBOL)) || LA344_2360 == NULL_SAFE_EQUAL_OPERATOR || LA344_2360 == ON_SYMBOL || LA344_2360 == OPEN_PAR_SYMBOL || ((LA344_2360 >= ORDER_SYMBOL) && (LA344_2360 <= OR_SYMBOL)) || LA344_2360 == PLUS_OPERATOR || LA344_2360 == PROCEDURE_SYMBOL || LA344_2360 == REGEXP_SYMBOL || LA344_2360 == RIGHT_SYMBOL || LA344_2360 == SEMICOLON_SYMBOL || LA344_2360 == SET_SYMBOL || ((LA344_2360 >= SHIFT_LEFT_OPERATOR) && (LA344_2360 <= SHIFT_RIGHT_OPERATOR)) || LA344_2360 == SINGLE_QUOTED_TEXT || LA344_2360 == STRAIGHT_JOIN_SYMBOL || LA344_2360 == UNION_SYMBOL || LA344_2360 == USING_SYMBOL || LA344_2360 == WHERE_SYMBOL || LA344_2360 == WITH_SYMBOL || LA344_2360 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2360;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_369 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2361 = LA(4);
                                        if ( (LA344_2361 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4011 = LA(5);
                                                if ( (LA344_4011 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4011 >= ASCII_SYMBOL) && (LA344_4011 <= YEAR_SYMBOL)) || LA344_4011 == BACK_TICK_QUOTED_ID || LA344_4011 == DOUBLE_QUOTED_TEXT || LA344_4011 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4011;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2361 == EOF || ((LA344_2361 >= ASCII_SYMBOL) && (LA344_2361 <= YEAR_SYMBOL)) || LA344_2361 == AND_SYMBOL || LA344_2361 == AS_SYMBOL || LA344_2361 == BACK_TICK_QUOTED_ID || LA344_2361 == BETWEEN_SYMBOL || LA344_2361 == BITWISE_AND_OPERATOR || ((LA344_2361 >= BITWISE_OR_OPERATOR) && (LA344_2361 <= BITWISE_XOR_OPERATOR)) || ((LA344_2361 >= CLOSE_CURLY_SYMBOL) && (LA344_2361 <= COLLATE_SYMBOL)) || LA344_2361 == COMMA_SYMBOL || LA344_2361 == CONCAT_PIPES_SYMBOL || LA344_2361 == CROSS_SYMBOL || ((LA344_2361 >= DIV_OPERATOR) && (LA344_2361 <= DIV_SYMBOL)) || LA344_2361 == DOUBLE_QUOTED_TEXT || LA344_2361 == EQUAL_OPERATOR || LA344_2361 == FOR_SYMBOL || LA344_2361 == FROM_SYMBOL || ((LA344_2361 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2361 <= GREATER_THAN_OPERATOR)) || ((LA344_2361 >= GROUP_SYMBOL) && (LA344_2361 <= HAVING_SYMBOL)) || LA344_2361 == IDENTIFIER || LA344_2361 == INNER_SYMBOL || LA344_2361 == INTO_SYMBOL || LA344_2361 == IN_SYMBOL || LA344_2361 == IS_SYMBOL || LA344_2361 == JOIN_SYMBOL || ((LA344_2361 >= LEFT_SYMBOL) && (LA344_2361 <= LESS_THAN_OPERATOR)) || ((LA344_2361 >= LIKE_SYMBOL) && (LA344_2361 <= LIMIT_SYMBOL)) || LA344_2361 == LOCK_SYMBOL || LA344_2361 == LOGICAL_AND_OPERATOR || LA344_2361 == LOGICAL_OR_OPERATOR || LA344_2361 == MINUS_OPERATOR || ((LA344_2361 >= MOD_OPERATOR) && (LA344_2361 <= MOD_SYMBOL)) || ((LA344_2361 >= MULT_OPERATOR) && (LA344_2361 <= NATURAL_SYMBOL)) || ((LA344_2361 >= NOT_EQUAL2_OPERATOR) && (LA344_2361 <= NOT_SYMBOL)) || LA344_2361 == NULL_SAFE_EQUAL_OPERATOR || LA344_2361 == ON_SYMBOL || LA344_2361 == OPEN_PAR_SYMBOL || ((LA344_2361 >= ORDER_SYMBOL) && (LA344_2361 <= OR_SYMBOL)) || LA344_2361 == PLUS_OPERATOR || LA344_2361 == PROCEDURE_SYMBOL || LA344_2361 == REGEXP_SYMBOL || LA344_2361 == RIGHT_SYMBOL || LA344_2361 == SEMICOLON_SYMBOL || LA344_2361 == SET_SYMBOL || ((LA344_2361 >= SHIFT_LEFT_OPERATOR) && (LA344_2361 <= SHIFT_RIGHT_OPERATOR)) || LA344_2361 == SINGLE_QUOTED_TEXT || LA344_2361 == STRAIGHT_JOIN_SYMBOL || LA344_2361 == UNION_SYMBOL || LA344_2361 == USING_SYMBOL || LA344_2361 == WHERE_SYMBOL || LA344_2361 == WITH_SYMBOL || LA344_2361 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2361;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_369 >= ACTION_SYMBOL) && (LA344_369 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2362 = LA(4);
                                        if ( (LA344_2362 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4064 = LA(5);
                                                if ( (LA344_4064 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4064 >= ASCII_SYMBOL) && (LA344_4064 <= YEAR_SYMBOL)) || LA344_4064 == BACK_TICK_QUOTED_ID || LA344_4064 == DOUBLE_QUOTED_TEXT || LA344_4064 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4064;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2362 == EOF || ((LA344_2362 >= ASCII_SYMBOL) && (LA344_2362 <= YEAR_SYMBOL)) || LA344_2362 == AND_SYMBOL || LA344_2362 == AS_SYMBOL || LA344_2362 == BACK_TICK_QUOTED_ID || LA344_2362 == BETWEEN_SYMBOL || LA344_2362 == BITWISE_AND_OPERATOR || ((LA344_2362 >= BITWISE_OR_OPERATOR) && (LA344_2362 <= BITWISE_XOR_OPERATOR)) || ((LA344_2362 >= CLOSE_CURLY_SYMBOL) && (LA344_2362 <= COLLATE_SYMBOL)) || LA344_2362 == COMMA_SYMBOL || LA344_2362 == CONCAT_PIPES_SYMBOL || LA344_2362 == CROSS_SYMBOL || ((LA344_2362 >= DIV_OPERATOR) && (LA344_2362 <= DIV_SYMBOL)) || LA344_2362 == DOUBLE_QUOTED_TEXT || LA344_2362 == EQUAL_OPERATOR || LA344_2362 == FOR_SYMBOL || LA344_2362 == FROM_SYMBOL || ((LA344_2362 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2362 <= GREATER_THAN_OPERATOR)) || ((LA344_2362 >= GROUP_SYMBOL) && (LA344_2362 <= HAVING_SYMBOL)) || LA344_2362 == IDENTIFIER || LA344_2362 == INNER_SYMBOL || LA344_2362 == INTO_SYMBOL || LA344_2362 == IN_SYMBOL || LA344_2362 == IS_SYMBOL || LA344_2362 == JOIN_SYMBOL || ((LA344_2362 >= LEFT_SYMBOL) && (LA344_2362 <= LESS_THAN_OPERATOR)) || ((LA344_2362 >= LIKE_SYMBOL) && (LA344_2362 <= LIMIT_SYMBOL)) || LA344_2362 == LOCK_SYMBOL || LA344_2362 == LOGICAL_AND_OPERATOR || LA344_2362 == LOGICAL_OR_OPERATOR || LA344_2362 == MINUS_OPERATOR || ((LA344_2362 >= MOD_OPERATOR) && (LA344_2362 <= MOD_SYMBOL)) || ((LA344_2362 >= MULT_OPERATOR) && (LA344_2362 <= NATURAL_SYMBOL)) || ((LA344_2362 >= NOT_EQUAL2_OPERATOR) && (LA344_2362 <= NOT_SYMBOL)) || LA344_2362 == NULL_SAFE_EQUAL_OPERATOR || LA344_2362 == ON_SYMBOL || LA344_2362 == OPEN_PAR_SYMBOL || ((LA344_2362 >= ORDER_SYMBOL) && (LA344_2362 <= OR_SYMBOL)) || LA344_2362 == PLUS_OPERATOR || LA344_2362 == PROCEDURE_SYMBOL || LA344_2362 == REGEXP_SYMBOL || LA344_2362 == RIGHT_SYMBOL || LA344_2362 == SEMICOLON_SYMBOL || LA344_2362 == SET_SYMBOL || ((LA344_2362 >= SHIFT_LEFT_OPERATOR) && (LA344_2362 <= SHIFT_RIGHT_OPERATOR)) || LA344_2362 == SINGLE_QUOTED_TEXT || LA344_2362 == STRAIGHT_JOIN_SYMBOL || LA344_2362 == UNION_SYMBOL || LA344_2362 == USING_SYMBOL || LA344_2362 == WHERE_SYMBOL || LA344_2362 == WITH_SYMBOL || LA344_2362 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2362;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_369 >= ASCII_SYMBOL) && (LA344_369 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2363 = LA(4);
                                        if ( (LA344_2363 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4117 = LA(5);
                                                if ( (LA344_4117 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4117 >= ASCII_SYMBOL) && (LA344_4117 <= YEAR_SYMBOL)) || LA344_4117 == BACK_TICK_QUOTED_ID || LA344_4117 == DOUBLE_QUOTED_TEXT || LA344_4117 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4117;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2363 == EOF || ((LA344_2363 >= ASCII_SYMBOL) && (LA344_2363 <= YEAR_SYMBOL)) || LA344_2363 == AND_SYMBOL || LA344_2363 == AS_SYMBOL || LA344_2363 == BACK_TICK_QUOTED_ID || LA344_2363 == BETWEEN_SYMBOL || LA344_2363 == BITWISE_AND_OPERATOR || ((LA344_2363 >= BITWISE_OR_OPERATOR) && (LA344_2363 <= BITWISE_XOR_OPERATOR)) || ((LA344_2363 >= CLOSE_CURLY_SYMBOL) && (LA344_2363 <= COLLATE_SYMBOL)) || LA344_2363 == COMMA_SYMBOL || LA344_2363 == CONCAT_PIPES_SYMBOL || LA344_2363 == CROSS_SYMBOL || ((LA344_2363 >= DIV_OPERATOR) && (LA344_2363 <= DIV_SYMBOL)) || LA344_2363 == DOUBLE_QUOTED_TEXT || LA344_2363 == EQUAL_OPERATOR || LA344_2363 == FOR_SYMBOL || LA344_2363 == FROM_SYMBOL || ((LA344_2363 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2363 <= GREATER_THAN_OPERATOR)) || ((LA344_2363 >= GROUP_SYMBOL) && (LA344_2363 <= HAVING_SYMBOL)) || LA344_2363 == IDENTIFIER || LA344_2363 == INNER_SYMBOL || LA344_2363 == INTO_SYMBOL || LA344_2363 == IN_SYMBOL || LA344_2363 == IS_SYMBOL || LA344_2363 == JOIN_SYMBOL || ((LA344_2363 >= LEFT_SYMBOL) && (LA344_2363 <= LESS_THAN_OPERATOR)) || ((LA344_2363 >= LIKE_SYMBOL) && (LA344_2363 <= LIMIT_SYMBOL)) || LA344_2363 == LOCK_SYMBOL || LA344_2363 == LOGICAL_AND_OPERATOR || LA344_2363 == LOGICAL_OR_OPERATOR || LA344_2363 == MINUS_OPERATOR || ((LA344_2363 >= MOD_OPERATOR) && (LA344_2363 <= MOD_SYMBOL)) || ((LA344_2363 >= MULT_OPERATOR) && (LA344_2363 <= NATURAL_SYMBOL)) || ((LA344_2363 >= NOT_EQUAL2_OPERATOR) && (LA344_2363 <= NOT_SYMBOL)) || LA344_2363 == NULL_SAFE_EQUAL_OPERATOR || LA344_2363 == ON_SYMBOL || LA344_2363 == OPEN_PAR_SYMBOL || ((LA344_2363 >= ORDER_SYMBOL) && (LA344_2363 <= OR_SYMBOL)) || LA344_2363 == PLUS_OPERATOR || LA344_2363 == PROCEDURE_SYMBOL || LA344_2363 == REGEXP_SYMBOL || LA344_2363 == RIGHT_SYMBOL || LA344_2363 == SEMICOLON_SYMBOL || LA344_2363 == SET_SYMBOL || ((LA344_2363 >= SHIFT_LEFT_OPERATOR) && (LA344_2363 <= SHIFT_RIGHT_OPERATOR)) || LA344_2363 == SINGLE_QUOTED_TEXT || LA344_2363 == STRAIGHT_JOIN_SYMBOL || LA344_2363 == UNION_SYMBOL || LA344_2363 == USING_SYMBOL || LA344_2363 == WHERE_SYMBOL || LA344_2363 == WITH_SYMBOL || LA344_2363 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2363;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 369;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 18;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == TIMESTAMP_SYMBOL))
                {
                    {
                        int LA344_19 = LA(2);
                        if ( (LA344_19 == EOF || ((LA344_19 >= ASCII_SYMBOL) && (LA344_19 <= YEAR_SYMBOL)) || LA344_19 == AND_SYMBOL || LA344_19 == AS_SYMBOL || LA344_19 == BACK_TICK_QUOTED_ID || LA344_19 == BETWEEN_SYMBOL || LA344_19 == BITWISE_AND_OPERATOR || ((LA344_19 >= BITWISE_OR_OPERATOR) && (LA344_19 <= BITWISE_XOR_OPERATOR)) || ((LA344_19 >= CLOSE_CURLY_SYMBOL) && (LA344_19 <= COLLATE_SYMBOL)) || LA344_19 == COMMA_SYMBOL || LA344_19 == CONCAT_PIPES_SYMBOL || LA344_19 == CROSS_SYMBOL || ((LA344_19 >= DIV_OPERATOR) && (LA344_19 <= DIV_SYMBOL)) || LA344_19 == DOUBLE_QUOTED_TEXT || LA344_19 == EQUAL_OPERATOR || LA344_19 == FOR_SYMBOL || LA344_19 == FROM_SYMBOL || ((LA344_19 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_19 <= GREATER_THAN_OPERATOR)) || ((LA344_19 >= GROUP_SYMBOL) && (LA344_19 <= HAVING_SYMBOL)) || LA344_19 == IDENTIFIER || LA344_19 == INNER_SYMBOL || LA344_19 == INTO_SYMBOL || LA344_19 == IN_SYMBOL || LA344_19 == IS_SYMBOL || LA344_19 == JOIN_SYMBOL || ((LA344_19 >= LEFT_SYMBOL) && (LA344_19 <= LESS_THAN_OPERATOR)) || ((LA344_19 >= LIKE_SYMBOL) && (LA344_19 <= LIMIT_SYMBOL)) || LA344_19 == LOCK_SYMBOL || LA344_19 == LOGICAL_AND_OPERATOR || LA344_19 == LOGICAL_OR_OPERATOR || LA344_19 == MINUS_OPERATOR || ((LA344_19 >= MOD_OPERATOR) && (LA344_19 <= MOD_SYMBOL)) || ((LA344_19 >= MULT_OPERATOR) && (LA344_19 <= NATURAL_SYMBOL)) || ((LA344_19 >= NOT_EQUAL2_OPERATOR) && (LA344_19 <= NOT_SYMBOL)) || LA344_19 == NULL_SAFE_EQUAL_OPERATOR || LA344_19 == ON_SYMBOL || LA344_19 == OPEN_PAR_SYMBOL || ((LA344_19 >= ORDER_SYMBOL) && (LA344_19 <= OR_SYMBOL)) || LA344_19 == PLUS_OPERATOR || LA344_19 == PROCEDURE_SYMBOL || LA344_19 == REGEXP_SYMBOL || LA344_19 == RIGHT_SYMBOL || LA344_19 == SEMICOLON_SYMBOL || LA344_19 == SET_SYMBOL || ((LA344_19 >= SHIFT_LEFT_OPERATOR) && (LA344_19 <= SHIFT_RIGHT_OPERATOR)) || LA344_19 == SINGLE_QUOTED_TEXT || LA344_19 == STRAIGHT_JOIN_SYMBOL || LA344_19 == UNION_SYMBOL || LA344_19 == USING_SYMBOL || LA344_19 == WHERE_SYMBOL || LA344_19 == WITH_SYMBOL || LA344_19 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_19 == DOT_SYMBOL))
                        {
                            {
                                int LA344_422 = LA(3);
                                if ( (LA344_422 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_422 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2365 = LA(4);
                                        if ( (LA344_2365 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4170 = LA(5);
                                                if ( (LA344_4170 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4170 >= ASCII_SYMBOL) && (LA344_4170 <= YEAR_SYMBOL)) || LA344_4170 == BACK_TICK_QUOTED_ID || LA344_4170 == DOUBLE_QUOTED_TEXT || LA344_4170 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4170;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2365 == EOF || ((LA344_2365 >= ASCII_SYMBOL) && (LA344_2365 <= YEAR_SYMBOL)) || LA344_2365 == AND_SYMBOL || LA344_2365 == AS_SYMBOL || LA344_2365 == BACK_TICK_QUOTED_ID || LA344_2365 == BETWEEN_SYMBOL || LA344_2365 == BITWISE_AND_OPERATOR || ((LA344_2365 >= BITWISE_OR_OPERATOR) && (LA344_2365 <= BITWISE_XOR_OPERATOR)) || ((LA344_2365 >= CLOSE_CURLY_SYMBOL) && (LA344_2365 <= COLLATE_SYMBOL)) || LA344_2365 == COMMA_SYMBOL || LA344_2365 == CONCAT_PIPES_SYMBOL || LA344_2365 == CROSS_SYMBOL || ((LA344_2365 >= DIV_OPERATOR) && (LA344_2365 <= DIV_SYMBOL)) || LA344_2365 == DOUBLE_QUOTED_TEXT || LA344_2365 == EQUAL_OPERATOR || LA344_2365 == FOR_SYMBOL || LA344_2365 == FROM_SYMBOL || ((LA344_2365 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2365 <= GREATER_THAN_OPERATOR)) || ((LA344_2365 >= GROUP_SYMBOL) && (LA344_2365 <= HAVING_SYMBOL)) || LA344_2365 == IDENTIFIER || LA344_2365 == INNER_SYMBOL || LA344_2365 == INTO_SYMBOL || LA344_2365 == IN_SYMBOL || LA344_2365 == IS_SYMBOL || LA344_2365 == JOIN_SYMBOL || ((LA344_2365 >= LEFT_SYMBOL) && (LA344_2365 <= LESS_THAN_OPERATOR)) || ((LA344_2365 >= LIKE_SYMBOL) && (LA344_2365 <= LIMIT_SYMBOL)) || LA344_2365 == LOCK_SYMBOL || LA344_2365 == LOGICAL_AND_OPERATOR || LA344_2365 == LOGICAL_OR_OPERATOR || LA344_2365 == MINUS_OPERATOR || ((LA344_2365 >= MOD_OPERATOR) && (LA344_2365 <= MOD_SYMBOL)) || ((LA344_2365 >= MULT_OPERATOR) && (LA344_2365 <= NATURAL_SYMBOL)) || ((LA344_2365 >= NOT_EQUAL2_OPERATOR) && (LA344_2365 <= NOT_SYMBOL)) || LA344_2365 == NULL_SAFE_EQUAL_OPERATOR || LA344_2365 == ON_SYMBOL || LA344_2365 == OPEN_PAR_SYMBOL || ((LA344_2365 >= ORDER_SYMBOL) && (LA344_2365 <= OR_SYMBOL)) || LA344_2365 == PLUS_OPERATOR || LA344_2365 == PROCEDURE_SYMBOL || LA344_2365 == REGEXP_SYMBOL || LA344_2365 == RIGHT_SYMBOL || LA344_2365 == SEMICOLON_SYMBOL || LA344_2365 == SET_SYMBOL || ((LA344_2365 >= SHIFT_LEFT_OPERATOR) && (LA344_2365 <= SHIFT_RIGHT_OPERATOR)) || LA344_2365 == SINGLE_QUOTED_TEXT || LA344_2365 == STRAIGHT_JOIN_SYMBOL || LA344_2365 == UNION_SYMBOL || LA344_2365 == USING_SYMBOL || LA344_2365 == WHERE_SYMBOL || LA344_2365 == WITH_SYMBOL || LA344_2365 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2365;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_422 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2366 = LA(4);
                                        if ( (LA344_2366 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4223 = LA(5);
                                                if ( (LA344_4223 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4223 >= ASCII_SYMBOL) && (LA344_4223 <= YEAR_SYMBOL)) || LA344_4223 == BACK_TICK_QUOTED_ID || LA344_4223 == DOUBLE_QUOTED_TEXT || LA344_4223 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4223;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2366 == EOF || ((LA344_2366 >= ASCII_SYMBOL) && (LA344_2366 <= YEAR_SYMBOL)) || LA344_2366 == AND_SYMBOL || LA344_2366 == AS_SYMBOL || LA344_2366 == BACK_TICK_QUOTED_ID || LA344_2366 == BETWEEN_SYMBOL || LA344_2366 == BITWISE_AND_OPERATOR || ((LA344_2366 >= BITWISE_OR_OPERATOR) && (LA344_2366 <= BITWISE_XOR_OPERATOR)) || ((LA344_2366 >= CLOSE_CURLY_SYMBOL) && (LA344_2366 <= COLLATE_SYMBOL)) || LA344_2366 == COMMA_SYMBOL || LA344_2366 == CONCAT_PIPES_SYMBOL || LA344_2366 == CROSS_SYMBOL || ((LA344_2366 >= DIV_OPERATOR) && (LA344_2366 <= DIV_SYMBOL)) || LA344_2366 == DOUBLE_QUOTED_TEXT || LA344_2366 == EQUAL_OPERATOR || LA344_2366 == FOR_SYMBOL || LA344_2366 == FROM_SYMBOL || ((LA344_2366 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2366 <= GREATER_THAN_OPERATOR)) || ((LA344_2366 >= GROUP_SYMBOL) && (LA344_2366 <= HAVING_SYMBOL)) || LA344_2366 == IDENTIFIER || LA344_2366 == INNER_SYMBOL || LA344_2366 == INTO_SYMBOL || LA344_2366 == IN_SYMBOL || LA344_2366 == IS_SYMBOL || LA344_2366 == JOIN_SYMBOL || ((LA344_2366 >= LEFT_SYMBOL) && (LA344_2366 <= LESS_THAN_OPERATOR)) || ((LA344_2366 >= LIKE_SYMBOL) && (LA344_2366 <= LIMIT_SYMBOL)) || LA344_2366 == LOCK_SYMBOL || LA344_2366 == LOGICAL_AND_OPERATOR || LA344_2366 == LOGICAL_OR_OPERATOR || LA344_2366 == MINUS_OPERATOR || ((LA344_2366 >= MOD_OPERATOR) && (LA344_2366 <= MOD_SYMBOL)) || ((LA344_2366 >= MULT_OPERATOR) && (LA344_2366 <= NATURAL_SYMBOL)) || ((LA344_2366 >= NOT_EQUAL2_OPERATOR) && (LA344_2366 <= NOT_SYMBOL)) || LA344_2366 == NULL_SAFE_EQUAL_OPERATOR || LA344_2366 == ON_SYMBOL || LA344_2366 == OPEN_PAR_SYMBOL || ((LA344_2366 >= ORDER_SYMBOL) && (LA344_2366 <= OR_SYMBOL)) || LA344_2366 == PLUS_OPERATOR || LA344_2366 == PROCEDURE_SYMBOL || LA344_2366 == REGEXP_SYMBOL || LA344_2366 == RIGHT_SYMBOL || LA344_2366 == SEMICOLON_SYMBOL || LA344_2366 == SET_SYMBOL || ((LA344_2366 >= SHIFT_LEFT_OPERATOR) && (LA344_2366 <= SHIFT_RIGHT_OPERATOR)) || LA344_2366 == SINGLE_QUOTED_TEXT || LA344_2366 == STRAIGHT_JOIN_SYMBOL || LA344_2366 == UNION_SYMBOL || LA344_2366 == USING_SYMBOL || LA344_2366 == WHERE_SYMBOL || LA344_2366 == WITH_SYMBOL || LA344_2366 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2366;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_422 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2367 = LA(4);
                                        if ( (LA344_2367 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4276 = LA(5);
                                                if ( (LA344_4276 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4276 >= ASCII_SYMBOL) && (LA344_4276 <= YEAR_SYMBOL)) || LA344_4276 == BACK_TICK_QUOTED_ID || LA344_4276 == DOUBLE_QUOTED_TEXT || LA344_4276 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4276;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2367 == EOF || ((LA344_2367 >= ASCII_SYMBOL) && (LA344_2367 <= YEAR_SYMBOL)) || LA344_2367 == AND_SYMBOL || LA344_2367 == AS_SYMBOL || LA344_2367 == BACK_TICK_QUOTED_ID || LA344_2367 == BETWEEN_SYMBOL || LA344_2367 == BITWISE_AND_OPERATOR || ((LA344_2367 >= BITWISE_OR_OPERATOR) && (LA344_2367 <= BITWISE_XOR_OPERATOR)) || ((LA344_2367 >= CLOSE_CURLY_SYMBOL) && (LA344_2367 <= COLLATE_SYMBOL)) || LA344_2367 == COMMA_SYMBOL || LA344_2367 == CONCAT_PIPES_SYMBOL || LA344_2367 == CROSS_SYMBOL || ((LA344_2367 >= DIV_OPERATOR) && (LA344_2367 <= DIV_SYMBOL)) || LA344_2367 == DOUBLE_QUOTED_TEXT || LA344_2367 == EQUAL_OPERATOR || LA344_2367 == FOR_SYMBOL || LA344_2367 == FROM_SYMBOL || ((LA344_2367 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2367 <= GREATER_THAN_OPERATOR)) || ((LA344_2367 >= GROUP_SYMBOL) && (LA344_2367 <= HAVING_SYMBOL)) || LA344_2367 == IDENTIFIER || LA344_2367 == INNER_SYMBOL || LA344_2367 == INTO_SYMBOL || LA344_2367 == IN_SYMBOL || LA344_2367 == IS_SYMBOL || LA344_2367 == JOIN_SYMBOL || ((LA344_2367 >= LEFT_SYMBOL) && (LA344_2367 <= LESS_THAN_OPERATOR)) || ((LA344_2367 >= LIKE_SYMBOL) && (LA344_2367 <= LIMIT_SYMBOL)) || LA344_2367 == LOCK_SYMBOL || LA344_2367 == LOGICAL_AND_OPERATOR || LA344_2367 == LOGICAL_OR_OPERATOR || LA344_2367 == MINUS_OPERATOR || ((LA344_2367 >= MOD_OPERATOR) && (LA344_2367 <= MOD_SYMBOL)) || ((LA344_2367 >= MULT_OPERATOR) && (LA344_2367 <= NATURAL_SYMBOL)) || ((LA344_2367 >= NOT_EQUAL2_OPERATOR) && (LA344_2367 <= NOT_SYMBOL)) || LA344_2367 == NULL_SAFE_EQUAL_OPERATOR || LA344_2367 == ON_SYMBOL || LA344_2367 == OPEN_PAR_SYMBOL || ((LA344_2367 >= ORDER_SYMBOL) && (LA344_2367 <= OR_SYMBOL)) || LA344_2367 == PLUS_OPERATOR || LA344_2367 == PROCEDURE_SYMBOL || LA344_2367 == REGEXP_SYMBOL || LA344_2367 == RIGHT_SYMBOL || LA344_2367 == SEMICOLON_SYMBOL || LA344_2367 == SET_SYMBOL || ((LA344_2367 >= SHIFT_LEFT_OPERATOR) && (LA344_2367 <= SHIFT_RIGHT_OPERATOR)) || LA344_2367 == SINGLE_QUOTED_TEXT || LA344_2367 == STRAIGHT_JOIN_SYMBOL || LA344_2367 == UNION_SYMBOL || LA344_2367 == USING_SYMBOL || LA344_2367 == WHERE_SYMBOL || LA344_2367 == WITH_SYMBOL || LA344_2367 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2367;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_422 >= ACTION_SYMBOL) && (LA344_422 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2368 = LA(4);
                                        if ( (LA344_2368 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4329 = LA(5);
                                                if ( (LA344_4329 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4329 >= ASCII_SYMBOL) && (LA344_4329 <= YEAR_SYMBOL)) || LA344_4329 == BACK_TICK_QUOTED_ID || LA344_4329 == DOUBLE_QUOTED_TEXT || LA344_4329 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4329;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2368 == EOF || ((LA344_2368 >= ASCII_SYMBOL) && (LA344_2368 <= YEAR_SYMBOL)) || LA344_2368 == AND_SYMBOL || LA344_2368 == AS_SYMBOL || LA344_2368 == BACK_TICK_QUOTED_ID || LA344_2368 == BETWEEN_SYMBOL || LA344_2368 == BITWISE_AND_OPERATOR || ((LA344_2368 >= BITWISE_OR_OPERATOR) && (LA344_2368 <= BITWISE_XOR_OPERATOR)) || ((LA344_2368 >= CLOSE_CURLY_SYMBOL) && (LA344_2368 <= COLLATE_SYMBOL)) || LA344_2368 == COMMA_SYMBOL || LA344_2368 == CONCAT_PIPES_SYMBOL || LA344_2368 == CROSS_SYMBOL || ((LA344_2368 >= DIV_OPERATOR) && (LA344_2368 <= DIV_SYMBOL)) || LA344_2368 == DOUBLE_QUOTED_TEXT || LA344_2368 == EQUAL_OPERATOR || LA344_2368 == FOR_SYMBOL || LA344_2368 == FROM_SYMBOL || ((LA344_2368 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2368 <= GREATER_THAN_OPERATOR)) || ((LA344_2368 >= GROUP_SYMBOL) && (LA344_2368 <= HAVING_SYMBOL)) || LA344_2368 == IDENTIFIER || LA344_2368 == INNER_SYMBOL || LA344_2368 == INTO_SYMBOL || LA344_2368 == IN_SYMBOL || LA344_2368 == IS_SYMBOL || LA344_2368 == JOIN_SYMBOL || ((LA344_2368 >= LEFT_SYMBOL) && (LA344_2368 <= LESS_THAN_OPERATOR)) || ((LA344_2368 >= LIKE_SYMBOL) && (LA344_2368 <= LIMIT_SYMBOL)) || LA344_2368 == LOCK_SYMBOL || LA344_2368 == LOGICAL_AND_OPERATOR || LA344_2368 == LOGICAL_OR_OPERATOR || LA344_2368 == MINUS_OPERATOR || ((LA344_2368 >= MOD_OPERATOR) && (LA344_2368 <= MOD_SYMBOL)) || ((LA344_2368 >= MULT_OPERATOR) && (LA344_2368 <= NATURAL_SYMBOL)) || ((LA344_2368 >= NOT_EQUAL2_OPERATOR) && (LA344_2368 <= NOT_SYMBOL)) || LA344_2368 == NULL_SAFE_EQUAL_OPERATOR || LA344_2368 == ON_SYMBOL || LA344_2368 == OPEN_PAR_SYMBOL || ((LA344_2368 >= ORDER_SYMBOL) && (LA344_2368 <= OR_SYMBOL)) || LA344_2368 == PLUS_OPERATOR || LA344_2368 == PROCEDURE_SYMBOL || LA344_2368 == REGEXP_SYMBOL || LA344_2368 == RIGHT_SYMBOL || LA344_2368 == SEMICOLON_SYMBOL || LA344_2368 == SET_SYMBOL || ((LA344_2368 >= SHIFT_LEFT_OPERATOR) && (LA344_2368 <= SHIFT_RIGHT_OPERATOR)) || LA344_2368 == SINGLE_QUOTED_TEXT || LA344_2368 == STRAIGHT_JOIN_SYMBOL || LA344_2368 == UNION_SYMBOL || LA344_2368 == USING_SYMBOL || LA344_2368 == WHERE_SYMBOL || LA344_2368 == WITH_SYMBOL || LA344_2368 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2368;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_422 >= ASCII_SYMBOL) && (LA344_422 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2369 = LA(4);
                                        if ( (LA344_2369 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4382 = LA(5);
                                                if ( (LA344_4382 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4382 >= ASCII_SYMBOL) && (LA344_4382 <= YEAR_SYMBOL)) || LA344_4382 == BACK_TICK_QUOTED_ID || LA344_4382 == DOUBLE_QUOTED_TEXT || LA344_4382 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4382;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2369 == EOF || ((LA344_2369 >= ASCII_SYMBOL) && (LA344_2369 <= YEAR_SYMBOL)) || LA344_2369 == AND_SYMBOL || LA344_2369 == AS_SYMBOL || LA344_2369 == BACK_TICK_QUOTED_ID || LA344_2369 == BETWEEN_SYMBOL || LA344_2369 == BITWISE_AND_OPERATOR || ((LA344_2369 >= BITWISE_OR_OPERATOR) && (LA344_2369 <= BITWISE_XOR_OPERATOR)) || ((LA344_2369 >= CLOSE_CURLY_SYMBOL) && (LA344_2369 <= COLLATE_SYMBOL)) || LA344_2369 == COMMA_SYMBOL || LA344_2369 == CONCAT_PIPES_SYMBOL || LA344_2369 == CROSS_SYMBOL || ((LA344_2369 >= DIV_OPERATOR) && (LA344_2369 <= DIV_SYMBOL)) || LA344_2369 == DOUBLE_QUOTED_TEXT || LA344_2369 == EQUAL_OPERATOR || LA344_2369 == FOR_SYMBOL || LA344_2369 == FROM_SYMBOL || ((LA344_2369 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2369 <= GREATER_THAN_OPERATOR)) || ((LA344_2369 >= GROUP_SYMBOL) && (LA344_2369 <= HAVING_SYMBOL)) || LA344_2369 == IDENTIFIER || LA344_2369 == INNER_SYMBOL || LA344_2369 == INTO_SYMBOL || LA344_2369 == IN_SYMBOL || LA344_2369 == IS_SYMBOL || LA344_2369 == JOIN_SYMBOL || ((LA344_2369 >= LEFT_SYMBOL) && (LA344_2369 <= LESS_THAN_OPERATOR)) || ((LA344_2369 >= LIKE_SYMBOL) && (LA344_2369 <= LIMIT_SYMBOL)) || LA344_2369 == LOCK_SYMBOL || LA344_2369 == LOGICAL_AND_OPERATOR || LA344_2369 == LOGICAL_OR_OPERATOR || LA344_2369 == MINUS_OPERATOR || ((LA344_2369 >= MOD_OPERATOR) && (LA344_2369 <= MOD_SYMBOL)) || ((LA344_2369 >= MULT_OPERATOR) && (LA344_2369 <= NATURAL_SYMBOL)) || ((LA344_2369 >= NOT_EQUAL2_OPERATOR) && (LA344_2369 <= NOT_SYMBOL)) || LA344_2369 == NULL_SAFE_EQUAL_OPERATOR || LA344_2369 == ON_SYMBOL || LA344_2369 == OPEN_PAR_SYMBOL || ((LA344_2369 >= ORDER_SYMBOL) && (LA344_2369 <= OR_SYMBOL)) || LA344_2369 == PLUS_OPERATOR || LA344_2369 == PROCEDURE_SYMBOL || LA344_2369 == REGEXP_SYMBOL || LA344_2369 == RIGHT_SYMBOL || LA344_2369 == SEMICOLON_SYMBOL || LA344_2369 == SET_SYMBOL || ((LA344_2369 >= SHIFT_LEFT_OPERATOR) && (LA344_2369 <= SHIFT_RIGHT_OPERATOR)) || LA344_2369 == SINGLE_QUOTED_TEXT || LA344_2369 == STRAIGHT_JOIN_SYMBOL || LA344_2369 == UNION_SYMBOL || LA344_2369 == USING_SYMBOL || LA344_2369 == WHERE_SYMBOL || LA344_2369 == WITH_SYMBOL || LA344_2369 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2369;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 422;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 19;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == DAY_SYMBOL))
                {
                    {
                        int LA344_20 = LA(2);
                        if ( (LA344_20 == EOF || ((LA344_20 >= ASCII_SYMBOL) && (LA344_20 <= YEAR_SYMBOL)) || LA344_20 == AND_SYMBOL || LA344_20 == AS_SYMBOL || LA344_20 == BACK_TICK_QUOTED_ID || LA344_20 == BETWEEN_SYMBOL || LA344_20 == BITWISE_AND_OPERATOR || ((LA344_20 >= BITWISE_OR_OPERATOR) && (LA344_20 <= BITWISE_XOR_OPERATOR)) || ((LA344_20 >= CLOSE_CURLY_SYMBOL) && (LA344_20 <= COLLATE_SYMBOL)) || LA344_20 == COMMA_SYMBOL || LA344_20 == CONCAT_PIPES_SYMBOL || LA344_20 == CROSS_SYMBOL || ((LA344_20 >= DIV_OPERATOR) && (LA344_20 <= DIV_SYMBOL)) || LA344_20 == DOUBLE_QUOTED_TEXT || LA344_20 == EQUAL_OPERATOR || LA344_20 == FOR_SYMBOL || LA344_20 == FROM_SYMBOL || ((LA344_20 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_20 <= GREATER_THAN_OPERATOR)) || ((LA344_20 >= GROUP_SYMBOL) && (LA344_20 <= HAVING_SYMBOL)) || LA344_20 == IDENTIFIER || LA344_20 == INNER_SYMBOL || LA344_20 == INTO_SYMBOL || LA344_20 == IN_SYMBOL || LA344_20 == IS_SYMBOL || LA344_20 == JOIN_SYMBOL || ((LA344_20 >= LEFT_SYMBOL) && (LA344_20 <= LESS_THAN_OPERATOR)) || ((LA344_20 >= LIKE_SYMBOL) && (LA344_20 <= LIMIT_SYMBOL)) || LA344_20 == LOCK_SYMBOL || LA344_20 == LOGICAL_AND_OPERATOR || LA344_20 == LOGICAL_OR_OPERATOR || LA344_20 == MINUS_OPERATOR || ((LA344_20 >= MOD_OPERATOR) && (LA344_20 <= MOD_SYMBOL)) || ((LA344_20 >= MULT_OPERATOR) && (LA344_20 <= NATURAL_SYMBOL)) || ((LA344_20 >= NOT_EQUAL2_OPERATOR) && (LA344_20 <= NOT_SYMBOL)) || LA344_20 == NULL_SAFE_EQUAL_OPERATOR || LA344_20 == ON_SYMBOL || LA344_20 == OPEN_PAR_SYMBOL || ((LA344_20 >= ORDER_SYMBOL) && (LA344_20 <= OR_SYMBOL)) || LA344_20 == PLUS_OPERATOR || LA344_20 == PROCEDURE_SYMBOL || LA344_20 == REGEXP_SYMBOL || LA344_20 == RIGHT_SYMBOL || LA344_20 == SEMICOLON_SYMBOL || LA344_20 == SET_SYMBOL || ((LA344_20 >= SHIFT_LEFT_OPERATOR) && (LA344_20 <= SHIFT_RIGHT_OPERATOR)) || LA344_20 == SINGLE_QUOTED_TEXT || LA344_20 == STRAIGHT_JOIN_SYMBOL || LA344_20 == UNION_SYMBOL || LA344_20 == USING_SYMBOL || LA344_20 == WHERE_SYMBOL || LA344_20 == WITH_SYMBOL || LA344_20 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_20 == DOT_SYMBOL))
                        {
                            {
                                int LA344_474 = LA(3);
                                if ( (LA344_474 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_474 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2371 = LA(4);
                                        if ( (LA344_2371 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4435 = LA(5);
                                                if ( (LA344_4435 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4435 >= ASCII_SYMBOL) && (LA344_4435 <= YEAR_SYMBOL)) || LA344_4435 == BACK_TICK_QUOTED_ID || LA344_4435 == DOUBLE_QUOTED_TEXT || LA344_4435 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4435;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2371 == EOF || ((LA344_2371 >= ASCII_SYMBOL) && (LA344_2371 <= YEAR_SYMBOL)) || LA344_2371 == AND_SYMBOL || LA344_2371 == AS_SYMBOL || LA344_2371 == BACK_TICK_QUOTED_ID || LA344_2371 == BETWEEN_SYMBOL || LA344_2371 == BITWISE_AND_OPERATOR || ((LA344_2371 >= BITWISE_OR_OPERATOR) && (LA344_2371 <= BITWISE_XOR_OPERATOR)) || ((LA344_2371 >= CLOSE_CURLY_SYMBOL) && (LA344_2371 <= COLLATE_SYMBOL)) || LA344_2371 == COMMA_SYMBOL || LA344_2371 == CONCAT_PIPES_SYMBOL || LA344_2371 == CROSS_SYMBOL || ((LA344_2371 >= DIV_OPERATOR) && (LA344_2371 <= DIV_SYMBOL)) || LA344_2371 == DOUBLE_QUOTED_TEXT || LA344_2371 == EQUAL_OPERATOR || LA344_2371 == FOR_SYMBOL || LA344_2371 == FROM_SYMBOL || ((LA344_2371 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2371 <= GREATER_THAN_OPERATOR)) || ((LA344_2371 >= GROUP_SYMBOL) && (LA344_2371 <= HAVING_SYMBOL)) || LA344_2371 == IDENTIFIER || LA344_2371 == INNER_SYMBOL || LA344_2371 == INTO_SYMBOL || LA344_2371 == IN_SYMBOL || LA344_2371 == IS_SYMBOL || LA344_2371 == JOIN_SYMBOL || ((LA344_2371 >= LEFT_SYMBOL) && (LA344_2371 <= LESS_THAN_OPERATOR)) || ((LA344_2371 >= LIKE_SYMBOL) && (LA344_2371 <= LIMIT_SYMBOL)) || LA344_2371 == LOCK_SYMBOL || LA344_2371 == LOGICAL_AND_OPERATOR || LA344_2371 == LOGICAL_OR_OPERATOR || LA344_2371 == MINUS_OPERATOR || ((LA344_2371 >= MOD_OPERATOR) && (LA344_2371 <= MOD_SYMBOL)) || ((LA344_2371 >= MULT_OPERATOR) && (LA344_2371 <= NATURAL_SYMBOL)) || ((LA344_2371 >= NOT_EQUAL2_OPERATOR) && (LA344_2371 <= NOT_SYMBOL)) || LA344_2371 == NULL_SAFE_EQUAL_OPERATOR || LA344_2371 == ON_SYMBOL || LA344_2371 == OPEN_PAR_SYMBOL || ((LA344_2371 >= ORDER_SYMBOL) && (LA344_2371 <= OR_SYMBOL)) || LA344_2371 == PLUS_OPERATOR || LA344_2371 == PROCEDURE_SYMBOL || LA344_2371 == REGEXP_SYMBOL || LA344_2371 == RIGHT_SYMBOL || LA344_2371 == SEMICOLON_SYMBOL || LA344_2371 == SET_SYMBOL || ((LA344_2371 >= SHIFT_LEFT_OPERATOR) && (LA344_2371 <= SHIFT_RIGHT_OPERATOR)) || LA344_2371 == SINGLE_QUOTED_TEXT || LA344_2371 == STRAIGHT_JOIN_SYMBOL || LA344_2371 == UNION_SYMBOL || LA344_2371 == USING_SYMBOL || LA344_2371 == WHERE_SYMBOL || LA344_2371 == WITH_SYMBOL || LA344_2371 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2371;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_474 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2372 = LA(4);
                                        if ( (LA344_2372 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4488 = LA(5);
                                                if ( (LA344_4488 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4488 >= ASCII_SYMBOL) && (LA344_4488 <= YEAR_SYMBOL)) || LA344_4488 == BACK_TICK_QUOTED_ID || LA344_4488 == DOUBLE_QUOTED_TEXT || LA344_4488 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4488;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2372 == EOF || ((LA344_2372 >= ASCII_SYMBOL) && (LA344_2372 <= YEAR_SYMBOL)) || LA344_2372 == AND_SYMBOL || LA344_2372 == AS_SYMBOL || LA344_2372 == BACK_TICK_QUOTED_ID || LA344_2372 == BETWEEN_SYMBOL || LA344_2372 == BITWISE_AND_OPERATOR || ((LA344_2372 >= BITWISE_OR_OPERATOR) && (LA344_2372 <= BITWISE_XOR_OPERATOR)) || ((LA344_2372 >= CLOSE_CURLY_SYMBOL) && (LA344_2372 <= COLLATE_SYMBOL)) || LA344_2372 == COMMA_SYMBOL || LA344_2372 == CONCAT_PIPES_SYMBOL || LA344_2372 == CROSS_SYMBOL || ((LA344_2372 >= DIV_OPERATOR) && (LA344_2372 <= DIV_SYMBOL)) || LA344_2372 == DOUBLE_QUOTED_TEXT || LA344_2372 == EQUAL_OPERATOR || LA344_2372 == FOR_SYMBOL || LA344_2372 == FROM_SYMBOL || ((LA344_2372 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2372 <= GREATER_THAN_OPERATOR)) || ((LA344_2372 >= GROUP_SYMBOL) && (LA344_2372 <= HAVING_SYMBOL)) || LA344_2372 == IDENTIFIER || LA344_2372 == INNER_SYMBOL || LA344_2372 == INTO_SYMBOL || LA344_2372 == IN_SYMBOL || LA344_2372 == IS_SYMBOL || LA344_2372 == JOIN_SYMBOL || ((LA344_2372 >= LEFT_SYMBOL) && (LA344_2372 <= LESS_THAN_OPERATOR)) || ((LA344_2372 >= LIKE_SYMBOL) && (LA344_2372 <= LIMIT_SYMBOL)) || LA344_2372 == LOCK_SYMBOL || LA344_2372 == LOGICAL_AND_OPERATOR || LA344_2372 == LOGICAL_OR_OPERATOR || LA344_2372 == MINUS_OPERATOR || ((LA344_2372 >= MOD_OPERATOR) && (LA344_2372 <= MOD_SYMBOL)) || ((LA344_2372 >= MULT_OPERATOR) && (LA344_2372 <= NATURAL_SYMBOL)) || ((LA344_2372 >= NOT_EQUAL2_OPERATOR) && (LA344_2372 <= NOT_SYMBOL)) || LA344_2372 == NULL_SAFE_EQUAL_OPERATOR || LA344_2372 == ON_SYMBOL || LA344_2372 == OPEN_PAR_SYMBOL || ((LA344_2372 >= ORDER_SYMBOL) && (LA344_2372 <= OR_SYMBOL)) || LA344_2372 == PLUS_OPERATOR || LA344_2372 == PROCEDURE_SYMBOL || LA344_2372 == REGEXP_SYMBOL || LA344_2372 == RIGHT_SYMBOL || LA344_2372 == SEMICOLON_SYMBOL || LA344_2372 == SET_SYMBOL || ((LA344_2372 >= SHIFT_LEFT_OPERATOR) && (LA344_2372 <= SHIFT_RIGHT_OPERATOR)) || LA344_2372 == SINGLE_QUOTED_TEXT || LA344_2372 == STRAIGHT_JOIN_SYMBOL || LA344_2372 == UNION_SYMBOL || LA344_2372 == USING_SYMBOL || LA344_2372 == WHERE_SYMBOL || LA344_2372 == WITH_SYMBOL || LA344_2372 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2372;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_474 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2373 = LA(4);
                                        if ( (LA344_2373 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4541 = LA(5);
                                                if ( (LA344_4541 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4541 >= ASCII_SYMBOL) && (LA344_4541 <= YEAR_SYMBOL)) || LA344_4541 == BACK_TICK_QUOTED_ID || LA344_4541 == DOUBLE_QUOTED_TEXT || LA344_4541 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4541;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2373 == EOF || ((LA344_2373 >= ASCII_SYMBOL) && (LA344_2373 <= YEAR_SYMBOL)) || LA344_2373 == AND_SYMBOL || LA344_2373 == AS_SYMBOL || LA344_2373 == BACK_TICK_QUOTED_ID || LA344_2373 == BETWEEN_SYMBOL || LA344_2373 == BITWISE_AND_OPERATOR || ((LA344_2373 >= BITWISE_OR_OPERATOR) && (LA344_2373 <= BITWISE_XOR_OPERATOR)) || ((LA344_2373 >= CLOSE_CURLY_SYMBOL) && (LA344_2373 <= COLLATE_SYMBOL)) || LA344_2373 == COMMA_SYMBOL || LA344_2373 == CONCAT_PIPES_SYMBOL || LA344_2373 == CROSS_SYMBOL || ((LA344_2373 >= DIV_OPERATOR) && (LA344_2373 <= DIV_SYMBOL)) || LA344_2373 == DOUBLE_QUOTED_TEXT || LA344_2373 == EQUAL_OPERATOR || LA344_2373 == FOR_SYMBOL || LA344_2373 == FROM_SYMBOL || ((LA344_2373 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2373 <= GREATER_THAN_OPERATOR)) || ((LA344_2373 >= GROUP_SYMBOL) && (LA344_2373 <= HAVING_SYMBOL)) || LA344_2373 == IDENTIFIER || LA344_2373 == INNER_SYMBOL || LA344_2373 == INTO_SYMBOL || LA344_2373 == IN_SYMBOL || LA344_2373 == IS_SYMBOL || LA344_2373 == JOIN_SYMBOL || ((LA344_2373 >= LEFT_SYMBOL) && (LA344_2373 <= LESS_THAN_OPERATOR)) || ((LA344_2373 >= LIKE_SYMBOL) && (LA344_2373 <= LIMIT_SYMBOL)) || LA344_2373 == LOCK_SYMBOL || LA344_2373 == LOGICAL_AND_OPERATOR || LA344_2373 == LOGICAL_OR_OPERATOR || LA344_2373 == MINUS_OPERATOR || ((LA344_2373 >= MOD_OPERATOR) && (LA344_2373 <= MOD_SYMBOL)) || ((LA344_2373 >= MULT_OPERATOR) && (LA344_2373 <= NATURAL_SYMBOL)) || ((LA344_2373 >= NOT_EQUAL2_OPERATOR) && (LA344_2373 <= NOT_SYMBOL)) || LA344_2373 == NULL_SAFE_EQUAL_OPERATOR || LA344_2373 == ON_SYMBOL || LA344_2373 == OPEN_PAR_SYMBOL || ((LA344_2373 >= ORDER_SYMBOL) && (LA344_2373 <= OR_SYMBOL)) || LA344_2373 == PLUS_OPERATOR || LA344_2373 == PROCEDURE_SYMBOL || LA344_2373 == REGEXP_SYMBOL || LA344_2373 == RIGHT_SYMBOL || LA344_2373 == SEMICOLON_SYMBOL || LA344_2373 == SET_SYMBOL || ((LA344_2373 >= SHIFT_LEFT_OPERATOR) && (LA344_2373 <= SHIFT_RIGHT_OPERATOR)) || LA344_2373 == SINGLE_QUOTED_TEXT || LA344_2373 == STRAIGHT_JOIN_SYMBOL || LA344_2373 == UNION_SYMBOL || LA344_2373 == USING_SYMBOL || LA344_2373 == WHERE_SYMBOL || LA344_2373 == WITH_SYMBOL || LA344_2373 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2373;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_474 >= ACTION_SYMBOL) && (LA344_474 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2374 = LA(4);
                                        if ( (LA344_2374 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4594 = LA(5);
                                                if ( (LA344_4594 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4594 >= ASCII_SYMBOL) && (LA344_4594 <= YEAR_SYMBOL)) || LA344_4594 == BACK_TICK_QUOTED_ID || LA344_4594 == DOUBLE_QUOTED_TEXT || LA344_4594 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4594;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2374 == EOF || ((LA344_2374 >= ASCII_SYMBOL) && (LA344_2374 <= YEAR_SYMBOL)) || LA344_2374 == AND_SYMBOL || LA344_2374 == AS_SYMBOL || LA344_2374 == BACK_TICK_QUOTED_ID || LA344_2374 == BETWEEN_SYMBOL || LA344_2374 == BITWISE_AND_OPERATOR || ((LA344_2374 >= BITWISE_OR_OPERATOR) && (LA344_2374 <= BITWISE_XOR_OPERATOR)) || ((LA344_2374 >= CLOSE_CURLY_SYMBOL) && (LA344_2374 <= COLLATE_SYMBOL)) || LA344_2374 == COMMA_SYMBOL || LA344_2374 == CONCAT_PIPES_SYMBOL || LA344_2374 == CROSS_SYMBOL || ((LA344_2374 >= DIV_OPERATOR) && (LA344_2374 <= DIV_SYMBOL)) || LA344_2374 == DOUBLE_QUOTED_TEXT || LA344_2374 == EQUAL_OPERATOR || LA344_2374 == FOR_SYMBOL || LA344_2374 == FROM_SYMBOL || ((LA344_2374 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2374 <= GREATER_THAN_OPERATOR)) || ((LA344_2374 >= GROUP_SYMBOL) && (LA344_2374 <= HAVING_SYMBOL)) || LA344_2374 == IDENTIFIER || LA344_2374 == INNER_SYMBOL || LA344_2374 == INTO_SYMBOL || LA344_2374 == IN_SYMBOL || LA344_2374 == IS_SYMBOL || LA344_2374 == JOIN_SYMBOL || ((LA344_2374 >= LEFT_SYMBOL) && (LA344_2374 <= LESS_THAN_OPERATOR)) || ((LA344_2374 >= LIKE_SYMBOL) && (LA344_2374 <= LIMIT_SYMBOL)) || LA344_2374 == LOCK_SYMBOL || LA344_2374 == LOGICAL_AND_OPERATOR || LA344_2374 == LOGICAL_OR_OPERATOR || LA344_2374 == MINUS_OPERATOR || ((LA344_2374 >= MOD_OPERATOR) && (LA344_2374 <= MOD_SYMBOL)) || ((LA344_2374 >= MULT_OPERATOR) && (LA344_2374 <= NATURAL_SYMBOL)) || ((LA344_2374 >= NOT_EQUAL2_OPERATOR) && (LA344_2374 <= NOT_SYMBOL)) || LA344_2374 == NULL_SAFE_EQUAL_OPERATOR || LA344_2374 == ON_SYMBOL || LA344_2374 == OPEN_PAR_SYMBOL || ((LA344_2374 >= ORDER_SYMBOL) && (LA344_2374 <= OR_SYMBOL)) || LA344_2374 == PLUS_OPERATOR || LA344_2374 == PROCEDURE_SYMBOL || LA344_2374 == REGEXP_SYMBOL || LA344_2374 == RIGHT_SYMBOL || LA344_2374 == SEMICOLON_SYMBOL || LA344_2374 == SET_SYMBOL || ((LA344_2374 >= SHIFT_LEFT_OPERATOR) && (LA344_2374 <= SHIFT_RIGHT_OPERATOR)) || LA344_2374 == SINGLE_QUOTED_TEXT || LA344_2374 == STRAIGHT_JOIN_SYMBOL || LA344_2374 == UNION_SYMBOL || LA344_2374 == USING_SYMBOL || LA344_2374 == WHERE_SYMBOL || LA344_2374 == WITH_SYMBOL || LA344_2374 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2374;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_474 >= ASCII_SYMBOL) && (LA344_474 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2375 = LA(4);
                                        if ( (LA344_2375 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4647 = LA(5);
                                                if ( (LA344_4647 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4647 >= ASCII_SYMBOL) && (LA344_4647 <= YEAR_SYMBOL)) || LA344_4647 == BACK_TICK_QUOTED_ID || LA344_4647 == DOUBLE_QUOTED_TEXT || LA344_4647 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4647;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2375 == EOF || ((LA344_2375 >= ASCII_SYMBOL) && (LA344_2375 <= YEAR_SYMBOL)) || LA344_2375 == AND_SYMBOL || LA344_2375 == AS_SYMBOL || LA344_2375 == BACK_TICK_QUOTED_ID || LA344_2375 == BETWEEN_SYMBOL || LA344_2375 == BITWISE_AND_OPERATOR || ((LA344_2375 >= BITWISE_OR_OPERATOR) && (LA344_2375 <= BITWISE_XOR_OPERATOR)) || ((LA344_2375 >= CLOSE_CURLY_SYMBOL) && (LA344_2375 <= COLLATE_SYMBOL)) || LA344_2375 == COMMA_SYMBOL || LA344_2375 == CONCAT_PIPES_SYMBOL || LA344_2375 == CROSS_SYMBOL || ((LA344_2375 >= DIV_OPERATOR) && (LA344_2375 <= DIV_SYMBOL)) || LA344_2375 == DOUBLE_QUOTED_TEXT || LA344_2375 == EQUAL_OPERATOR || LA344_2375 == FOR_SYMBOL || LA344_2375 == FROM_SYMBOL || ((LA344_2375 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2375 <= GREATER_THAN_OPERATOR)) || ((LA344_2375 >= GROUP_SYMBOL) && (LA344_2375 <= HAVING_SYMBOL)) || LA344_2375 == IDENTIFIER || LA344_2375 == INNER_SYMBOL || LA344_2375 == INTO_SYMBOL || LA344_2375 == IN_SYMBOL || LA344_2375 == IS_SYMBOL || LA344_2375 == JOIN_SYMBOL || ((LA344_2375 >= LEFT_SYMBOL) && (LA344_2375 <= LESS_THAN_OPERATOR)) || ((LA344_2375 >= LIKE_SYMBOL) && (LA344_2375 <= LIMIT_SYMBOL)) || LA344_2375 == LOCK_SYMBOL || LA344_2375 == LOGICAL_AND_OPERATOR || LA344_2375 == LOGICAL_OR_OPERATOR || LA344_2375 == MINUS_OPERATOR || ((LA344_2375 >= MOD_OPERATOR) && (LA344_2375 <= MOD_SYMBOL)) || ((LA344_2375 >= MULT_OPERATOR) && (LA344_2375 <= NATURAL_SYMBOL)) || ((LA344_2375 >= NOT_EQUAL2_OPERATOR) && (LA344_2375 <= NOT_SYMBOL)) || LA344_2375 == NULL_SAFE_EQUAL_OPERATOR || LA344_2375 == ON_SYMBOL || LA344_2375 == OPEN_PAR_SYMBOL || ((LA344_2375 >= ORDER_SYMBOL) && (LA344_2375 <= OR_SYMBOL)) || LA344_2375 == PLUS_OPERATOR || LA344_2375 == PROCEDURE_SYMBOL || LA344_2375 == REGEXP_SYMBOL || LA344_2375 == RIGHT_SYMBOL || LA344_2375 == SEMICOLON_SYMBOL || LA344_2375 == SET_SYMBOL || ((LA344_2375 >= SHIFT_LEFT_OPERATOR) && (LA344_2375 <= SHIFT_RIGHT_OPERATOR)) || LA344_2375 == SINGLE_QUOTED_TEXT || LA344_2375 == STRAIGHT_JOIN_SYMBOL || LA344_2375 == UNION_SYMBOL || LA344_2375 == USING_SYMBOL || LA344_2375 == WHERE_SYMBOL || LA344_2375 == WITH_SYMBOL || LA344_2375 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2375;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 474;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 20;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == HOUR_SYMBOL))
                {
                    {
                        int LA344_23 = LA(2);
                        if ( (LA344_23 == EOF || ((LA344_23 >= ASCII_SYMBOL) && (LA344_23 <= YEAR_SYMBOL)) || LA344_23 == AND_SYMBOL || LA344_23 == AS_SYMBOL || LA344_23 == BACK_TICK_QUOTED_ID || LA344_23 == BETWEEN_SYMBOL || LA344_23 == BITWISE_AND_OPERATOR || ((LA344_23 >= BITWISE_OR_OPERATOR) && (LA344_23 <= BITWISE_XOR_OPERATOR)) || ((LA344_23 >= CLOSE_CURLY_SYMBOL) && (LA344_23 <= COLLATE_SYMBOL)) || LA344_23 == COMMA_SYMBOL || LA344_23 == CONCAT_PIPES_SYMBOL || LA344_23 == CROSS_SYMBOL || ((LA344_23 >= DIV_OPERATOR) && (LA344_23 <= DIV_SYMBOL)) || LA344_23 == DOUBLE_QUOTED_TEXT || LA344_23 == EQUAL_OPERATOR || LA344_23 == FOR_SYMBOL || LA344_23 == FROM_SYMBOL || ((LA344_23 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_23 <= GREATER_THAN_OPERATOR)) || ((LA344_23 >= GROUP_SYMBOL) && (LA344_23 <= HAVING_SYMBOL)) || LA344_23 == IDENTIFIER || LA344_23 == INNER_SYMBOL || LA344_23 == INTO_SYMBOL || LA344_23 == IN_SYMBOL || LA344_23 == IS_SYMBOL || LA344_23 == JOIN_SYMBOL || ((LA344_23 >= LEFT_SYMBOL) && (LA344_23 <= LESS_THAN_OPERATOR)) || ((LA344_23 >= LIKE_SYMBOL) && (LA344_23 <= LIMIT_SYMBOL)) || LA344_23 == LOCK_SYMBOL || LA344_23 == LOGICAL_AND_OPERATOR || LA344_23 == LOGICAL_OR_OPERATOR || LA344_23 == MINUS_OPERATOR || ((LA344_23 >= MOD_OPERATOR) && (LA344_23 <= MOD_SYMBOL)) || ((LA344_23 >= MULT_OPERATOR) && (LA344_23 <= NATURAL_SYMBOL)) || ((LA344_23 >= NOT_EQUAL2_OPERATOR) && (LA344_23 <= NOT_SYMBOL)) || LA344_23 == NULL_SAFE_EQUAL_OPERATOR || LA344_23 == ON_SYMBOL || LA344_23 == OPEN_PAR_SYMBOL || ((LA344_23 >= ORDER_SYMBOL) && (LA344_23 <= OR_SYMBOL)) || LA344_23 == PLUS_OPERATOR || LA344_23 == PROCEDURE_SYMBOL || LA344_23 == REGEXP_SYMBOL || LA344_23 == RIGHT_SYMBOL || LA344_23 == SEMICOLON_SYMBOL || LA344_23 == SET_SYMBOL || ((LA344_23 >= SHIFT_LEFT_OPERATOR) && (LA344_23 <= SHIFT_RIGHT_OPERATOR)) || LA344_23 == SINGLE_QUOTED_TEXT || LA344_23 == STRAIGHT_JOIN_SYMBOL || LA344_23 == UNION_SYMBOL || LA344_23 == USING_SYMBOL || LA344_23 == WHERE_SYMBOL || LA344_23 == WITH_SYMBOL || LA344_23 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_23 == DOT_SYMBOL))
                        {
                            {
                                int LA344_527 = LA(3);
                                if ( (LA344_527 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_527 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2377 = LA(4);
                                        if ( (LA344_2377 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4700 = LA(5);
                                                if ( (LA344_4700 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4700 >= ASCII_SYMBOL) && (LA344_4700 <= YEAR_SYMBOL)) || LA344_4700 == BACK_TICK_QUOTED_ID || LA344_4700 == DOUBLE_QUOTED_TEXT || LA344_4700 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4700;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2377 == EOF || ((LA344_2377 >= ASCII_SYMBOL) && (LA344_2377 <= YEAR_SYMBOL)) || LA344_2377 == AND_SYMBOL || LA344_2377 == AS_SYMBOL || LA344_2377 == BACK_TICK_QUOTED_ID || LA344_2377 == BETWEEN_SYMBOL || LA344_2377 == BITWISE_AND_OPERATOR || ((LA344_2377 >= BITWISE_OR_OPERATOR) && (LA344_2377 <= BITWISE_XOR_OPERATOR)) || ((LA344_2377 >= CLOSE_CURLY_SYMBOL) && (LA344_2377 <= COLLATE_SYMBOL)) || LA344_2377 == COMMA_SYMBOL || LA344_2377 == CONCAT_PIPES_SYMBOL || LA344_2377 == CROSS_SYMBOL || ((LA344_2377 >= DIV_OPERATOR) && (LA344_2377 <= DIV_SYMBOL)) || LA344_2377 == DOUBLE_QUOTED_TEXT || LA344_2377 == EQUAL_OPERATOR || LA344_2377 == FOR_SYMBOL || LA344_2377 == FROM_SYMBOL || ((LA344_2377 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2377 <= GREATER_THAN_OPERATOR)) || ((LA344_2377 >= GROUP_SYMBOL) && (LA344_2377 <= HAVING_SYMBOL)) || LA344_2377 == IDENTIFIER || LA344_2377 == INNER_SYMBOL || LA344_2377 == INTO_SYMBOL || LA344_2377 == IN_SYMBOL || LA344_2377 == IS_SYMBOL || LA344_2377 == JOIN_SYMBOL || ((LA344_2377 >= LEFT_SYMBOL) && (LA344_2377 <= LESS_THAN_OPERATOR)) || ((LA344_2377 >= LIKE_SYMBOL) && (LA344_2377 <= LIMIT_SYMBOL)) || LA344_2377 == LOCK_SYMBOL || LA344_2377 == LOGICAL_AND_OPERATOR || LA344_2377 == LOGICAL_OR_OPERATOR || LA344_2377 == MINUS_OPERATOR || ((LA344_2377 >= MOD_OPERATOR) && (LA344_2377 <= MOD_SYMBOL)) || ((LA344_2377 >= MULT_OPERATOR) && (LA344_2377 <= NATURAL_SYMBOL)) || ((LA344_2377 >= NOT_EQUAL2_OPERATOR) && (LA344_2377 <= NOT_SYMBOL)) || LA344_2377 == NULL_SAFE_EQUAL_OPERATOR || LA344_2377 == ON_SYMBOL || LA344_2377 == OPEN_PAR_SYMBOL || ((LA344_2377 >= ORDER_SYMBOL) && (LA344_2377 <= OR_SYMBOL)) || LA344_2377 == PLUS_OPERATOR || LA344_2377 == PROCEDURE_SYMBOL || LA344_2377 == REGEXP_SYMBOL || LA344_2377 == RIGHT_SYMBOL || LA344_2377 == SEMICOLON_SYMBOL || LA344_2377 == SET_SYMBOL || ((LA344_2377 >= SHIFT_LEFT_OPERATOR) && (LA344_2377 <= SHIFT_RIGHT_OPERATOR)) || LA344_2377 == SINGLE_QUOTED_TEXT || LA344_2377 == STRAIGHT_JOIN_SYMBOL || LA344_2377 == UNION_SYMBOL || LA344_2377 == USING_SYMBOL || LA344_2377 == WHERE_SYMBOL || LA344_2377 == WITH_SYMBOL || LA344_2377 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2377;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_527 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2378 = LA(4);
                                        if ( (LA344_2378 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4753 = LA(5);
                                                if ( (LA344_4753 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4753 >= ASCII_SYMBOL) && (LA344_4753 <= YEAR_SYMBOL)) || LA344_4753 == BACK_TICK_QUOTED_ID || LA344_4753 == DOUBLE_QUOTED_TEXT || LA344_4753 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4753;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2378 == EOF || ((LA344_2378 >= ASCII_SYMBOL) && (LA344_2378 <= YEAR_SYMBOL)) || LA344_2378 == AND_SYMBOL || LA344_2378 == AS_SYMBOL || LA344_2378 == BACK_TICK_QUOTED_ID || LA344_2378 == BETWEEN_SYMBOL || LA344_2378 == BITWISE_AND_OPERATOR || ((LA344_2378 >= BITWISE_OR_OPERATOR) && (LA344_2378 <= BITWISE_XOR_OPERATOR)) || ((LA344_2378 >= CLOSE_CURLY_SYMBOL) && (LA344_2378 <= COLLATE_SYMBOL)) || LA344_2378 == COMMA_SYMBOL || LA344_2378 == CONCAT_PIPES_SYMBOL || LA344_2378 == CROSS_SYMBOL || ((LA344_2378 >= DIV_OPERATOR) && (LA344_2378 <= DIV_SYMBOL)) || LA344_2378 == DOUBLE_QUOTED_TEXT || LA344_2378 == EQUAL_OPERATOR || LA344_2378 == FOR_SYMBOL || LA344_2378 == FROM_SYMBOL || ((LA344_2378 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2378 <= GREATER_THAN_OPERATOR)) || ((LA344_2378 >= GROUP_SYMBOL) && (LA344_2378 <= HAVING_SYMBOL)) || LA344_2378 == IDENTIFIER || LA344_2378 == INNER_SYMBOL || LA344_2378 == INTO_SYMBOL || LA344_2378 == IN_SYMBOL || LA344_2378 == IS_SYMBOL || LA344_2378 == JOIN_SYMBOL || ((LA344_2378 >= LEFT_SYMBOL) && (LA344_2378 <= LESS_THAN_OPERATOR)) || ((LA344_2378 >= LIKE_SYMBOL) && (LA344_2378 <= LIMIT_SYMBOL)) || LA344_2378 == LOCK_SYMBOL || LA344_2378 == LOGICAL_AND_OPERATOR || LA344_2378 == LOGICAL_OR_OPERATOR || LA344_2378 == MINUS_OPERATOR || ((LA344_2378 >= MOD_OPERATOR) && (LA344_2378 <= MOD_SYMBOL)) || ((LA344_2378 >= MULT_OPERATOR) && (LA344_2378 <= NATURAL_SYMBOL)) || ((LA344_2378 >= NOT_EQUAL2_OPERATOR) && (LA344_2378 <= NOT_SYMBOL)) || LA344_2378 == NULL_SAFE_EQUAL_OPERATOR || LA344_2378 == ON_SYMBOL || LA344_2378 == OPEN_PAR_SYMBOL || ((LA344_2378 >= ORDER_SYMBOL) && (LA344_2378 <= OR_SYMBOL)) || LA344_2378 == PLUS_OPERATOR || LA344_2378 == PROCEDURE_SYMBOL || LA344_2378 == REGEXP_SYMBOL || LA344_2378 == RIGHT_SYMBOL || LA344_2378 == SEMICOLON_SYMBOL || LA344_2378 == SET_SYMBOL || ((LA344_2378 >= SHIFT_LEFT_OPERATOR) && (LA344_2378 <= SHIFT_RIGHT_OPERATOR)) || LA344_2378 == SINGLE_QUOTED_TEXT || LA344_2378 == STRAIGHT_JOIN_SYMBOL || LA344_2378 == UNION_SYMBOL || LA344_2378 == USING_SYMBOL || LA344_2378 == WHERE_SYMBOL || LA344_2378 == WITH_SYMBOL || LA344_2378 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2378;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_527 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2379 = LA(4);
                                        if ( (LA344_2379 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4806 = LA(5);
                                                if ( (LA344_4806 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4806 >= ASCII_SYMBOL) && (LA344_4806 <= YEAR_SYMBOL)) || LA344_4806 == BACK_TICK_QUOTED_ID || LA344_4806 == DOUBLE_QUOTED_TEXT || LA344_4806 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4806;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2379 == EOF || ((LA344_2379 >= ASCII_SYMBOL) && (LA344_2379 <= YEAR_SYMBOL)) || LA344_2379 == AND_SYMBOL || LA344_2379 == AS_SYMBOL || LA344_2379 == BACK_TICK_QUOTED_ID || LA344_2379 == BETWEEN_SYMBOL || LA344_2379 == BITWISE_AND_OPERATOR || ((LA344_2379 >= BITWISE_OR_OPERATOR) && (LA344_2379 <= BITWISE_XOR_OPERATOR)) || ((LA344_2379 >= CLOSE_CURLY_SYMBOL) && (LA344_2379 <= COLLATE_SYMBOL)) || LA344_2379 == COMMA_SYMBOL || LA344_2379 == CONCAT_PIPES_SYMBOL || LA344_2379 == CROSS_SYMBOL || ((LA344_2379 >= DIV_OPERATOR) && (LA344_2379 <= DIV_SYMBOL)) || LA344_2379 == DOUBLE_QUOTED_TEXT || LA344_2379 == EQUAL_OPERATOR || LA344_2379 == FOR_SYMBOL || LA344_2379 == FROM_SYMBOL || ((LA344_2379 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2379 <= GREATER_THAN_OPERATOR)) || ((LA344_2379 >= GROUP_SYMBOL) && (LA344_2379 <= HAVING_SYMBOL)) || LA344_2379 == IDENTIFIER || LA344_2379 == INNER_SYMBOL || LA344_2379 == INTO_SYMBOL || LA344_2379 == IN_SYMBOL || LA344_2379 == IS_SYMBOL || LA344_2379 == JOIN_SYMBOL || ((LA344_2379 >= LEFT_SYMBOL) && (LA344_2379 <= LESS_THAN_OPERATOR)) || ((LA344_2379 >= LIKE_SYMBOL) && (LA344_2379 <= LIMIT_SYMBOL)) || LA344_2379 == LOCK_SYMBOL || LA344_2379 == LOGICAL_AND_OPERATOR || LA344_2379 == LOGICAL_OR_OPERATOR || LA344_2379 == MINUS_OPERATOR || ((LA344_2379 >= MOD_OPERATOR) && (LA344_2379 <= MOD_SYMBOL)) || ((LA344_2379 >= MULT_OPERATOR) && (LA344_2379 <= NATURAL_SYMBOL)) || ((LA344_2379 >= NOT_EQUAL2_OPERATOR) && (LA344_2379 <= NOT_SYMBOL)) || LA344_2379 == NULL_SAFE_EQUAL_OPERATOR || LA344_2379 == ON_SYMBOL || LA344_2379 == OPEN_PAR_SYMBOL || ((LA344_2379 >= ORDER_SYMBOL) && (LA344_2379 <= OR_SYMBOL)) || LA344_2379 == PLUS_OPERATOR || LA344_2379 == PROCEDURE_SYMBOL || LA344_2379 == REGEXP_SYMBOL || LA344_2379 == RIGHT_SYMBOL || LA344_2379 == SEMICOLON_SYMBOL || LA344_2379 == SET_SYMBOL || ((LA344_2379 >= SHIFT_LEFT_OPERATOR) && (LA344_2379 <= SHIFT_RIGHT_OPERATOR)) || LA344_2379 == SINGLE_QUOTED_TEXT || LA344_2379 == STRAIGHT_JOIN_SYMBOL || LA344_2379 == UNION_SYMBOL || LA344_2379 == USING_SYMBOL || LA344_2379 == WHERE_SYMBOL || LA344_2379 == WITH_SYMBOL || LA344_2379 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2379;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_527 >= ACTION_SYMBOL) && (LA344_527 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2380 = LA(4);
                                        if ( (LA344_2380 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4859 = LA(5);
                                                if ( (LA344_4859 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4859 >= ASCII_SYMBOL) && (LA344_4859 <= YEAR_SYMBOL)) || LA344_4859 == BACK_TICK_QUOTED_ID || LA344_4859 == DOUBLE_QUOTED_TEXT || LA344_4859 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4859;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2380 == EOF || ((LA344_2380 >= ASCII_SYMBOL) && (LA344_2380 <= YEAR_SYMBOL)) || LA344_2380 == AND_SYMBOL || LA344_2380 == AS_SYMBOL || LA344_2380 == BACK_TICK_QUOTED_ID || LA344_2380 == BETWEEN_SYMBOL || LA344_2380 == BITWISE_AND_OPERATOR || ((LA344_2380 >= BITWISE_OR_OPERATOR) && (LA344_2380 <= BITWISE_XOR_OPERATOR)) || ((LA344_2380 >= CLOSE_CURLY_SYMBOL) && (LA344_2380 <= COLLATE_SYMBOL)) || LA344_2380 == COMMA_SYMBOL || LA344_2380 == CONCAT_PIPES_SYMBOL || LA344_2380 == CROSS_SYMBOL || ((LA344_2380 >= DIV_OPERATOR) && (LA344_2380 <= DIV_SYMBOL)) || LA344_2380 == DOUBLE_QUOTED_TEXT || LA344_2380 == EQUAL_OPERATOR || LA344_2380 == FOR_SYMBOL || LA344_2380 == FROM_SYMBOL || ((LA344_2380 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2380 <= GREATER_THAN_OPERATOR)) || ((LA344_2380 >= GROUP_SYMBOL) && (LA344_2380 <= HAVING_SYMBOL)) || LA344_2380 == IDENTIFIER || LA344_2380 == INNER_SYMBOL || LA344_2380 == INTO_SYMBOL || LA344_2380 == IN_SYMBOL || LA344_2380 == IS_SYMBOL || LA344_2380 == JOIN_SYMBOL || ((LA344_2380 >= LEFT_SYMBOL) && (LA344_2380 <= LESS_THAN_OPERATOR)) || ((LA344_2380 >= LIKE_SYMBOL) && (LA344_2380 <= LIMIT_SYMBOL)) || LA344_2380 == LOCK_SYMBOL || LA344_2380 == LOGICAL_AND_OPERATOR || LA344_2380 == LOGICAL_OR_OPERATOR || LA344_2380 == MINUS_OPERATOR || ((LA344_2380 >= MOD_OPERATOR) && (LA344_2380 <= MOD_SYMBOL)) || ((LA344_2380 >= MULT_OPERATOR) && (LA344_2380 <= NATURAL_SYMBOL)) || ((LA344_2380 >= NOT_EQUAL2_OPERATOR) && (LA344_2380 <= NOT_SYMBOL)) || LA344_2380 == NULL_SAFE_EQUAL_OPERATOR || LA344_2380 == ON_SYMBOL || LA344_2380 == OPEN_PAR_SYMBOL || ((LA344_2380 >= ORDER_SYMBOL) && (LA344_2380 <= OR_SYMBOL)) || LA344_2380 == PLUS_OPERATOR || LA344_2380 == PROCEDURE_SYMBOL || LA344_2380 == REGEXP_SYMBOL || LA344_2380 == RIGHT_SYMBOL || LA344_2380 == SEMICOLON_SYMBOL || LA344_2380 == SET_SYMBOL || ((LA344_2380 >= SHIFT_LEFT_OPERATOR) && (LA344_2380 <= SHIFT_RIGHT_OPERATOR)) || LA344_2380 == SINGLE_QUOTED_TEXT || LA344_2380 == STRAIGHT_JOIN_SYMBOL || LA344_2380 == UNION_SYMBOL || LA344_2380 == USING_SYMBOL || LA344_2380 == WHERE_SYMBOL || LA344_2380 == WITH_SYMBOL || LA344_2380 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2380;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_527 >= ASCII_SYMBOL) && (LA344_527 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2381 = LA(4);
                                        if ( (LA344_2381 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4912 = LA(5);
                                                if ( (LA344_4912 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4912 >= ASCII_SYMBOL) && (LA344_4912 <= YEAR_SYMBOL)) || LA344_4912 == BACK_TICK_QUOTED_ID || LA344_4912 == DOUBLE_QUOTED_TEXT || LA344_4912 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4912;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2381 == EOF || ((LA344_2381 >= ASCII_SYMBOL) && (LA344_2381 <= YEAR_SYMBOL)) || LA344_2381 == AND_SYMBOL || LA344_2381 == AS_SYMBOL || LA344_2381 == BACK_TICK_QUOTED_ID || LA344_2381 == BETWEEN_SYMBOL || LA344_2381 == BITWISE_AND_OPERATOR || ((LA344_2381 >= BITWISE_OR_OPERATOR) && (LA344_2381 <= BITWISE_XOR_OPERATOR)) || ((LA344_2381 >= CLOSE_CURLY_SYMBOL) && (LA344_2381 <= COLLATE_SYMBOL)) || LA344_2381 == COMMA_SYMBOL || LA344_2381 == CONCAT_PIPES_SYMBOL || LA344_2381 == CROSS_SYMBOL || ((LA344_2381 >= DIV_OPERATOR) && (LA344_2381 <= DIV_SYMBOL)) || LA344_2381 == DOUBLE_QUOTED_TEXT || LA344_2381 == EQUAL_OPERATOR || LA344_2381 == FOR_SYMBOL || LA344_2381 == FROM_SYMBOL || ((LA344_2381 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2381 <= GREATER_THAN_OPERATOR)) || ((LA344_2381 >= GROUP_SYMBOL) && (LA344_2381 <= HAVING_SYMBOL)) || LA344_2381 == IDENTIFIER || LA344_2381 == INNER_SYMBOL || LA344_2381 == INTO_SYMBOL || LA344_2381 == IN_SYMBOL || LA344_2381 == IS_SYMBOL || LA344_2381 == JOIN_SYMBOL || ((LA344_2381 >= LEFT_SYMBOL) && (LA344_2381 <= LESS_THAN_OPERATOR)) || ((LA344_2381 >= LIKE_SYMBOL) && (LA344_2381 <= LIMIT_SYMBOL)) || LA344_2381 == LOCK_SYMBOL || LA344_2381 == LOGICAL_AND_OPERATOR || LA344_2381 == LOGICAL_OR_OPERATOR || LA344_2381 == MINUS_OPERATOR || ((LA344_2381 >= MOD_OPERATOR) && (LA344_2381 <= MOD_SYMBOL)) || ((LA344_2381 >= MULT_OPERATOR) && (LA344_2381 <= NATURAL_SYMBOL)) || ((LA344_2381 >= NOT_EQUAL2_OPERATOR) && (LA344_2381 <= NOT_SYMBOL)) || LA344_2381 == NULL_SAFE_EQUAL_OPERATOR || LA344_2381 == ON_SYMBOL || LA344_2381 == OPEN_PAR_SYMBOL || ((LA344_2381 >= ORDER_SYMBOL) && (LA344_2381 <= OR_SYMBOL)) || LA344_2381 == PLUS_OPERATOR || LA344_2381 == PROCEDURE_SYMBOL || LA344_2381 == REGEXP_SYMBOL || LA344_2381 == RIGHT_SYMBOL || LA344_2381 == SEMICOLON_SYMBOL || LA344_2381 == SET_SYMBOL || ((LA344_2381 >= SHIFT_LEFT_OPERATOR) && (LA344_2381 <= SHIFT_RIGHT_OPERATOR)) || LA344_2381 == SINGLE_QUOTED_TEXT || LA344_2381 == STRAIGHT_JOIN_SYMBOL || LA344_2381 == UNION_SYMBOL || LA344_2381 == USING_SYMBOL || LA344_2381 == WHERE_SYMBOL || LA344_2381 == WITH_SYMBOL || LA344_2381 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2381;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 527;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 23;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == MINUTE_SYMBOL))
                {
                    {
                        int LA344_24 = LA(2);
                        if ( (LA344_24 == EOF || ((LA344_24 >= ASCII_SYMBOL) && (LA344_24 <= YEAR_SYMBOL)) || LA344_24 == AND_SYMBOL || LA344_24 == AS_SYMBOL || LA344_24 == BACK_TICK_QUOTED_ID || LA344_24 == BETWEEN_SYMBOL || LA344_24 == BITWISE_AND_OPERATOR || ((LA344_24 >= BITWISE_OR_OPERATOR) && (LA344_24 <= BITWISE_XOR_OPERATOR)) || ((LA344_24 >= CLOSE_CURLY_SYMBOL) && (LA344_24 <= COLLATE_SYMBOL)) || LA344_24 == COMMA_SYMBOL || LA344_24 == CONCAT_PIPES_SYMBOL || LA344_24 == CROSS_SYMBOL || ((LA344_24 >= DIV_OPERATOR) && (LA344_24 <= DIV_SYMBOL)) || LA344_24 == DOUBLE_QUOTED_TEXT || LA344_24 == EQUAL_OPERATOR || LA344_24 == FOR_SYMBOL || LA344_24 == FROM_SYMBOL || ((LA344_24 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_24 <= GREATER_THAN_OPERATOR)) || ((LA344_24 >= GROUP_SYMBOL) && (LA344_24 <= HAVING_SYMBOL)) || LA344_24 == IDENTIFIER || LA344_24 == INNER_SYMBOL || LA344_24 == INTO_SYMBOL || LA344_24 == IN_SYMBOL || LA344_24 == IS_SYMBOL || LA344_24 == JOIN_SYMBOL || ((LA344_24 >= LEFT_SYMBOL) && (LA344_24 <= LESS_THAN_OPERATOR)) || ((LA344_24 >= LIKE_SYMBOL) && (LA344_24 <= LIMIT_SYMBOL)) || LA344_24 == LOCK_SYMBOL || LA344_24 == LOGICAL_AND_OPERATOR || LA344_24 == LOGICAL_OR_OPERATOR || LA344_24 == MINUS_OPERATOR || ((LA344_24 >= MOD_OPERATOR) && (LA344_24 <= MOD_SYMBOL)) || ((LA344_24 >= MULT_OPERATOR) && (LA344_24 <= NATURAL_SYMBOL)) || ((LA344_24 >= NOT_EQUAL2_OPERATOR) && (LA344_24 <= NOT_SYMBOL)) || LA344_24 == NULL_SAFE_EQUAL_OPERATOR || LA344_24 == ON_SYMBOL || LA344_24 == OPEN_PAR_SYMBOL || ((LA344_24 >= ORDER_SYMBOL) && (LA344_24 <= OR_SYMBOL)) || LA344_24 == PLUS_OPERATOR || LA344_24 == PROCEDURE_SYMBOL || LA344_24 == REGEXP_SYMBOL || LA344_24 == RIGHT_SYMBOL || LA344_24 == SEMICOLON_SYMBOL || LA344_24 == SET_SYMBOL || ((LA344_24 >= SHIFT_LEFT_OPERATOR) && (LA344_24 <= SHIFT_RIGHT_OPERATOR)) || LA344_24 == SINGLE_QUOTED_TEXT || LA344_24 == STRAIGHT_JOIN_SYMBOL || LA344_24 == UNION_SYMBOL || LA344_24 == USING_SYMBOL || LA344_24 == WHERE_SYMBOL || LA344_24 == WITH_SYMBOL || LA344_24 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_24 == DOT_SYMBOL))
                        {
                            {
                                int LA344_580 = LA(3);
                                if ( (LA344_580 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_580 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2383 = LA(4);
                                        if ( (LA344_2383 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_4965 = LA(5);
                                                if ( (LA344_4965 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_4965 >= ASCII_SYMBOL) && (LA344_4965 <= YEAR_SYMBOL)) || LA344_4965 == BACK_TICK_QUOTED_ID || LA344_4965 == DOUBLE_QUOTED_TEXT || LA344_4965 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 4965;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2383 == EOF || ((LA344_2383 >= ASCII_SYMBOL) && (LA344_2383 <= YEAR_SYMBOL)) || LA344_2383 == AND_SYMBOL || LA344_2383 == AS_SYMBOL || LA344_2383 == BACK_TICK_QUOTED_ID || LA344_2383 == BETWEEN_SYMBOL || LA344_2383 == BITWISE_AND_OPERATOR || ((LA344_2383 >= BITWISE_OR_OPERATOR) && (LA344_2383 <= BITWISE_XOR_OPERATOR)) || ((LA344_2383 >= CLOSE_CURLY_SYMBOL) && (LA344_2383 <= COLLATE_SYMBOL)) || LA344_2383 == COMMA_SYMBOL || LA344_2383 == CONCAT_PIPES_SYMBOL || LA344_2383 == CROSS_SYMBOL || ((LA344_2383 >= DIV_OPERATOR) && (LA344_2383 <= DIV_SYMBOL)) || LA344_2383 == DOUBLE_QUOTED_TEXT || LA344_2383 == EQUAL_OPERATOR || LA344_2383 == FOR_SYMBOL || LA344_2383 == FROM_SYMBOL || ((LA344_2383 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2383 <= GREATER_THAN_OPERATOR)) || ((LA344_2383 >= GROUP_SYMBOL) && (LA344_2383 <= HAVING_SYMBOL)) || LA344_2383 == IDENTIFIER || LA344_2383 == INNER_SYMBOL || LA344_2383 == INTO_SYMBOL || LA344_2383 == IN_SYMBOL || LA344_2383 == IS_SYMBOL || LA344_2383 == JOIN_SYMBOL || ((LA344_2383 >= LEFT_SYMBOL) && (LA344_2383 <= LESS_THAN_OPERATOR)) || ((LA344_2383 >= LIKE_SYMBOL) && (LA344_2383 <= LIMIT_SYMBOL)) || LA344_2383 == LOCK_SYMBOL || LA344_2383 == LOGICAL_AND_OPERATOR || LA344_2383 == LOGICAL_OR_OPERATOR || LA344_2383 == MINUS_OPERATOR || ((LA344_2383 >= MOD_OPERATOR) && (LA344_2383 <= MOD_SYMBOL)) || ((LA344_2383 >= MULT_OPERATOR) && (LA344_2383 <= NATURAL_SYMBOL)) || ((LA344_2383 >= NOT_EQUAL2_OPERATOR) && (LA344_2383 <= NOT_SYMBOL)) || LA344_2383 == NULL_SAFE_EQUAL_OPERATOR || LA344_2383 == ON_SYMBOL || LA344_2383 == OPEN_PAR_SYMBOL || ((LA344_2383 >= ORDER_SYMBOL) && (LA344_2383 <= OR_SYMBOL)) || LA344_2383 == PLUS_OPERATOR || LA344_2383 == PROCEDURE_SYMBOL || LA344_2383 == REGEXP_SYMBOL || LA344_2383 == RIGHT_SYMBOL || LA344_2383 == SEMICOLON_SYMBOL || LA344_2383 == SET_SYMBOL || ((LA344_2383 >= SHIFT_LEFT_OPERATOR) && (LA344_2383 <= SHIFT_RIGHT_OPERATOR)) || LA344_2383 == SINGLE_QUOTED_TEXT || LA344_2383 == STRAIGHT_JOIN_SYMBOL || LA344_2383 == UNION_SYMBOL || LA344_2383 == USING_SYMBOL || LA344_2383 == WHERE_SYMBOL || LA344_2383 == WITH_SYMBOL || LA344_2383 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2383;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_580 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2384 = LA(4);
                                        if ( (LA344_2384 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5018 = LA(5);
                                                if ( (LA344_5018 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5018 >= ASCII_SYMBOL) && (LA344_5018 <= YEAR_SYMBOL)) || LA344_5018 == BACK_TICK_QUOTED_ID || LA344_5018 == DOUBLE_QUOTED_TEXT || LA344_5018 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5018;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2384 == EOF || ((LA344_2384 >= ASCII_SYMBOL) && (LA344_2384 <= YEAR_SYMBOL)) || LA344_2384 == AND_SYMBOL || LA344_2384 == AS_SYMBOL || LA344_2384 == BACK_TICK_QUOTED_ID || LA344_2384 == BETWEEN_SYMBOL || LA344_2384 == BITWISE_AND_OPERATOR || ((LA344_2384 >= BITWISE_OR_OPERATOR) && (LA344_2384 <= BITWISE_XOR_OPERATOR)) || ((LA344_2384 >= CLOSE_CURLY_SYMBOL) && (LA344_2384 <= COLLATE_SYMBOL)) || LA344_2384 == COMMA_SYMBOL || LA344_2384 == CONCAT_PIPES_SYMBOL || LA344_2384 == CROSS_SYMBOL || ((LA344_2384 >= DIV_OPERATOR) && (LA344_2384 <= DIV_SYMBOL)) || LA344_2384 == DOUBLE_QUOTED_TEXT || LA344_2384 == EQUAL_OPERATOR || LA344_2384 == FOR_SYMBOL || LA344_2384 == FROM_SYMBOL || ((LA344_2384 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2384 <= GREATER_THAN_OPERATOR)) || ((LA344_2384 >= GROUP_SYMBOL) && (LA344_2384 <= HAVING_SYMBOL)) || LA344_2384 == IDENTIFIER || LA344_2384 == INNER_SYMBOL || LA344_2384 == INTO_SYMBOL || LA344_2384 == IN_SYMBOL || LA344_2384 == IS_SYMBOL || LA344_2384 == JOIN_SYMBOL || ((LA344_2384 >= LEFT_SYMBOL) && (LA344_2384 <= LESS_THAN_OPERATOR)) || ((LA344_2384 >= LIKE_SYMBOL) && (LA344_2384 <= LIMIT_SYMBOL)) || LA344_2384 == LOCK_SYMBOL || LA344_2384 == LOGICAL_AND_OPERATOR || LA344_2384 == LOGICAL_OR_OPERATOR || LA344_2384 == MINUS_OPERATOR || ((LA344_2384 >= MOD_OPERATOR) && (LA344_2384 <= MOD_SYMBOL)) || ((LA344_2384 >= MULT_OPERATOR) && (LA344_2384 <= NATURAL_SYMBOL)) || ((LA344_2384 >= NOT_EQUAL2_OPERATOR) && (LA344_2384 <= NOT_SYMBOL)) || LA344_2384 == NULL_SAFE_EQUAL_OPERATOR || LA344_2384 == ON_SYMBOL || LA344_2384 == OPEN_PAR_SYMBOL || ((LA344_2384 >= ORDER_SYMBOL) && (LA344_2384 <= OR_SYMBOL)) || LA344_2384 == PLUS_OPERATOR || LA344_2384 == PROCEDURE_SYMBOL || LA344_2384 == REGEXP_SYMBOL || LA344_2384 == RIGHT_SYMBOL || LA344_2384 == SEMICOLON_SYMBOL || LA344_2384 == SET_SYMBOL || ((LA344_2384 >= SHIFT_LEFT_OPERATOR) && (LA344_2384 <= SHIFT_RIGHT_OPERATOR)) || LA344_2384 == SINGLE_QUOTED_TEXT || LA344_2384 == STRAIGHT_JOIN_SYMBOL || LA344_2384 == UNION_SYMBOL || LA344_2384 == USING_SYMBOL || LA344_2384 == WHERE_SYMBOL || LA344_2384 == WITH_SYMBOL || LA344_2384 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2384;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_580 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2385 = LA(4);
                                        if ( (LA344_2385 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5071 = LA(5);
                                                if ( (LA344_5071 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5071 >= ASCII_SYMBOL) && (LA344_5071 <= YEAR_SYMBOL)) || LA344_5071 == BACK_TICK_QUOTED_ID || LA344_5071 == DOUBLE_QUOTED_TEXT || LA344_5071 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5071;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2385 == EOF || ((LA344_2385 >= ASCII_SYMBOL) && (LA344_2385 <= YEAR_SYMBOL)) || LA344_2385 == AND_SYMBOL || LA344_2385 == AS_SYMBOL || LA344_2385 == BACK_TICK_QUOTED_ID || LA344_2385 == BETWEEN_SYMBOL || LA344_2385 == BITWISE_AND_OPERATOR || ((LA344_2385 >= BITWISE_OR_OPERATOR) && (LA344_2385 <= BITWISE_XOR_OPERATOR)) || ((LA344_2385 >= CLOSE_CURLY_SYMBOL) && (LA344_2385 <= COLLATE_SYMBOL)) || LA344_2385 == COMMA_SYMBOL || LA344_2385 == CONCAT_PIPES_SYMBOL || LA344_2385 == CROSS_SYMBOL || ((LA344_2385 >= DIV_OPERATOR) && (LA344_2385 <= DIV_SYMBOL)) || LA344_2385 == DOUBLE_QUOTED_TEXT || LA344_2385 == EQUAL_OPERATOR || LA344_2385 == FOR_SYMBOL || LA344_2385 == FROM_SYMBOL || ((LA344_2385 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2385 <= GREATER_THAN_OPERATOR)) || ((LA344_2385 >= GROUP_SYMBOL) && (LA344_2385 <= HAVING_SYMBOL)) || LA344_2385 == IDENTIFIER || LA344_2385 == INNER_SYMBOL || LA344_2385 == INTO_SYMBOL || LA344_2385 == IN_SYMBOL || LA344_2385 == IS_SYMBOL || LA344_2385 == JOIN_SYMBOL || ((LA344_2385 >= LEFT_SYMBOL) && (LA344_2385 <= LESS_THAN_OPERATOR)) || ((LA344_2385 >= LIKE_SYMBOL) && (LA344_2385 <= LIMIT_SYMBOL)) || LA344_2385 == LOCK_SYMBOL || LA344_2385 == LOGICAL_AND_OPERATOR || LA344_2385 == LOGICAL_OR_OPERATOR || LA344_2385 == MINUS_OPERATOR || ((LA344_2385 >= MOD_OPERATOR) && (LA344_2385 <= MOD_SYMBOL)) || ((LA344_2385 >= MULT_OPERATOR) && (LA344_2385 <= NATURAL_SYMBOL)) || ((LA344_2385 >= NOT_EQUAL2_OPERATOR) && (LA344_2385 <= NOT_SYMBOL)) || LA344_2385 == NULL_SAFE_EQUAL_OPERATOR || LA344_2385 == ON_SYMBOL || LA344_2385 == OPEN_PAR_SYMBOL || ((LA344_2385 >= ORDER_SYMBOL) && (LA344_2385 <= OR_SYMBOL)) || LA344_2385 == PLUS_OPERATOR || LA344_2385 == PROCEDURE_SYMBOL || LA344_2385 == REGEXP_SYMBOL || LA344_2385 == RIGHT_SYMBOL || LA344_2385 == SEMICOLON_SYMBOL || LA344_2385 == SET_SYMBOL || ((LA344_2385 >= SHIFT_LEFT_OPERATOR) && (LA344_2385 <= SHIFT_RIGHT_OPERATOR)) || LA344_2385 == SINGLE_QUOTED_TEXT || LA344_2385 == STRAIGHT_JOIN_SYMBOL || LA344_2385 == UNION_SYMBOL || LA344_2385 == USING_SYMBOL || LA344_2385 == WHERE_SYMBOL || LA344_2385 == WITH_SYMBOL || LA344_2385 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2385;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_580 >= ACTION_SYMBOL) && (LA344_580 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2386 = LA(4);
                                        if ( (LA344_2386 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5124 = LA(5);
                                                if ( (LA344_5124 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5124 >= ASCII_SYMBOL) && (LA344_5124 <= YEAR_SYMBOL)) || LA344_5124 == BACK_TICK_QUOTED_ID || LA344_5124 == DOUBLE_QUOTED_TEXT || LA344_5124 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5124;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2386 == EOF || ((LA344_2386 >= ASCII_SYMBOL) && (LA344_2386 <= YEAR_SYMBOL)) || LA344_2386 == AND_SYMBOL || LA344_2386 == AS_SYMBOL || LA344_2386 == BACK_TICK_QUOTED_ID || LA344_2386 == BETWEEN_SYMBOL || LA344_2386 == BITWISE_AND_OPERATOR || ((LA344_2386 >= BITWISE_OR_OPERATOR) && (LA344_2386 <= BITWISE_XOR_OPERATOR)) || ((LA344_2386 >= CLOSE_CURLY_SYMBOL) && (LA344_2386 <= COLLATE_SYMBOL)) || LA344_2386 == COMMA_SYMBOL || LA344_2386 == CONCAT_PIPES_SYMBOL || LA344_2386 == CROSS_SYMBOL || ((LA344_2386 >= DIV_OPERATOR) && (LA344_2386 <= DIV_SYMBOL)) || LA344_2386 == DOUBLE_QUOTED_TEXT || LA344_2386 == EQUAL_OPERATOR || LA344_2386 == FOR_SYMBOL || LA344_2386 == FROM_SYMBOL || ((LA344_2386 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2386 <= GREATER_THAN_OPERATOR)) || ((LA344_2386 >= GROUP_SYMBOL) && (LA344_2386 <= HAVING_SYMBOL)) || LA344_2386 == IDENTIFIER || LA344_2386 == INNER_SYMBOL || LA344_2386 == INTO_SYMBOL || LA344_2386 == IN_SYMBOL || LA344_2386 == IS_SYMBOL || LA344_2386 == JOIN_SYMBOL || ((LA344_2386 >= LEFT_SYMBOL) && (LA344_2386 <= LESS_THAN_OPERATOR)) || ((LA344_2386 >= LIKE_SYMBOL) && (LA344_2386 <= LIMIT_SYMBOL)) || LA344_2386 == LOCK_SYMBOL || LA344_2386 == LOGICAL_AND_OPERATOR || LA344_2386 == LOGICAL_OR_OPERATOR || LA344_2386 == MINUS_OPERATOR || ((LA344_2386 >= MOD_OPERATOR) && (LA344_2386 <= MOD_SYMBOL)) || ((LA344_2386 >= MULT_OPERATOR) && (LA344_2386 <= NATURAL_SYMBOL)) || ((LA344_2386 >= NOT_EQUAL2_OPERATOR) && (LA344_2386 <= NOT_SYMBOL)) || LA344_2386 == NULL_SAFE_EQUAL_OPERATOR || LA344_2386 == ON_SYMBOL || LA344_2386 == OPEN_PAR_SYMBOL || ((LA344_2386 >= ORDER_SYMBOL) && (LA344_2386 <= OR_SYMBOL)) || LA344_2386 == PLUS_OPERATOR || LA344_2386 == PROCEDURE_SYMBOL || LA344_2386 == REGEXP_SYMBOL || LA344_2386 == RIGHT_SYMBOL || LA344_2386 == SEMICOLON_SYMBOL || LA344_2386 == SET_SYMBOL || ((LA344_2386 >= SHIFT_LEFT_OPERATOR) && (LA344_2386 <= SHIFT_RIGHT_OPERATOR)) || LA344_2386 == SINGLE_QUOTED_TEXT || LA344_2386 == STRAIGHT_JOIN_SYMBOL || LA344_2386 == UNION_SYMBOL || LA344_2386 == USING_SYMBOL || LA344_2386 == WHERE_SYMBOL || LA344_2386 == WITH_SYMBOL || LA344_2386 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2386;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_580 >= ASCII_SYMBOL) && (LA344_580 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2387 = LA(4);
                                        if ( (LA344_2387 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5177 = LA(5);
                                                if ( (LA344_5177 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5177 >= ASCII_SYMBOL) && (LA344_5177 <= YEAR_SYMBOL)) || LA344_5177 == BACK_TICK_QUOTED_ID || LA344_5177 == DOUBLE_QUOTED_TEXT || LA344_5177 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5177;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2387 == EOF || ((LA344_2387 >= ASCII_SYMBOL) && (LA344_2387 <= YEAR_SYMBOL)) || LA344_2387 == AND_SYMBOL || LA344_2387 == AS_SYMBOL || LA344_2387 == BACK_TICK_QUOTED_ID || LA344_2387 == BETWEEN_SYMBOL || LA344_2387 == BITWISE_AND_OPERATOR || ((LA344_2387 >= BITWISE_OR_OPERATOR) && (LA344_2387 <= BITWISE_XOR_OPERATOR)) || ((LA344_2387 >= CLOSE_CURLY_SYMBOL) && (LA344_2387 <= COLLATE_SYMBOL)) || LA344_2387 == COMMA_SYMBOL || LA344_2387 == CONCAT_PIPES_SYMBOL || LA344_2387 == CROSS_SYMBOL || ((LA344_2387 >= DIV_OPERATOR) && (LA344_2387 <= DIV_SYMBOL)) || LA344_2387 == DOUBLE_QUOTED_TEXT || LA344_2387 == EQUAL_OPERATOR || LA344_2387 == FOR_SYMBOL || LA344_2387 == FROM_SYMBOL || ((LA344_2387 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2387 <= GREATER_THAN_OPERATOR)) || ((LA344_2387 >= GROUP_SYMBOL) && (LA344_2387 <= HAVING_SYMBOL)) || LA344_2387 == IDENTIFIER || LA344_2387 == INNER_SYMBOL || LA344_2387 == INTO_SYMBOL || LA344_2387 == IN_SYMBOL || LA344_2387 == IS_SYMBOL || LA344_2387 == JOIN_SYMBOL || ((LA344_2387 >= LEFT_SYMBOL) && (LA344_2387 <= LESS_THAN_OPERATOR)) || ((LA344_2387 >= LIKE_SYMBOL) && (LA344_2387 <= LIMIT_SYMBOL)) || LA344_2387 == LOCK_SYMBOL || LA344_2387 == LOGICAL_AND_OPERATOR || LA344_2387 == LOGICAL_OR_OPERATOR || LA344_2387 == MINUS_OPERATOR || ((LA344_2387 >= MOD_OPERATOR) && (LA344_2387 <= MOD_SYMBOL)) || ((LA344_2387 >= MULT_OPERATOR) && (LA344_2387 <= NATURAL_SYMBOL)) || ((LA344_2387 >= NOT_EQUAL2_OPERATOR) && (LA344_2387 <= NOT_SYMBOL)) || LA344_2387 == NULL_SAFE_EQUAL_OPERATOR || LA344_2387 == ON_SYMBOL || LA344_2387 == OPEN_PAR_SYMBOL || ((LA344_2387 >= ORDER_SYMBOL) && (LA344_2387 <= OR_SYMBOL)) || LA344_2387 == PLUS_OPERATOR || LA344_2387 == PROCEDURE_SYMBOL || LA344_2387 == REGEXP_SYMBOL || LA344_2387 == RIGHT_SYMBOL || LA344_2387 == SEMICOLON_SYMBOL || LA344_2387 == SET_SYMBOL || ((LA344_2387 >= SHIFT_LEFT_OPERATOR) && (LA344_2387 <= SHIFT_RIGHT_OPERATOR)) || LA344_2387 == SINGLE_QUOTED_TEXT || LA344_2387 == STRAIGHT_JOIN_SYMBOL || LA344_2387 == UNION_SYMBOL || LA344_2387 == USING_SYMBOL || LA344_2387 == WHERE_SYMBOL || LA344_2387 == WITH_SYMBOL || LA344_2387 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2387;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 580;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 24;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == MONTH_SYMBOL))
                {
                    {
                        int LA344_27 = LA(2);
                        if ( (LA344_27 == EOF || ((LA344_27 >= ASCII_SYMBOL) && (LA344_27 <= YEAR_SYMBOL)) || LA344_27 == AND_SYMBOL || LA344_27 == AS_SYMBOL || LA344_27 == BACK_TICK_QUOTED_ID || LA344_27 == BETWEEN_SYMBOL || LA344_27 == BITWISE_AND_OPERATOR || ((LA344_27 >= BITWISE_OR_OPERATOR) && (LA344_27 <= BITWISE_XOR_OPERATOR)) || ((LA344_27 >= CLOSE_CURLY_SYMBOL) && (LA344_27 <= COLLATE_SYMBOL)) || LA344_27 == COMMA_SYMBOL || LA344_27 == CONCAT_PIPES_SYMBOL || LA344_27 == CROSS_SYMBOL || ((LA344_27 >= DIV_OPERATOR) && (LA344_27 <= DIV_SYMBOL)) || LA344_27 == DOUBLE_QUOTED_TEXT || LA344_27 == EQUAL_OPERATOR || LA344_27 == FOR_SYMBOL || LA344_27 == FROM_SYMBOL || ((LA344_27 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_27 <= GREATER_THAN_OPERATOR)) || ((LA344_27 >= GROUP_SYMBOL) && (LA344_27 <= HAVING_SYMBOL)) || LA344_27 == IDENTIFIER || LA344_27 == INNER_SYMBOL || LA344_27 == INTO_SYMBOL || LA344_27 == IN_SYMBOL || LA344_27 == IS_SYMBOL || LA344_27 == JOIN_SYMBOL || ((LA344_27 >= LEFT_SYMBOL) && (LA344_27 <= LESS_THAN_OPERATOR)) || ((LA344_27 >= LIKE_SYMBOL) && (LA344_27 <= LIMIT_SYMBOL)) || LA344_27 == LOCK_SYMBOL || LA344_27 == LOGICAL_AND_OPERATOR || LA344_27 == LOGICAL_OR_OPERATOR || LA344_27 == MINUS_OPERATOR || ((LA344_27 >= MOD_OPERATOR) && (LA344_27 <= MOD_SYMBOL)) || ((LA344_27 >= MULT_OPERATOR) && (LA344_27 <= NATURAL_SYMBOL)) || ((LA344_27 >= NOT_EQUAL2_OPERATOR) && (LA344_27 <= NOT_SYMBOL)) || LA344_27 == NULL_SAFE_EQUAL_OPERATOR || LA344_27 == ON_SYMBOL || LA344_27 == OPEN_PAR_SYMBOL || ((LA344_27 >= ORDER_SYMBOL) && (LA344_27 <= OR_SYMBOL)) || LA344_27 == PLUS_OPERATOR || LA344_27 == PROCEDURE_SYMBOL || LA344_27 == REGEXP_SYMBOL || LA344_27 == RIGHT_SYMBOL || LA344_27 == SEMICOLON_SYMBOL || LA344_27 == SET_SYMBOL || ((LA344_27 >= SHIFT_LEFT_OPERATOR) && (LA344_27 <= SHIFT_RIGHT_OPERATOR)) || LA344_27 == SINGLE_QUOTED_TEXT || LA344_27 == STRAIGHT_JOIN_SYMBOL || LA344_27 == UNION_SYMBOL || LA344_27 == USING_SYMBOL || LA344_27 == WHERE_SYMBOL || LA344_27 == WITH_SYMBOL || LA344_27 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_27 == DOT_SYMBOL))
                        {
                            {
                                int LA344_633 = LA(3);
                                if ( (LA344_633 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_633 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2389 = LA(4);
                                        if ( (LA344_2389 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5230 = LA(5);
                                                if ( (LA344_5230 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5230 >= ASCII_SYMBOL) && (LA344_5230 <= YEAR_SYMBOL)) || LA344_5230 == BACK_TICK_QUOTED_ID || LA344_5230 == DOUBLE_QUOTED_TEXT || LA344_5230 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5230;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2389 == EOF || ((LA344_2389 >= ASCII_SYMBOL) && (LA344_2389 <= YEAR_SYMBOL)) || LA344_2389 == AND_SYMBOL || LA344_2389 == AS_SYMBOL || LA344_2389 == BACK_TICK_QUOTED_ID || LA344_2389 == BETWEEN_SYMBOL || LA344_2389 == BITWISE_AND_OPERATOR || ((LA344_2389 >= BITWISE_OR_OPERATOR) && (LA344_2389 <= BITWISE_XOR_OPERATOR)) || ((LA344_2389 >= CLOSE_CURLY_SYMBOL) && (LA344_2389 <= COLLATE_SYMBOL)) || LA344_2389 == COMMA_SYMBOL || LA344_2389 == CONCAT_PIPES_SYMBOL || LA344_2389 == CROSS_SYMBOL || ((LA344_2389 >= DIV_OPERATOR) && (LA344_2389 <= DIV_SYMBOL)) || LA344_2389 == DOUBLE_QUOTED_TEXT || LA344_2389 == EQUAL_OPERATOR || LA344_2389 == FOR_SYMBOL || LA344_2389 == FROM_SYMBOL || ((LA344_2389 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2389 <= GREATER_THAN_OPERATOR)) || ((LA344_2389 >= GROUP_SYMBOL) && (LA344_2389 <= HAVING_SYMBOL)) || LA344_2389 == IDENTIFIER || LA344_2389 == INNER_SYMBOL || LA344_2389 == INTO_SYMBOL || LA344_2389 == IN_SYMBOL || LA344_2389 == IS_SYMBOL || LA344_2389 == JOIN_SYMBOL || ((LA344_2389 >= LEFT_SYMBOL) && (LA344_2389 <= LESS_THAN_OPERATOR)) || ((LA344_2389 >= LIKE_SYMBOL) && (LA344_2389 <= LIMIT_SYMBOL)) || LA344_2389 == LOCK_SYMBOL || LA344_2389 == LOGICAL_AND_OPERATOR || LA344_2389 == LOGICAL_OR_OPERATOR || LA344_2389 == MINUS_OPERATOR || ((LA344_2389 >= MOD_OPERATOR) && (LA344_2389 <= MOD_SYMBOL)) || ((LA344_2389 >= MULT_OPERATOR) && (LA344_2389 <= NATURAL_SYMBOL)) || ((LA344_2389 >= NOT_EQUAL2_OPERATOR) && (LA344_2389 <= NOT_SYMBOL)) || LA344_2389 == NULL_SAFE_EQUAL_OPERATOR || LA344_2389 == ON_SYMBOL || LA344_2389 == OPEN_PAR_SYMBOL || ((LA344_2389 >= ORDER_SYMBOL) && (LA344_2389 <= OR_SYMBOL)) || LA344_2389 == PLUS_OPERATOR || LA344_2389 == PROCEDURE_SYMBOL || LA344_2389 == REGEXP_SYMBOL || LA344_2389 == RIGHT_SYMBOL || LA344_2389 == SEMICOLON_SYMBOL || LA344_2389 == SET_SYMBOL || ((LA344_2389 >= SHIFT_LEFT_OPERATOR) && (LA344_2389 <= SHIFT_RIGHT_OPERATOR)) || LA344_2389 == SINGLE_QUOTED_TEXT || LA344_2389 == STRAIGHT_JOIN_SYMBOL || LA344_2389 == UNION_SYMBOL || LA344_2389 == USING_SYMBOL || LA344_2389 == WHERE_SYMBOL || LA344_2389 == WITH_SYMBOL || LA344_2389 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2389;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_633 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2390 = LA(4);
                                        if ( (LA344_2390 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5283 = LA(5);
                                                if ( (LA344_5283 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5283 >= ASCII_SYMBOL) && (LA344_5283 <= YEAR_SYMBOL)) || LA344_5283 == BACK_TICK_QUOTED_ID || LA344_5283 == DOUBLE_QUOTED_TEXT || LA344_5283 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5283;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2390 == EOF || ((LA344_2390 >= ASCII_SYMBOL) && (LA344_2390 <= YEAR_SYMBOL)) || LA344_2390 == AND_SYMBOL || LA344_2390 == AS_SYMBOL || LA344_2390 == BACK_TICK_QUOTED_ID || LA344_2390 == BETWEEN_SYMBOL || LA344_2390 == BITWISE_AND_OPERATOR || ((LA344_2390 >= BITWISE_OR_OPERATOR) && (LA344_2390 <= BITWISE_XOR_OPERATOR)) || ((LA344_2390 >= CLOSE_CURLY_SYMBOL) && (LA344_2390 <= COLLATE_SYMBOL)) || LA344_2390 == COMMA_SYMBOL || LA344_2390 == CONCAT_PIPES_SYMBOL || LA344_2390 == CROSS_SYMBOL || ((LA344_2390 >= DIV_OPERATOR) && (LA344_2390 <= DIV_SYMBOL)) || LA344_2390 == DOUBLE_QUOTED_TEXT || LA344_2390 == EQUAL_OPERATOR || LA344_2390 == FOR_SYMBOL || LA344_2390 == FROM_SYMBOL || ((LA344_2390 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2390 <= GREATER_THAN_OPERATOR)) || ((LA344_2390 >= GROUP_SYMBOL) && (LA344_2390 <= HAVING_SYMBOL)) || LA344_2390 == IDENTIFIER || LA344_2390 == INNER_SYMBOL || LA344_2390 == INTO_SYMBOL || LA344_2390 == IN_SYMBOL || LA344_2390 == IS_SYMBOL || LA344_2390 == JOIN_SYMBOL || ((LA344_2390 >= LEFT_SYMBOL) && (LA344_2390 <= LESS_THAN_OPERATOR)) || ((LA344_2390 >= LIKE_SYMBOL) && (LA344_2390 <= LIMIT_SYMBOL)) || LA344_2390 == LOCK_SYMBOL || LA344_2390 == LOGICAL_AND_OPERATOR || LA344_2390 == LOGICAL_OR_OPERATOR || LA344_2390 == MINUS_OPERATOR || ((LA344_2390 >= MOD_OPERATOR) && (LA344_2390 <= MOD_SYMBOL)) || ((LA344_2390 >= MULT_OPERATOR) && (LA344_2390 <= NATURAL_SYMBOL)) || ((LA344_2390 >= NOT_EQUAL2_OPERATOR) && (LA344_2390 <= NOT_SYMBOL)) || LA344_2390 == NULL_SAFE_EQUAL_OPERATOR || LA344_2390 == ON_SYMBOL || LA344_2390 == OPEN_PAR_SYMBOL || ((LA344_2390 >= ORDER_SYMBOL) && (LA344_2390 <= OR_SYMBOL)) || LA344_2390 == PLUS_OPERATOR || LA344_2390 == PROCEDURE_SYMBOL || LA344_2390 == REGEXP_SYMBOL || LA344_2390 == RIGHT_SYMBOL || LA344_2390 == SEMICOLON_SYMBOL || LA344_2390 == SET_SYMBOL || ((LA344_2390 >= SHIFT_LEFT_OPERATOR) && (LA344_2390 <= SHIFT_RIGHT_OPERATOR)) || LA344_2390 == SINGLE_QUOTED_TEXT || LA344_2390 == STRAIGHT_JOIN_SYMBOL || LA344_2390 == UNION_SYMBOL || LA344_2390 == USING_SYMBOL || LA344_2390 == WHERE_SYMBOL || LA344_2390 == WITH_SYMBOL || LA344_2390 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2390;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_633 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2391 = LA(4);
                                        if ( (LA344_2391 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5336 = LA(5);
                                                if ( (LA344_5336 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5336 >= ASCII_SYMBOL) && (LA344_5336 <= YEAR_SYMBOL)) || LA344_5336 == BACK_TICK_QUOTED_ID || LA344_5336 == DOUBLE_QUOTED_TEXT || LA344_5336 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5336;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2391 == EOF || ((LA344_2391 >= ASCII_SYMBOL) && (LA344_2391 <= YEAR_SYMBOL)) || LA344_2391 == AND_SYMBOL || LA344_2391 == AS_SYMBOL || LA344_2391 == BACK_TICK_QUOTED_ID || LA344_2391 == BETWEEN_SYMBOL || LA344_2391 == BITWISE_AND_OPERATOR || ((LA344_2391 >= BITWISE_OR_OPERATOR) && (LA344_2391 <= BITWISE_XOR_OPERATOR)) || ((LA344_2391 >= CLOSE_CURLY_SYMBOL) && (LA344_2391 <= COLLATE_SYMBOL)) || LA344_2391 == COMMA_SYMBOL || LA344_2391 == CONCAT_PIPES_SYMBOL || LA344_2391 == CROSS_SYMBOL || ((LA344_2391 >= DIV_OPERATOR) && (LA344_2391 <= DIV_SYMBOL)) || LA344_2391 == DOUBLE_QUOTED_TEXT || LA344_2391 == EQUAL_OPERATOR || LA344_2391 == FOR_SYMBOL || LA344_2391 == FROM_SYMBOL || ((LA344_2391 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2391 <= GREATER_THAN_OPERATOR)) || ((LA344_2391 >= GROUP_SYMBOL) && (LA344_2391 <= HAVING_SYMBOL)) || LA344_2391 == IDENTIFIER || LA344_2391 == INNER_SYMBOL || LA344_2391 == INTO_SYMBOL || LA344_2391 == IN_SYMBOL || LA344_2391 == IS_SYMBOL || LA344_2391 == JOIN_SYMBOL || ((LA344_2391 >= LEFT_SYMBOL) && (LA344_2391 <= LESS_THAN_OPERATOR)) || ((LA344_2391 >= LIKE_SYMBOL) && (LA344_2391 <= LIMIT_SYMBOL)) || LA344_2391 == LOCK_SYMBOL || LA344_2391 == LOGICAL_AND_OPERATOR || LA344_2391 == LOGICAL_OR_OPERATOR || LA344_2391 == MINUS_OPERATOR || ((LA344_2391 >= MOD_OPERATOR) && (LA344_2391 <= MOD_SYMBOL)) || ((LA344_2391 >= MULT_OPERATOR) && (LA344_2391 <= NATURAL_SYMBOL)) || ((LA344_2391 >= NOT_EQUAL2_OPERATOR) && (LA344_2391 <= NOT_SYMBOL)) || LA344_2391 == NULL_SAFE_EQUAL_OPERATOR || LA344_2391 == ON_SYMBOL || LA344_2391 == OPEN_PAR_SYMBOL || ((LA344_2391 >= ORDER_SYMBOL) && (LA344_2391 <= OR_SYMBOL)) || LA344_2391 == PLUS_OPERATOR || LA344_2391 == PROCEDURE_SYMBOL || LA344_2391 == REGEXP_SYMBOL || LA344_2391 == RIGHT_SYMBOL || LA344_2391 == SEMICOLON_SYMBOL || LA344_2391 == SET_SYMBOL || ((LA344_2391 >= SHIFT_LEFT_OPERATOR) && (LA344_2391 <= SHIFT_RIGHT_OPERATOR)) || LA344_2391 == SINGLE_QUOTED_TEXT || LA344_2391 == STRAIGHT_JOIN_SYMBOL || LA344_2391 == UNION_SYMBOL || LA344_2391 == USING_SYMBOL || LA344_2391 == WHERE_SYMBOL || LA344_2391 == WITH_SYMBOL || LA344_2391 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2391;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_633 >= ACTION_SYMBOL) && (LA344_633 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2392 = LA(4);
                                        if ( (LA344_2392 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5389 = LA(5);
                                                if ( (LA344_5389 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5389 >= ASCII_SYMBOL) && (LA344_5389 <= YEAR_SYMBOL)) || LA344_5389 == BACK_TICK_QUOTED_ID || LA344_5389 == DOUBLE_QUOTED_TEXT || LA344_5389 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5389;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2392 == EOF || ((LA344_2392 >= ASCII_SYMBOL) && (LA344_2392 <= YEAR_SYMBOL)) || LA344_2392 == AND_SYMBOL || LA344_2392 == AS_SYMBOL || LA344_2392 == BACK_TICK_QUOTED_ID || LA344_2392 == BETWEEN_SYMBOL || LA344_2392 == BITWISE_AND_OPERATOR || ((LA344_2392 >= BITWISE_OR_OPERATOR) && (LA344_2392 <= BITWISE_XOR_OPERATOR)) || ((LA344_2392 >= CLOSE_CURLY_SYMBOL) && (LA344_2392 <= COLLATE_SYMBOL)) || LA344_2392 == COMMA_SYMBOL || LA344_2392 == CONCAT_PIPES_SYMBOL || LA344_2392 == CROSS_SYMBOL || ((LA344_2392 >= DIV_OPERATOR) && (LA344_2392 <= DIV_SYMBOL)) || LA344_2392 == DOUBLE_QUOTED_TEXT || LA344_2392 == EQUAL_OPERATOR || LA344_2392 == FOR_SYMBOL || LA344_2392 == FROM_SYMBOL || ((LA344_2392 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2392 <= GREATER_THAN_OPERATOR)) || ((LA344_2392 >= GROUP_SYMBOL) && (LA344_2392 <= HAVING_SYMBOL)) || LA344_2392 == IDENTIFIER || LA344_2392 == INNER_SYMBOL || LA344_2392 == INTO_SYMBOL || LA344_2392 == IN_SYMBOL || LA344_2392 == IS_SYMBOL || LA344_2392 == JOIN_SYMBOL || ((LA344_2392 >= LEFT_SYMBOL) && (LA344_2392 <= LESS_THAN_OPERATOR)) || ((LA344_2392 >= LIKE_SYMBOL) && (LA344_2392 <= LIMIT_SYMBOL)) || LA344_2392 == LOCK_SYMBOL || LA344_2392 == LOGICAL_AND_OPERATOR || LA344_2392 == LOGICAL_OR_OPERATOR || LA344_2392 == MINUS_OPERATOR || ((LA344_2392 >= MOD_OPERATOR) && (LA344_2392 <= MOD_SYMBOL)) || ((LA344_2392 >= MULT_OPERATOR) && (LA344_2392 <= NATURAL_SYMBOL)) || ((LA344_2392 >= NOT_EQUAL2_OPERATOR) && (LA344_2392 <= NOT_SYMBOL)) || LA344_2392 == NULL_SAFE_EQUAL_OPERATOR || LA344_2392 == ON_SYMBOL || LA344_2392 == OPEN_PAR_SYMBOL || ((LA344_2392 >= ORDER_SYMBOL) && (LA344_2392 <= OR_SYMBOL)) || LA344_2392 == PLUS_OPERATOR || LA344_2392 == PROCEDURE_SYMBOL || LA344_2392 == REGEXP_SYMBOL || LA344_2392 == RIGHT_SYMBOL || LA344_2392 == SEMICOLON_SYMBOL || LA344_2392 == SET_SYMBOL || ((LA344_2392 >= SHIFT_LEFT_OPERATOR) && (LA344_2392 <= SHIFT_RIGHT_OPERATOR)) || LA344_2392 == SINGLE_QUOTED_TEXT || LA344_2392 == STRAIGHT_JOIN_SYMBOL || LA344_2392 == UNION_SYMBOL || LA344_2392 == USING_SYMBOL || LA344_2392 == WHERE_SYMBOL || LA344_2392 == WITH_SYMBOL || LA344_2392 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2392;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_633 >= ASCII_SYMBOL) && (LA344_633 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2393 = LA(4);
                                        if ( (LA344_2393 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5442 = LA(5);
                                                if ( (LA344_5442 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5442 >= ASCII_SYMBOL) && (LA344_5442 <= YEAR_SYMBOL)) || LA344_5442 == BACK_TICK_QUOTED_ID || LA344_5442 == DOUBLE_QUOTED_TEXT || LA344_5442 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5442;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2393 == EOF || ((LA344_2393 >= ASCII_SYMBOL) && (LA344_2393 <= YEAR_SYMBOL)) || LA344_2393 == AND_SYMBOL || LA344_2393 == AS_SYMBOL || LA344_2393 == BACK_TICK_QUOTED_ID || LA344_2393 == BETWEEN_SYMBOL || LA344_2393 == BITWISE_AND_OPERATOR || ((LA344_2393 >= BITWISE_OR_OPERATOR) && (LA344_2393 <= BITWISE_XOR_OPERATOR)) || ((LA344_2393 >= CLOSE_CURLY_SYMBOL) && (LA344_2393 <= COLLATE_SYMBOL)) || LA344_2393 == COMMA_SYMBOL || LA344_2393 == CONCAT_PIPES_SYMBOL || LA344_2393 == CROSS_SYMBOL || ((LA344_2393 >= DIV_OPERATOR) && (LA344_2393 <= DIV_SYMBOL)) || LA344_2393 == DOUBLE_QUOTED_TEXT || LA344_2393 == EQUAL_OPERATOR || LA344_2393 == FOR_SYMBOL || LA344_2393 == FROM_SYMBOL || ((LA344_2393 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2393 <= GREATER_THAN_OPERATOR)) || ((LA344_2393 >= GROUP_SYMBOL) && (LA344_2393 <= HAVING_SYMBOL)) || LA344_2393 == IDENTIFIER || LA344_2393 == INNER_SYMBOL || LA344_2393 == INTO_SYMBOL || LA344_2393 == IN_SYMBOL || LA344_2393 == IS_SYMBOL || LA344_2393 == JOIN_SYMBOL || ((LA344_2393 >= LEFT_SYMBOL) && (LA344_2393 <= LESS_THAN_OPERATOR)) || ((LA344_2393 >= LIKE_SYMBOL) && (LA344_2393 <= LIMIT_SYMBOL)) || LA344_2393 == LOCK_SYMBOL || LA344_2393 == LOGICAL_AND_OPERATOR || LA344_2393 == LOGICAL_OR_OPERATOR || LA344_2393 == MINUS_OPERATOR || ((LA344_2393 >= MOD_OPERATOR) && (LA344_2393 <= MOD_SYMBOL)) || ((LA344_2393 >= MULT_OPERATOR) && (LA344_2393 <= NATURAL_SYMBOL)) || ((LA344_2393 >= NOT_EQUAL2_OPERATOR) && (LA344_2393 <= NOT_SYMBOL)) || LA344_2393 == NULL_SAFE_EQUAL_OPERATOR || LA344_2393 == ON_SYMBOL || LA344_2393 == OPEN_PAR_SYMBOL || ((LA344_2393 >= ORDER_SYMBOL) && (LA344_2393 <= OR_SYMBOL)) || LA344_2393 == PLUS_OPERATOR || LA344_2393 == PROCEDURE_SYMBOL || LA344_2393 == REGEXP_SYMBOL || LA344_2393 == RIGHT_SYMBOL || LA344_2393 == SEMICOLON_SYMBOL || LA344_2393 == SET_SYMBOL || ((LA344_2393 >= SHIFT_LEFT_OPERATOR) && (LA344_2393 <= SHIFT_RIGHT_OPERATOR)) || LA344_2393 == SINGLE_QUOTED_TEXT || LA344_2393 == STRAIGHT_JOIN_SYMBOL || LA344_2393 == UNION_SYMBOL || LA344_2393 == USING_SYMBOL || LA344_2393 == WHERE_SYMBOL || LA344_2393 == WITH_SYMBOL || LA344_2393 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2393;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 633;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 27;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == SECOND_SYMBOL))
                {
                    {
                        int LA344_28 = LA(2);
                        if ( (LA344_28 == EOF || ((LA344_28 >= ASCII_SYMBOL) && (LA344_28 <= YEAR_SYMBOL)) || LA344_28 == AND_SYMBOL || LA344_28 == AS_SYMBOL || LA344_28 == BACK_TICK_QUOTED_ID || LA344_28 == BETWEEN_SYMBOL || LA344_28 == BITWISE_AND_OPERATOR || ((LA344_28 >= BITWISE_OR_OPERATOR) && (LA344_28 <= BITWISE_XOR_OPERATOR)) || ((LA344_28 >= CLOSE_CURLY_SYMBOL) && (LA344_28 <= COLLATE_SYMBOL)) || LA344_28 == COMMA_SYMBOL || LA344_28 == CONCAT_PIPES_SYMBOL || LA344_28 == CROSS_SYMBOL || ((LA344_28 >= DIV_OPERATOR) && (LA344_28 <= DIV_SYMBOL)) || LA344_28 == DOUBLE_QUOTED_TEXT || LA344_28 == EQUAL_OPERATOR || LA344_28 == FOR_SYMBOL || LA344_28 == FROM_SYMBOL || ((LA344_28 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_28 <= GREATER_THAN_OPERATOR)) || ((LA344_28 >= GROUP_SYMBOL) && (LA344_28 <= HAVING_SYMBOL)) || LA344_28 == IDENTIFIER || LA344_28 == INNER_SYMBOL || LA344_28 == INTO_SYMBOL || LA344_28 == IN_SYMBOL || LA344_28 == IS_SYMBOL || LA344_28 == JOIN_SYMBOL || ((LA344_28 >= LEFT_SYMBOL) && (LA344_28 <= LESS_THAN_OPERATOR)) || ((LA344_28 >= LIKE_SYMBOL) && (LA344_28 <= LIMIT_SYMBOL)) || LA344_28 == LOCK_SYMBOL || LA344_28 == LOGICAL_AND_OPERATOR || LA344_28 == LOGICAL_OR_OPERATOR || LA344_28 == MINUS_OPERATOR || ((LA344_28 >= MOD_OPERATOR) && (LA344_28 <= MOD_SYMBOL)) || ((LA344_28 >= MULT_OPERATOR) && (LA344_28 <= NATURAL_SYMBOL)) || ((LA344_28 >= NOT_EQUAL2_OPERATOR) && (LA344_28 <= NOT_SYMBOL)) || LA344_28 == NULL_SAFE_EQUAL_OPERATOR || LA344_28 == ON_SYMBOL || LA344_28 == OPEN_PAR_SYMBOL || ((LA344_28 >= ORDER_SYMBOL) && (LA344_28 <= OR_SYMBOL)) || LA344_28 == PLUS_OPERATOR || LA344_28 == PROCEDURE_SYMBOL || LA344_28 == REGEXP_SYMBOL || LA344_28 == RIGHT_SYMBOL || LA344_28 == SEMICOLON_SYMBOL || LA344_28 == SET_SYMBOL || ((LA344_28 >= SHIFT_LEFT_OPERATOR) && (LA344_28 <= SHIFT_RIGHT_OPERATOR)) || LA344_28 == SINGLE_QUOTED_TEXT || LA344_28 == STRAIGHT_JOIN_SYMBOL || LA344_28 == UNION_SYMBOL || LA344_28 == USING_SYMBOL || LA344_28 == WHERE_SYMBOL || LA344_28 == WITH_SYMBOL || LA344_28 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_28 == DOT_SYMBOL))
                        {
                            {
                                int LA344_686 = LA(3);
                                if ( (LA344_686 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_686 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2395 = LA(4);
                                        if ( (LA344_2395 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5495 = LA(5);
                                                if ( (LA344_5495 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5495 >= ASCII_SYMBOL) && (LA344_5495 <= YEAR_SYMBOL)) || LA344_5495 == BACK_TICK_QUOTED_ID || LA344_5495 == DOUBLE_QUOTED_TEXT || LA344_5495 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5495;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2395 == EOF || ((LA344_2395 >= ASCII_SYMBOL) && (LA344_2395 <= YEAR_SYMBOL)) || LA344_2395 == AND_SYMBOL || LA344_2395 == AS_SYMBOL || LA344_2395 == BACK_TICK_QUOTED_ID || LA344_2395 == BETWEEN_SYMBOL || LA344_2395 == BITWISE_AND_OPERATOR || ((LA344_2395 >= BITWISE_OR_OPERATOR) && (LA344_2395 <= BITWISE_XOR_OPERATOR)) || ((LA344_2395 >= CLOSE_CURLY_SYMBOL) && (LA344_2395 <= COLLATE_SYMBOL)) || LA344_2395 == COMMA_SYMBOL || LA344_2395 == CONCAT_PIPES_SYMBOL || LA344_2395 == CROSS_SYMBOL || ((LA344_2395 >= DIV_OPERATOR) && (LA344_2395 <= DIV_SYMBOL)) || LA344_2395 == DOUBLE_QUOTED_TEXT || LA344_2395 == EQUAL_OPERATOR || LA344_2395 == FOR_SYMBOL || LA344_2395 == FROM_SYMBOL || ((LA344_2395 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2395 <= GREATER_THAN_OPERATOR)) || ((LA344_2395 >= GROUP_SYMBOL) && (LA344_2395 <= HAVING_SYMBOL)) || LA344_2395 == IDENTIFIER || LA344_2395 == INNER_SYMBOL || LA344_2395 == INTO_SYMBOL || LA344_2395 == IN_SYMBOL || LA344_2395 == IS_SYMBOL || LA344_2395 == JOIN_SYMBOL || ((LA344_2395 >= LEFT_SYMBOL) && (LA344_2395 <= LESS_THAN_OPERATOR)) || ((LA344_2395 >= LIKE_SYMBOL) && (LA344_2395 <= LIMIT_SYMBOL)) || LA344_2395 == LOCK_SYMBOL || LA344_2395 == LOGICAL_AND_OPERATOR || LA344_2395 == LOGICAL_OR_OPERATOR || LA344_2395 == MINUS_OPERATOR || ((LA344_2395 >= MOD_OPERATOR) && (LA344_2395 <= MOD_SYMBOL)) || ((LA344_2395 >= MULT_OPERATOR) && (LA344_2395 <= NATURAL_SYMBOL)) || ((LA344_2395 >= NOT_EQUAL2_OPERATOR) && (LA344_2395 <= NOT_SYMBOL)) || LA344_2395 == NULL_SAFE_EQUAL_OPERATOR || LA344_2395 == ON_SYMBOL || LA344_2395 == OPEN_PAR_SYMBOL || ((LA344_2395 >= ORDER_SYMBOL) && (LA344_2395 <= OR_SYMBOL)) || LA344_2395 == PLUS_OPERATOR || LA344_2395 == PROCEDURE_SYMBOL || LA344_2395 == REGEXP_SYMBOL || LA344_2395 == RIGHT_SYMBOL || LA344_2395 == SEMICOLON_SYMBOL || LA344_2395 == SET_SYMBOL || ((LA344_2395 >= SHIFT_LEFT_OPERATOR) && (LA344_2395 <= SHIFT_RIGHT_OPERATOR)) || LA344_2395 == SINGLE_QUOTED_TEXT || LA344_2395 == STRAIGHT_JOIN_SYMBOL || LA344_2395 == UNION_SYMBOL || LA344_2395 == USING_SYMBOL || LA344_2395 == WHERE_SYMBOL || LA344_2395 == WITH_SYMBOL || LA344_2395 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2395;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_686 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2396 = LA(4);
                                        if ( (LA344_2396 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5548 = LA(5);
                                                if ( (LA344_5548 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5548 >= ASCII_SYMBOL) && (LA344_5548 <= YEAR_SYMBOL)) || LA344_5548 == BACK_TICK_QUOTED_ID || LA344_5548 == DOUBLE_QUOTED_TEXT || LA344_5548 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5548;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2396 == EOF || ((LA344_2396 >= ASCII_SYMBOL) && (LA344_2396 <= YEAR_SYMBOL)) || LA344_2396 == AND_SYMBOL || LA344_2396 == AS_SYMBOL || LA344_2396 == BACK_TICK_QUOTED_ID || LA344_2396 == BETWEEN_SYMBOL || LA344_2396 == BITWISE_AND_OPERATOR || ((LA344_2396 >= BITWISE_OR_OPERATOR) && (LA344_2396 <= BITWISE_XOR_OPERATOR)) || ((LA344_2396 >= CLOSE_CURLY_SYMBOL) && (LA344_2396 <= COLLATE_SYMBOL)) || LA344_2396 == COMMA_SYMBOL || LA344_2396 == CONCAT_PIPES_SYMBOL || LA344_2396 == CROSS_SYMBOL || ((LA344_2396 >= DIV_OPERATOR) && (LA344_2396 <= DIV_SYMBOL)) || LA344_2396 == DOUBLE_QUOTED_TEXT || LA344_2396 == EQUAL_OPERATOR || LA344_2396 == FOR_SYMBOL || LA344_2396 == FROM_SYMBOL || ((LA344_2396 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2396 <= GREATER_THAN_OPERATOR)) || ((LA344_2396 >= GROUP_SYMBOL) && (LA344_2396 <= HAVING_SYMBOL)) || LA344_2396 == IDENTIFIER || LA344_2396 == INNER_SYMBOL || LA344_2396 == INTO_SYMBOL || LA344_2396 == IN_SYMBOL || LA344_2396 == IS_SYMBOL || LA344_2396 == JOIN_SYMBOL || ((LA344_2396 >= LEFT_SYMBOL) && (LA344_2396 <= LESS_THAN_OPERATOR)) || ((LA344_2396 >= LIKE_SYMBOL) && (LA344_2396 <= LIMIT_SYMBOL)) || LA344_2396 == LOCK_SYMBOL || LA344_2396 == LOGICAL_AND_OPERATOR || LA344_2396 == LOGICAL_OR_OPERATOR || LA344_2396 == MINUS_OPERATOR || ((LA344_2396 >= MOD_OPERATOR) && (LA344_2396 <= MOD_SYMBOL)) || ((LA344_2396 >= MULT_OPERATOR) && (LA344_2396 <= NATURAL_SYMBOL)) || ((LA344_2396 >= NOT_EQUAL2_OPERATOR) && (LA344_2396 <= NOT_SYMBOL)) || LA344_2396 == NULL_SAFE_EQUAL_OPERATOR || LA344_2396 == ON_SYMBOL || LA344_2396 == OPEN_PAR_SYMBOL || ((LA344_2396 >= ORDER_SYMBOL) && (LA344_2396 <= OR_SYMBOL)) || LA344_2396 == PLUS_OPERATOR || LA344_2396 == PROCEDURE_SYMBOL || LA344_2396 == REGEXP_SYMBOL || LA344_2396 == RIGHT_SYMBOL || LA344_2396 == SEMICOLON_SYMBOL || LA344_2396 == SET_SYMBOL || ((LA344_2396 >= SHIFT_LEFT_OPERATOR) && (LA344_2396 <= SHIFT_RIGHT_OPERATOR)) || LA344_2396 == SINGLE_QUOTED_TEXT || LA344_2396 == STRAIGHT_JOIN_SYMBOL || LA344_2396 == UNION_SYMBOL || LA344_2396 == USING_SYMBOL || LA344_2396 == WHERE_SYMBOL || LA344_2396 == WITH_SYMBOL || LA344_2396 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2396;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_686 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2397 = LA(4);
                                        if ( (LA344_2397 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5601 = LA(5);
                                                if ( (LA344_5601 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5601 >= ASCII_SYMBOL) && (LA344_5601 <= YEAR_SYMBOL)) || LA344_5601 == BACK_TICK_QUOTED_ID || LA344_5601 == DOUBLE_QUOTED_TEXT || LA344_5601 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5601;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2397 == EOF || ((LA344_2397 >= ASCII_SYMBOL) && (LA344_2397 <= YEAR_SYMBOL)) || LA344_2397 == AND_SYMBOL || LA344_2397 == AS_SYMBOL || LA344_2397 == BACK_TICK_QUOTED_ID || LA344_2397 == BETWEEN_SYMBOL || LA344_2397 == BITWISE_AND_OPERATOR || ((LA344_2397 >= BITWISE_OR_OPERATOR) && (LA344_2397 <= BITWISE_XOR_OPERATOR)) || ((LA344_2397 >= CLOSE_CURLY_SYMBOL) && (LA344_2397 <= COLLATE_SYMBOL)) || LA344_2397 == COMMA_SYMBOL || LA344_2397 == CONCAT_PIPES_SYMBOL || LA344_2397 == CROSS_SYMBOL || ((LA344_2397 >= DIV_OPERATOR) && (LA344_2397 <= DIV_SYMBOL)) || LA344_2397 == DOUBLE_QUOTED_TEXT || LA344_2397 == EQUAL_OPERATOR || LA344_2397 == FOR_SYMBOL || LA344_2397 == FROM_SYMBOL || ((LA344_2397 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2397 <= GREATER_THAN_OPERATOR)) || ((LA344_2397 >= GROUP_SYMBOL) && (LA344_2397 <= HAVING_SYMBOL)) || LA344_2397 == IDENTIFIER || LA344_2397 == INNER_SYMBOL || LA344_2397 == INTO_SYMBOL || LA344_2397 == IN_SYMBOL || LA344_2397 == IS_SYMBOL || LA344_2397 == JOIN_SYMBOL || ((LA344_2397 >= LEFT_SYMBOL) && (LA344_2397 <= LESS_THAN_OPERATOR)) || ((LA344_2397 >= LIKE_SYMBOL) && (LA344_2397 <= LIMIT_SYMBOL)) || LA344_2397 == LOCK_SYMBOL || LA344_2397 == LOGICAL_AND_OPERATOR || LA344_2397 == LOGICAL_OR_OPERATOR || LA344_2397 == MINUS_OPERATOR || ((LA344_2397 >= MOD_OPERATOR) && (LA344_2397 <= MOD_SYMBOL)) || ((LA344_2397 >= MULT_OPERATOR) && (LA344_2397 <= NATURAL_SYMBOL)) || ((LA344_2397 >= NOT_EQUAL2_OPERATOR) && (LA344_2397 <= NOT_SYMBOL)) || LA344_2397 == NULL_SAFE_EQUAL_OPERATOR || LA344_2397 == ON_SYMBOL || LA344_2397 == OPEN_PAR_SYMBOL || ((LA344_2397 >= ORDER_SYMBOL) && (LA344_2397 <= OR_SYMBOL)) || LA344_2397 == PLUS_OPERATOR || LA344_2397 == PROCEDURE_SYMBOL || LA344_2397 == REGEXP_SYMBOL || LA344_2397 == RIGHT_SYMBOL || LA344_2397 == SEMICOLON_SYMBOL || LA344_2397 == SET_SYMBOL || ((LA344_2397 >= SHIFT_LEFT_OPERATOR) && (LA344_2397 <= SHIFT_RIGHT_OPERATOR)) || LA344_2397 == SINGLE_QUOTED_TEXT || LA344_2397 == STRAIGHT_JOIN_SYMBOL || LA344_2397 == UNION_SYMBOL || LA344_2397 == USING_SYMBOL || LA344_2397 == WHERE_SYMBOL || LA344_2397 == WITH_SYMBOL || LA344_2397 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2397;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_686 >= ACTION_SYMBOL) && (LA344_686 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2398 = LA(4);
                                        if ( (LA344_2398 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5654 = LA(5);
                                                if ( (LA344_5654 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5654 >= ASCII_SYMBOL) && (LA344_5654 <= YEAR_SYMBOL)) || LA344_5654 == BACK_TICK_QUOTED_ID || LA344_5654 == DOUBLE_QUOTED_TEXT || LA344_5654 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5654;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2398 == EOF || ((LA344_2398 >= ASCII_SYMBOL) && (LA344_2398 <= YEAR_SYMBOL)) || LA344_2398 == AND_SYMBOL || LA344_2398 == AS_SYMBOL || LA344_2398 == BACK_TICK_QUOTED_ID || LA344_2398 == BETWEEN_SYMBOL || LA344_2398 == BITWISE_AND_OPERATOR || ((LA344_2398 >= BITWISE_OR_OPERATOR) && (LA344_2398 <= BITWISE_XOR_OPERATOR)) || ((LA344_2398 >= CLOSE_CURLY_SYMBOL) && (LA344_2398 <= COLLATE_SYMBOL)) || LA344_2398 == COMMA_SYMBOL || LA344_2398 == CONCAT_PIPES_SYMBOL || LA344_2398 == CROSS_SYMBOL || ((LA344_2398 >= DIV_OPERATOR) && (LA344_2398 <= DIV_SYMBOL)) || LA344_2398 == DOUBLE_QUOTED_TEXT || LA344_2398 == EQUAL_OPERATOR || LA344_2398 == FOR_SYMBOL || LA344_2398 == FROM_SYMBOL || ((LA344_2398 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2398 <= GREATER_THAN_OPERATOR)) || ((LA344_2398 >= GROUP_SYMBOL) && (LA344_2398 <= HAVING_SYMBOL)) || LA344_2398 == IDENTIFIER || LA344_2398 == INNER_SYMBOL || LA344_2398 == INTO_SYMBOL || LA344_2398 == IN_SYMBOL || LA344_2398 == IS_SYMBOL || LA344_2398 == JOIN_SYMBOL || ((LA344_2398 >= LEFT_SYMBOL) && (LA344_2398 <= LESS_THAN_OPERATOR)) || ((LA344_2398 >= LIKE_SYMBOL) && (LA344_2398 <= LIMIT_SYMBOL)) || LA344_2398 == LOCK_SYMBOL || LA344_2398 == LOGICAL_AND_OPERATOR || LA344_2398 == LOGICAL_OR_OPERATOR || LA344_2398 == MINUS_OPERATOR || ((LA344_2398 >= MOD_OPERATOR) && (LA344_2398 <= MOD_SYMBOL)) || ((LA344_2398 >= MULT_OPERATOR) && (LA344_2398 <= NATURAL_SYMBOL)) || ((LA344_2398 >= NOT_EQUAL2_OPERATOR) && (LA344_2398 <= NOT_SYMBOL)) || LA344_2398 == NULL_SAFE_EQUAL_OPERATOR || LA344_2398 == ON_SYMBOL || LA344_2398 == OPEN_PAR_SYMBOL || ((LA344_2398 >= ORDER_SYMBOL) && (LA344_2398 <= OR_SYMBOL)) || LA344_2398 == PLUS_OPERATOR || LA344_2398 == PROCEDURE_SYMBOL || LA344_2398 == REGEXP_SYMBOL || LA344_2398 == RIGHT_SYMBOL || LA344_2398 == SEMICOLON_SYMBOL || LA344_2398 == SET_SYMBOL || ((LA344_2398 >= SHIFT_LEFT_OPERATOR) && (LA344_2398 <= SHIFT_RIGHT_OPERATOR)) || LA344_2398 == SINGLE_QUOTED_TEXT || LA344_2398 == STRAIGHT_JOIN_SYMBOL || LA344_2398 == UNION_SYMBOL || LA344_2398 == USING_SYMBOL || LA344_2398 == WHERE_SYMBOL || LA344_2398 == WITH_SYMBOL || LA344_2398 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2398;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_686 >= ASCII_SYMBOL) && (LA344_686 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2399 = LA(4);
                                        if ( (LA344_2399 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5707 = LA(5);
                                                if ( (LA344_5707 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5707 >= ASCII_SYMBOL) && (LA344_5707 <= YEAR_SYMBOL)) || LA344_5707 == BACK_TICK_QUOTED_ID || LA344_5707 == DOUBLE_QUOTED_TEXT || LA344_5707 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5707;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2399 == EOF || ((LA344_2399 >= ASCII_SYMBOL) && (LA344_2399 <= YEAR_SYMBOL)) || LA344_2399 == AND_SYMBOL || LA344_2399 == AS_SYMBOL || LA344_2399 == BACK_TICK_QUOTED_ID || LA344_2399 == BETWEEN_SYMBOL || LA344_2399 == BITWISE_AND_OPERATOR || ((LA344_2399 >= BITWISE_OR_OPERATOR) && (LA344_2399 <= BITWISE_XOR_OPERATOR)) || ((LA344_2399 >= CLOSE_CURLY_SYMBOL) && (LA344_2399 <= COLLATE_SYMBOL)) || LA344_2399 == COMMA_SYMBOL || LA344_2399 == CONCAT_PIPES_SYMBOL || LA344_2399 == CROSS_SYMBOL || ((LA344_2399 >= DIV_OPERATOR) && (LA344_2399 <= DIV_SYMBOL)) || LA344_2399 == DOUBLE_QUOTED_TEXT || LA344_2399 == EQUAL_OPERATOR || LA344_2399 == FOR_SYMBOL || LA344_2399 == FROM_SYMBOL || ((LA344_2399 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2399 <= GREATER_THAN_OPERATOR)) || ((LA344_2399 >= GROUP_SYMBOL) && (LA344_2399 <= HAVING_SYMBOL)) || LA344_2399 == IDENTIFIER || LA344_2399 == INNER_SYMBOL || LA344_2399 == INTO_SYMBOL || LA344_2399 == IN_SYMBOL || LA344_2399 == IS_SYMBOL || LA344_2399 == JOIN_SYMBOL || ((LA344_2399 >= LEFT_SYMBOL) && (LA344_2399 <= LESS_THAN_OPERATOR)) || ((LA344_2399 >= LIKE_SYMBOL) && (LA344_2399 <= LIMIT_SYMBOL)) || LA344_2399 == LOCK_SYMBOL || LA344_2399 == LOGICAL_AND_OPERATOR || LA344_2399 == LOGICAL_OR_OPERATOR || LA344_2399 == MINUS_OPERATOR || ((LA344_2399 >= MOD_OPERATOR) && (LA344_2399 <= MOD_SYMBOL)) || ((LA344_2399 >= MULT_OPERATOR) && (LA344_2399 <= NATURAL_SYMBOL)) || ((LA344_2399 >= NOT_EQUAL2_OPERATOR) && (LA344_2399 <= NOT_SYMBOL)) || LA344_2399 == NULL_SAFE_EQUAL_OPERATOR || LA344_2399 == ON_SYMBOL || LA344_2399 == OPEN_PAR_SYMBOL || ((LA344_2399 >= ORDER_SYMBOL) && (LA344_2399 <= OR_SYMBOL)) || LA344_2399 == PLUS_OPERATOR || LA344_2399 == PROCEDURE_SYMBOL || LA344_2399 == REGEXP_SYMBOL || LA344_2399 == RIGHT_SYMBOL || LA344_2399 == SEMICOLON_SYMBOL || LA344_2399 == SET_SYMBOL || ((LA344_2399 >= SHIFT_LEFT_OPERATOR) && (LA344_2399 <= SHIFT_RIGHT_OPERATOR)) || LA344_2399 == SINGLE_QUOTED_TEXT || LA344_2399 == STRAIGHT_JOIN_SYMBOL || LA344_2399 == UNION_SYMBOL || LA344_2399 == USING_SYMBOL || LA344_2399 == WHERE_SYMBOL || LA344_2399 == WITH_SYMBOL || LA344_2399 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2399;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 686;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 28;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == USER_SYMBOL))
                {
                    {
                        int LA344_30 = LA(2);
                        if ( (LA344_30 == DOT_SYMBOL))
                        {
                            {
                                int LA344_738 = LA(3);
                                if ( (LA344_738 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_738 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2401 = LA(4);
                                        if ( (LA344_2401 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5760 = LA(5);
                                                if ( (LA344_5760 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5760 >= ASCII_SYMBOL) && (LA344_5760 <= YEAR_SYMBOL)) || LA344_5760 == BACK_TICK_QUOTED_ID || LA344_5760 == DOUBLE_QUOTED_TEXT || LA344_5760 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5760;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2401 == EOF || ((LA344_2401 >= ASCII_SYMBOL) && (LA344_2401 <= YEAR_SYMBOL)) || LA344_2401 == AND_SYMBOL || LA344_2401 == AS_SYMBOL || LA344_2401 == BACK_TICK_QUOTED_ID || LA344_2401 == BETWEEN_SYMBOL || LA344_2401 == BITWISE_AND_OPERATOR || ((LA344_2401 >= BITWISE_OR_OPERATOR) && (LA344_2401 <= BITWISE_XOR_OPERATOR)) || ((LA344_2401 >= CLOSE_CURLY_SYMBOL) && (LA344_2401 <= COLLATE_SYMBOL)) || LA344_2401 == COMMA_SYMBOL || LA344_2401 == CONCAT_PIPES_SYMBOL || LA344_2401 == CROSS_SYMBOL || ((LA344_2401 >= DIV_OPERATOR) && (LA344_2401 <= DIV_SYMBOL)) || LA344_2401 == DOUBLE_QUOTED_TEXT || LA344_2401 == EQUAL_OPERATOR || LA344_2401 == FOR_SYMBOL || LA344_2401 == FROM_SYMBOL || ((LA344_2401 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2401 <= GREATER_THAN_OPERATOR)) || ((LA344_2401 >= GROUP_SYMBOL) && (LA344_2401 <= HAVING_SYMBOL)) || LA344_2401 == IDENTIFIER || LA344_2401 == INNER_SYMBOL || LA344_2401 == INTO_SYMBOL || LA344_2401 == IN_SYMBOL || LA344_2401 == IS_SYMBOL || LA344_2401 == JOIN_SYMBOL || ((LA344_2401 >= LEFT_SYMBOL) && (LA344_2401 <= LESS_THAN_OPERATOR)) || ((LA344_2401 >= LIKE_SYMBOL) && (LA344_2401 <= LIMIT_SYMBOL)) || LA344_2401 == LOCK_SYMBOL || LA344_2401 == LOGICAL_AND_OPERATOR || LA344_2401 == LOGICAL_OR_OPERATOR || LA344_2401 == MINUS_OPERATOR || ((LA344_2401 >= MOD_OPERATOR) && (LA344_2401 <= MOD_SYMBOL)) || ((LA344_2401 >= MULT_OPERATOR) && (LA344_2401 <= NATURAL_SYMBOL)) || ((LA344_2401 >= NOT_EQUAL2_OPERATOR) && (LA344_2401 <= NOT_SYMBOL)) || LA344_2401 == NULL_SAFE_EQUAL_OPERATOR || LA344_2401 == ON_SYMBOL || LA344_2401 == OPEN_PAR_SYMBOL || ((LA344_2401 >= ORDER_SYMBOL) && (LA344_2401 <= OR_SYMBOL)) || LA344_2401 == PLUS_OPERATOR || LA344_2401 == PROCEDURE_SYMBOL || LA344_2401 == REGEXP_SYMBOL || LA344_2401 == RIGHT_SYMBOL || LA344_2401 == SEMICOLON_SYMBOL || LA344_2401 == SET_SYMBOL || ((LA344_2401 >= SHIFT_LEFT_OPERATOR) && (LA344_2401 <= SHIFT_RIGHT_OPERATOR)) || LA344_2401 == SINGLE_QUOTED_TEXT || LA344_2401 == STRAIGHT_JOIN_SYMBOL || LA344_2401 == UNION_SYMBOL || LA344_2401 == USING_SYMBOL || LA344_2401 == WHERE_SYMBOL || LA344_2401 == WITH_SYMBOL || LA344_2401 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2401;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_738 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2402 = LA(4);
                                        if ( (LA344_2402 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5813 = LA(5);
                                                if ( (LA344_5813 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5813 >= ASCII_SYMBOL) && (LA344_5813 <= YEAR_SYMBOL)) || LA344_5813 == BACK_TICK_QUOTED_ID || LA344_5813 == DOUBLE_QUOTED_TEXT || LA344_5813 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5813;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2402 == EOF || ((LA344_2402 >= ASCII_SYMBOL) && (LA344_2402 <= YEAR_SYMBOL)) || LA344_2402 == AND_SYMBOL || LA344_2402 == AS_SYMBOL || LA344_2402 == BACK_TICK_QUOTED_ID || LA344_2402 == BETWEEN_SYMBOL || LA344_2402 == BITWISE_AND_OPERATOR || ((LA344_2402 >= BITWISE_OR_OPERATOR) && (LA344_2402 <= BITWISE_XOR_OPERATOR)) || ((LA344_2402 >= CLOSE_CURLY_SYMBOL) && (LA344_2402 <= COLLATE_SYMBOL)) || LA344_2402 == COMMA_SYMBOL || LA344_2402 == CONCAT_PIPES_SYMBOL || LA344_2402 == CROSS_SYMBOL || ((LA344_2402 >= DIV_OPERATOR) && (LA344_2402 <= DIV_SYMBOL)) || LA344_2402 == DOUBLE_QUOTED_TEXT || LA344_2402 == EQUAL_OPERATOR || LA344_2402 == FOR_SYMBOL || LA344_2402 == FROM_SYMBOL || ((LA344_2402 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2402 <= GREATER_THAN_OPERATOR)) || ((LA344_2402 >= GROUP_SYMBOL) && (LA344_2402 <= HAVING_SYMBOL)) || LA344_2402 == IDENTIFIER || LA344_2402 == INNER_SYMBOL || LA344_2402 == INTO_SYMBOL || LA344_2402 == IN_SYMBOL || LA344_2402 == IS_SYMBOL || LA344_2402 == JOIN_SYMBOL || ((LA344_2402 >= LEFT_SYMBOL) && (LA344_2402 <= LESS_THAN_OPERATOR)) || ((LA344_2402 >= LIKE_SYMBOL) && (LA344_2402 <= LIMIT_SYMBOL)) || LA344_2402 == LOCK_SYMBOL || LA344_2402 == LOGICAL_AND_OPERATOR || LA344_2402 == LOGICAL_OR_OPERATOR || LA344_2402 == MINUS_OPERATOR || ((LA344_2402 >= MOD_OPERATOR) && (LA344_2402 <= MOD_SYMBOL)) || ((LA344_2402 >= MULT_OPERATOR) && (LA344_2402 <= NATURAL_SYMBOL)) || ((LA344_2402 >= NOT_EQUAL2_OPERATOR) && (LA344_2402 <= NOT_SYMBOL)) || LA344_2402 == NULL_SAFE_EQUAL_OPERATOR || LA344_2402 == ON_SYMBOL || LA344_2402 == OPEN_PAR_SYMBOL || ((LA344_2402 >= ORDER_SYMBOL) && (LA344_2402 <= OR_SYMBOL)) || LA344_2402 == PLUS_OPERATOR || LA344_2402 == PROCEDURE_SYMBOL || LA344_2402 == REGEXP_SYMBOL || LA344_2402 == RIGHT_SYMBOL || LA344_2402 == SEMICOLON_SYMBOL || LA344_2402 == SET_SYMBOL || ((LA344_2402 >= SHIFT_LEFT_OPERATOR) && (LA344_2402 <= SHIFT_RIGHT_OPERATOR)) || LA344_2402 == SINGLE_QUOTED_TEXT || LA344_2402 == STRAIGHT_JOIN_SYMBOL || LA344_2402 == UNION_SYMBOL || LA344_2402 == USING_SYMBOL || LA344_2402 == WHERE_SYMBOL || LA344_2402 == WITH_SYMBOL || LA344_2402 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2402;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_738 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2403 = LA(4);
                                        if ( (LA344_2403 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5866 = LA(5);
                                                if ( (LA344_5866 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5866 >= ASCII_SYMBOL) && (LA344_5866 <= YEAR_SYMBOL)) || LA344_5866 == BACK_TICK_QUOTED_ID || LA344_5866 == DOUBLE_QUOTED_TEXT || LA344_5866 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5866;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2403 == EOF || ((LA344_2403 >= ASCII_SYMBOL) && (LA344_2403 <= YEAR_SYMBOL)) || LA344_2403 == AND_SYMBOL || LA344_2403 == AS_SYMBOL || LA344_2403 == BACK_TICK_QUOTED_ID || LA344_2403 == BETWEEN_SYMBOL || LA344_2403 == BITWISE_AND_OPERATOR || ((LA344_2403 >= BITWISE_OR_OPERATOR) && (LA344_2403 <= BITWISE_XOR_OPERATOR)) || ((LA344_2403 >= CLOSE_CURLY_SYMBOL) && (LA344_2403 <= COLLATE_SYMBOL)) || LA344_2403 == COMMA_SYMBOL || LA344_2403 == CONCAT_PIPES_SYMBOL || LA344_2403 == CROSS_SYMBOL || ((LA344_2403 >= DIV_OPERATOR) && (LA344_2403 <= DIV_SYMBOL)) || LA344_2403 == DOUBLE_QUOTED_TEXT || LA344_2403 == EQUAL_OPERATOR || LA344_2403 == FOR_SYMBOL || LA344_2403 == FROM_SYMBOL || ((LA344_2403 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2403 <= GREATER_THAN_OPERATOR)) || ((LA344_2403 >= GROUP_SYMBOL) && (LA344_2403 <= HAVING_SYMBOL)) || LA344_2403 == IDENTIFIER || LA344_2403 == INNER_SYMBOL || LA344_2403 == INTO_SYMBOL || LA344_2403 == IN_SYMBOL || LA344_2403 == IS_SYMBOL || LA344_2403 == JOIN_SYMBOL || ((LA344_2403 >= LEFT_SYMBOL) && (LA344_2403 <= LESS_THAN_OPERATOR)) || ((LA344_2403 >= LIKE_SYMBOL) && (LA344_2403 <= LIMIT_SYMBOL)) || LA344_2403 == LOCK_SYMBOL || LA344_2403 == LOGICAL_AND_OPERATOR || LA344_2403 == LOGICAL_OR_OPERATOR || LA344_2403 == MINUS_OPERATOR || ((LA344_2403 >= MOD_OPERATOR) && (LA344_2403 <= MOD_SYMBOL)) || ((LA344_2403 >= MULT_OPERATOR) && (LA344_2403 <= NATURAL_SYMBOL)) || ((LA344_2403 >= NOT_EQUAL2_OPERATOR) && (LA344_2403 <= NOT_SYMBOL)) || LA344_2403 == NULL_SAFE_EQUAL_OPERATOR || LA344_2403 == ON_SYMBOL || LA344_2403 == OPEN_PAR_SYMBOL || ((LA344_2403 >= ORDER_SYMBOL) && (LA344_2403 <= OR_SYMBOL)) || LA344_2403 == PLUS_OPERATOR || LA344_2403 == PROCEDURE_SYMBOL || LA344_2403 == REGEXP_SYMBOL || LA344_2403 == RIGHT_SYMBOL || LA344_2403 == SEMICOLON_SYMBOL || LA344_2403 == SET_SYMBOL || ((LA344_2403 >= SHIFT_LEFT_OPERATOR) && (LA344_2403 <= SHIFT_RIGHT_OPERATOR)) || LA344_2403 == SINGLE_QUOTED_TEXT || LA344_2403 == STRAIGHT_JOIN_SYMBOL || LA344_2403 == UNION_SYMBOL || LA344_2403 == USING_SYMBOL || LA344_2403 == WHERE_SYMBOL || LA344_2403 == WITH_SYMBOL || LA344_2403 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2403;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_738 >= ACTION_SYMBOL) && (LA344_738 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2404 = LA(4);
                                        if ( (LA344_2404 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5919 = LA(5);
                                                if ( (LA344_5919 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5919 >= ASCII_SYMBOL) && (LA344_5919 <= YEAR_SYMBOL)) || LA344_5919 == BACK_TICK_QUOTED_ID || LA344_5919 == DOUBLE_QUOTED_TEXT || LA344_5919 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5919;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2404 == EOF || ((LA344_2404 >= ASCII_SYMBOL) && (LA344_2404 <= YEAR_SYMBOL)) || LA344_2404 == AND_SYMBOL || LA344_2404 == AS_SYMBOL || LA344_2404 == BACK_TICK_QUOTED_ID || LA344_2404 == BETWEEN_SYMBOL || LA344_2404 == BITWISE_AND_OPERATOR || ((LA344_2404 >= BITWISE_OR_OPERATOR) && (LA344_2404 <= BITWISE_XOR_OPERATOR)) || ((LA344_2404 >= CLOSE_CURLY_SYMBOL) && (LA344_2404 <= COLLATE_SYMBOL)) || LA344_2404 == COMMA_SYMBOL || LA344_2404 == CONCAT_PIPES_SYMBOL || LA344_2404 == CROSS_SYMBOL || ((LA344_2404 >= DIV_OPERATOR) && (LA344_2404 <= DIV_SYMBOL)) || LA344_2404 == DOUBLE_QUOTED_TEXT || LA344_2404 == EQUAL_OPERATOR || LA344_2404 == FOR_SYMBOL || LA344_2404 == FROM_SYMBOL || ((LA344_2404 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2404 <= GREATER_THAN_OPERATOR)) || ((LA344_2404 >= GROUP_SYMBOL) && (LA344_2404 <= HAVING_SYMBOL)) || LA344_2404 == IDENTIFIER || LA344_2404 == INNER_SYMBOL || LA344_2404 == INTO_SYMBOL || LA344_2404 == IN_SYMBOL || LA344_2404 == IS_SYMBOL || LA344_2404 == JOIN_SYMBOL || ((LA344_2404 >= LEFT_SYMBOL) && (LA344_2404 <= LESS_THAN_OPERATOR)) || ((LA344_2404 >= LIKE_SYMBOL) && (LA344_2404 <= LIMIT_SYMBOL)) || LA344_2404 == LOCK_SYMBOL || LA344_2404 == LOGICAL_AND_OPERATOR || LA344_2404 == LOGICAL_OR_OPERATOR || LA344_2404 == MINUS_OPERATOR || ((LA344_2404 >= MOD_OPERATOR) && (LA344_2404 <= MOD_SYMBOL)) || ((LA344_2404 >= MULT_OPERATOR) && (LA344_2404 <= NATURAL_SYMBOL)) || ((LA344_2404 >= NOT_EQUAL2_OPERATOR) && (LA344_2404 <= NOT_SYMBOL)) || LA344_2404 == NULL_SAFE_EQUAL_OPERATOR || LA344_2404 == ON_SYMBOL || LA344_2404 == OPEN_PAR_SYMBOL || ((LA344_2404 >= ORDER_SYMBOL) && (LA344_2404 <= OR_SYMBOL)) || LA344_2404 == PLUS_OPERATOR || LA344_2404 == PROCEDURE_SYMBOL || LA344_2404 == REGEXP_SYMBOL || LA344_2404 == RIGHT_SYMBOL || LA344_2404 == SEMICOLON_SYMBOL || LA344_2404 == SET_SYMBOL || ((LA344_2404 >= SHIFT_LEFT_OPERATOR) && (LA344_2404 <= SHIFT_RIGHT_OPERATOR)) || LA344_2404 == SINGLE_QUOTED_TEXT || LA344_2404 == STRAIGHT_JOIN_SYMBOL || LA344_2404 == UNION_SYMBOL || LA344_2404 == USING_SYMBOL || LA344_2404 == WHERE_SYMBOL || LA344_2404 == WITH_SYMBOL || LA344_2404 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2404;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_738 >= ASCII_SYMBOL) && (LA344_738 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2405 = LA(4);
                                        if ( (LA344_2405 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_5972 = LA(5);
                                                if ( (LA344_5972 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_5972 >= ASCII_SYMBOL) && (LA344_5972 <= YEAR_SYMBOL)) || LA344_5972 == BACK_TICK_QUOTED_ID || LA344_5972 == DOUBLE_QUOTED_TEXT || LA344_5972 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 5972;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2405 == EOF || ((LA344_2405 >= ASCII_SYMBOL) && (LA344_2405 <= YEAR_SYMBOL)) || LA344_2405 == AND_SYMBOL || LA344_2405 == AS_SYMBOL || LA344_2405 == BACK_TICK_QUOTED_ID || LA344_2405 == BETWEEN_SYMBOL || LA344_2405 == BITWISE_AND_OPERATOR || ((LA344_2405 >= BITWISE_OR_OPERATOR) && (LA344_2405 <= BITWISE_XOR_OPERATOR)) || ((LA344_2405 >= CLOSE_CURLY_SYMBOL) && (LA344_2405 <= COLLATE_SYMBOL)) || LA344_2405 == COMMA_SYMBOL || LA344_2405 == CONCAT_PIPES_SYMBOL || LA344_2405 == CROSS_SYMBOL || ((LA344_2405 >= DIV_OPERATOR) && (LA344_2405 <= DIV_SYMBOL)) || LA344_2405 == DOUBLE_QUOTED_TEXT || LA344_2405 == EQUAL_OPERATOR || LA344_2405 == FOR_SYMBOL || LA344_2405 == FROM_SYMBOL || ((LA344_2405 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2405 <= GREATER_THAN_OPERATOR)) || ((LA344_2405 >= GROUP_SYMBOL) && (LA344_2405 <= HAVING_SYMBOL)) || LA344_2405 == IDENTIFIER || LA344_2405 == INNER_SYMBOL || LA344_2405 == INTO_SYMBOL || LA344_2405 == IN_SYMBOL || LA344_2405 == IS_SYMBOL || LA344_2405 == JOIN_SYMBOL || ((LA344_2405 >= LEFT_SYMBOL) && (LA344_2405 <= LESS_THAN_OPERATOR)) || ((LA344_2405 >= LIKE_SYMBOL) && (LA344_2405 <= LIMIT_SYMBOL)) || LA344_2405 == LOCK_SYMBOL || LA344_2405 == LOGICAL_AND_OPERATOR || LA344_2405 == LOGICAL_OR_OPERATOR || LA344_2405 == MINUS_OPERATOR || ((LA344_2405 >= MOD_OPERATOR) && (LA344_2405 <= MOD_SYMBOL)) || ((LA344_2405 >= MULT_OPERATOR) && (LA344_2405 <= NATURAL_SYMBOL)) || ((LA344_2405 >= NOT_EQUAL2_OPERATOR) && (LA344_2405 <= NOT_SYMBOL)) || LA344_2405 == NULL_SAFE_EQUAL_OPERATOR || LA344_2405 == ON_SYMBOL || LA344_2405 == OPEN_PAR_SYMBOL || ((LA344_2405 >= ORDER_SYMBOL) && (LA344_2405 <= OR_SYMBOL)) || LA344_2405 == PLUS_OPERATOR || LA344_2405 == PROCEDURE_SYMBOL || LA344_2405 == REGEXP_SYMBOL || LA344_2405 == RIGHT_SYMBOL || LA344_2405 == SEMICOLON_SYMBOL || LA344_2405 == SET_SYMBOL || ((LA344_2405 >= SHIFT_LEFT_OPERATOR) && (LA344_2405 <= SHIFT_RIGHT_OPERATOR)) || LA344_2405 == SINGLE_QUOTED_TEXT || LA344_2405 == STRAIGHT_JOIN_SYMBOL || LA344_2405 == UNION_SYMBOL || LA344_2405 == USING_SYMBOL || LA344_2405 == WHERE_SYMBOL || LA344_2405 == WITH_SYMBOL || LA344_2405 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2405;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 738;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_30 == EOF || ((LA344_30 >= ASCII_SYMBOL) && (LA344_30 <= YEAR_SYMBOL)) || LA344_30 == AND_SYMBOL || LA344_30 == AS_SYMBOL || LA344_30 == BACK_TICK_QUOTED_ID || LA344_30 == BETWEEN_SYMBOL || LA344_30 == BITWISE_AND_OPERATOR || ((LA344_30 >= BITWISE_OR_OPERATOR) && (LA344_30 <= BITWISE_XOR_OPERATOR)) || ((LA344_30 >= CLOSE_CURLY_SYMBOL) && (LA344_30 <= COLLATE_SYMBOL)) || LA344_30 == COMMA_SYMBOL || LA344_30 == CONCAT_PIPES_SYMBOL || LA344_30 == CROSS_SYMBOL || ((LA344_30 >= DIV_OPERATOR) && (LA344_30 <= DIV_SYMBOL)) || LA344_30 == DOUBLE_QUOTED_TEXT || LA344_30 == EQUAL_OPERATOR || LA344_30 == FOR_SYMBOL || LA344_30 == FROM_SYMBOL || ((LA344_30 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_30 <= GREATER_THAN_OPERATOR)) || ((LA344_30 >= GROUP_SYMBOL) && (LA344_30 <= HAVING_SYMBOL)) || LA344_30 == IDENTIFIER || LA344_30 == INNER_SYMBOL || LA344_30 == INTO_SYMBOL || LA344_30 == IN_SYMBOL || LA344_30 == IS_SYMBOL || LA344_30 == JOIN_SYMBOL || ((LA344_30 >= LEFT_SYMBOL) && (LA344_30 <= LESS_THAN_OPERATOR)) || ((LA344_30 >= LIKE_SYMBOL) && (LA344_30 <= LIMIT_SYMBOL)) || LA344_30 == LOCK_SYMBOL || LA344_30 == LOGICAL_AND_OPERATOR || LA344_30 == LOGICAL_OR_OPERATOR || LA344_30 == MINUS_OPERATOR || ((LA344_30 >= MOD_OPERATOR) && (LA344_30 <= MOD_SYMBOL)) || ((LA344_30 >= MULT_OPERATOR) && (LA344_30 <= NATURAL_SYMBOL)) || ((LA344_30 >= NOT_EQUAL2_OPERATOR) && (LA344_30 <= NOT_SYMBOL)) || LA344_30 == NULL_SAFE_EQUAL_OPERATOR || LA344_30 == ON_SYMBOL || LA344_30 == OPEN_PAR_SYMBOL || ((LA344_30 >= ORDER_SYMBOL) && (LA344_30 <= OR_SYMBOL)) || LA344_30 == PLUS_OPERATOR || LA344_30 == PROCEDURE_SYMBOL || LA344_30 == REGEXP_SYMBOL || LA344_30 == RIGHT_SYMBOL || LA344_30 == SEMICOLON_SYMBOL || LA344_30 == SET_SYMBOL || ((LA344_30 >= SHIFT_LEFT_OPERATOR) && (LA344_30 <= SHIFT_RIGHT_OPERATOR)) || LA344_30 == SINGLE_QUOTED_TEXT || LA344_30 == STRAIGHT_JOIN_SYMBOL || LA344_30 == UNION_SYMBOL || LA344_30 == USING_SYMBOL || LA344_30 == WHERE_SYMBOL || LA344_30 == WITH_SYMBOL || LA344_30 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 30;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == YEAR_SYMBOL))
                {
                    {
                        int LA344_32 = LA(2);
                        if ( (LA344_32 == EOF || ((LA344_32 >= ASCII_SYMBOL) && (LA344_32 <= YEAR_SYMBOL)) || LA344_32 == AND_SYMBOL || LA344_32 == AS_SYMBOL || LA344_32 == BACK_TICK_QUOTED_ID || LA344_32 == BETWEEN_SYMBOL || LA344_32 == BITWISE_AND_OPERATOR || ((LA344_32 >= BITWISE_OR_OPERATOR) && (LA344_32 <= BITWISE_XOR_OPERATOR)) || ((LA344_32 >= CLOSE_CURLY_SYMBOL) && (LA344_32 <= COLLATE_SYMBOL)) || LA344_32 == COMMA_SYMBOL || LA344_32 == CONCAT_PIPES_SYMBOL || LA344_32 == CROSS_SYMBOL || ((LA344_32 >= DIV_OPERATOR) && (LA344_32 <= DIV_SYMBOL)) || LA344_32 == DOUBLE_QUOTED_TEXT || LA344_32 == EQUAL_OPERATOR || LA344_32 == FOR_SYMBOL || LA344_32 == FROM_SYMBOL || ((LA344_32 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_32 <= GREATER_THAN_OPERATOR)) || ((LA344_32 >= GROUP_SYMBOL) && (LA344_32 <= HAVING_SYMBOL)) || LA344_32 == IDENTIFIER || LA344_32 == INNER_SYMBOL || LA344_32 == INTO_SYMBOL || LA344_32 == IN_SYMBOL || LA344_32 == IS_SYMBOL || LA344_32 == JOIN_SYMBOL || ((LA344_32 >= LEFT_SYMBOL) && (LA344_32 <= LESS_THAN_OPERATOR)) || ((LA344_32 >= LIKE_SYMBOL) && (LA344_32 <= LIMIT_SYMBOL)) || LA344_32 == LOCK_SYMBOL || LA344_32 == LOGICAL_AND_OPERATOR || LA344_32 == LOGICAL_OR_OPERATOR || LA344_32 == MINUS_OPERATOR || ((LA344_32 >= MOD_OPERATOR) && (LA344_32 <= MOD_SYMBOL)) || ((LA344_32 >= MULT_OPERATOR) && (LA344_32 <= NATURAL_SYMBOL)) || ((LA344_32 >= NOT_EQUAL2_OPERATOR) && (LA344_32 <= NOT_SYMBOL)) || LA344_32 == NULL_SAFE_EQUAL_OPERATOR || LA344_32 == ON_SYMBOL || LA344_32 == OPEN_PAR_SYMBOL || ((LA344_32 >= ORDER_SYMBOL) && (LA344_32 <= OR_SYMBOL)) || LA344_32 == PLUS_OPERATOR || LA344_32 == PROCEDURE_SYMBOL || LA344_32 == REGEXP_SYMBOL || LA344_32 == RIGHT_SYMBOL || LA344_32 == SEMICOLON_SYMBOL || LA344_32 == SET_SYMBOL || ((LA344_32 >= SHIFT_LEFT_OPERATOR) && (LA344_32 <= SHIFT_RIGHT_OPERATOR)) || LA344_32 == SINGLE_QUOTED_TEXT || LA344_32 == STRAIGHT_JOIN_SYMBOL || LA344_32 == UNION_SYMBOL || LA344_32 == USING_SYMBOL || LA344_32 == WHERE_SYMBOL || LA344_32 == WITH_SYMBOL || LA344_32 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_32 == DOT_SYMBOL))
                        {
                            {
                                int LA344_792 = LA(3);
                                if ( (LA344_792 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_792 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2407 = LA(4);
                                        if ( (LA344_2407 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6025 = LA(5);
                                                if ( (LA344_6025 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6025 >= ASCII_SYMBOL) && (LA344_6025 <= YEAR_SYMBOL)) || LA344_6025 == BACK_TICK_QUOTED_ID || LA344_6025 == DOUBLE_QUOTED_TEXT || LA344_6025 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6025;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2407 == EOF || ((LA344_2407 >= ASCII_SYMBOL) && (LA344_2407 <= YEAR_SYMBOL)) || LA344_2407 == AND_SYMBOL || LA344_2407 == AS_SYMBOL || LA344_2407 == BACK_TICK_QUOTED_ID || LA344_2407 == BETWEEN_SYMBOL || LA344_2407 == BITWISE_AND_OPERATOR || ((LA344_2407 >= BITWISE_OR_OPERATOR) && (LA344_2407 <= BITWISE_XOR_OPERATOR)) || ((LA344_2407 >= CLOSE_CURLY_SYMBOL) && (LA344_2407 <= COLLATE_SYMBOL)) || LA344_2407 == COMMA_SYMBOL || LA344_2407 == CONCAT_PIPES_SYMBOL || LA344_2407 == CROSS_SYMBOL || ((LA344_2407 >= DIV_OPERATOR) && (LA344_2407 <= DIV_SYMBOL)) || LA344_2407 == DOUBLE_QUOTED_TEXT || LA344_2407 == EQUAL_OPERATOR || LA344_2407 == FOR_SYMBOL || LA344_2407 == FROM_SYMBOL || ((LA344_2407 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2407 <= GREATER_THAN_OPERATOR)) || ((LA344_2407 >= GROUP_SYMBOL) && (LA344_2407 <= HAVING_SYMBOL)) || LA344_2407 == IDENTIFIER || LA344_2407 == INNER_SYMBOL || LA344_2407 == INTO_SYMBOL || LA344_2407 == IN_SYMBOL || LA344_2407 == IS_SYMBOL || LA344_2407 == JOIN_SYMBOL || ((LA344_2407 >= LEFT_SYMBOL) && (LA344_2407 <= LESS_THAN_OPERATOR)) || ((LA344_2407 >= LIKE_SYMBOL) && (LA344_2407 <= LIMIT_SYMBOL)) || LA344_2407 == LOCK_SYMBOL || LA344_2407 == LOGICAL_AND_OPERATOR || LA344_2407 == LOGICAL_OR_OPERATOR || LA344_2407 == MINUS_OPERATOR || ((LA344_2407 >= MOD_OPERATOR) && (LA344_2407 <= MOD_SYMBOL)) || ((LA344_2407 >= MULT_OPERATOR) && (LA344_2407 <= NATURAL_SYMBOL)) || ((LA344_2407 >= NOT_EQUAL2_OPERATOR) && (LA344_2407 <= NOT_SYMBOL)) || LA344_2407 == NULL_SAFE_EQUAL_OPERATOR || LA344_2407 == ON_SYMBOL || LA344_2407 == OPEN_PAR_SYMBOL || ((LA344_2407 >= ORDER_SYMBOL) && (LA344_2407 <= OR_SYMBOL)) || LA344_2407 == PLUS_OPERATOR || LA344_2407 == PROCEDURE_SYMBOL || LA344_2407 == REGEXP_SYMBOL || LA344_2407 == RIGHT_SYMBOL || LA344_2407 == SEMICOLON_SYMBOL || LA344_2407 == SET_SYMBOL || ((LA344_2407 >= SHIFT_LEFT_OPERATOR) && (LA344_2407 <= SHIFT_RIGHT_OPERATOR)) || LA344_2407 == SINGLE_QUOTED_TEXT || LA344_2407 == STRAIGHT_JOIN_SYMBOL || LA344_2407 == UNION_SYMBOL || LA344_2407 == USING_SYMBOL || LA344_2407 == WHERE_SYMBOL || LA344_2407 == WITH_SYMBOL || LA344_2407 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2407;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_792 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2408 = LA(4);
                                        if ( (LA344_2408 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6078 = LA(5);
                                                if ( (LA344_6078 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6078 >= ASCII_SYMBOL) && (LA344_6078 <= YEAR_SYMBOL)) || LA344_6078 == BACK_TICK_QUOTED_ID || LA344_6078 == DOUBLE_QUOTED_TEXT || LA344_6078 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6078;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2408 == EOF || ((LA344_2408 >= ASCII_SYMBOL) && (LA344_2408 <= YEAR_SYMBOL)) || LA344_2408 == AND_SYMBOL || LA344_2408 == AS_SYMBOL || LA344_2408 == BACK_TICK_QUOTED_ID || LA344_2408 == BETWEEN_SYMBOL || LA344_2408 == BITWISE_AND_OPERATOR || ((LA344_2408 >= BITWISE_OR_OPERATOR) && (LA344_2408 <= BITWISE_XOR_OPERATOR)) || ((LA344_2408 >= CLOSE_CURLY_SYMBOL) && (LA344_2408 <= COLLATE_SYMBOL)) || LA344_2408 == COMMA_SYMBOL || LA344_2408 == CONCAT_PIPES_SYMBOL || LA344_2408 == CROSS_SYMBOL || ((LA344_2408 >= DIV_OPERATOR) && (LA344_2408 <= DIV_SYMBOL)) || LA344_2408 == DOUBLE_QUOTED_TEXT || LA344_2408 == EQUAL_OPERATOR || LA344_2408 == FOR_SYMBOL || LA344_2408 == FROM_SYMBOL || ((LA344_2408 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2408 <= GREATER_THAN_OPERATOR)) || ((LA344_2408 >= GROUP_SYMBOL) && (LA344_2408 <= HAVING_SYMBOL)) || LA344_2408 == IDENTIFIER || LA344_2408 == INNER_SYMBOL || LA344_2408 == INTO_SYMBOL || LA344_2408 == IN_SYMBOL || LA344_2408 == IS_SYMBOL || LA344_2408 == JOIN_SYMBOL || ((LA344_2408 >= LEFT_SYMBOL) && (LA344_2408 <= LESS_THAN_OPERATOR)) || ((LA344_2408 >= LIKE_SYMBOL) && (LA344_2408 <= LIMIT_SYMBOL)) || LA344_2408 == LOCK_SYMBOL || LA344_2408 == LOGICAL_AND_OPERATOR || LA344_2408 == LOGICAL_OR_OPERATOR || LA344_2408 == MINUS_OPERATOR || ((LA344_2408 >= MOD_OPERATOR) && (LA344_2408 <= MOD_SYMBOL)) || ((LA344_2408 >= MULT_OPERATOR) && (LA344_2408 <= NATURAL_SYMBOL)) || ((LA344_2408 >= NOT_EQUAL2_OPERATOR) && (LA344_2408 <= NOT_SYMBOL)) || LA344_2408 == NULL_SAFE_EQUAL_OPERATOR || LA344_2408 == ON_SYMBOL || LA344_2408 == OPEN_PAR_SYMBOL || ((LA344_2408 >= ORDER_SYMBOL) && (LA344_2408 <= OR_SYMBOL)) || LA344_2408 == PLUS_OPERATOR || LA344_2408 == PROCEDURE_SYMBOL || LA344_2408 == REGEXP_SYMBOL || LA344_2408 == RIGHT_SYMBOL || LA344_2408 == SEMICOLON_SYMBOL || LA344_2408 == SET_SYMBOL || ((LA344_2408 >= SHIFT_LEFT_OPERATOR) && (LA344_2408 <= SHIFT_RIGHT_OPERATOR)) || LA344_2408 == SINGLE_QUOTED_TEXT || LA344_2408 == STRAIGHT_JOIN_SYMBOL || LA344_2408 == UNION_SYMBOL || LA344_2408 == USING_SYMBOL || LA344_2408 == WHERE_SYMBOL || LA344_2408 == WITH_SYMBOL || LA344_2408 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2408;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_792 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2409 = LA(4);
                                        if ( (LA344_2409 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6131 = LA(5);
                                                if ( (LA344_6131 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6131 >= ASCII_SYMBOL) && (LA344_6131 <= YEAR_SYMBOL)) || LA344_6131 == BACK_TICK_QUOTED_ID || LA344_6131 == DOUBLE_QUOTED_TEXT || LA344_6131 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6131;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2409 == EOF || ((LA344_2409 >= ASCII_SYMBOL) && (LA344_2409 <= YEAR_SYMBOL)) || LA344_2409 == AND_SYMBOL || LA344_2409 == AS_SYMBOL || LA344_2409 == BACK_TICK_QUOTED_ID || LA344_2409 == BETWEEN_SYMBOL || LA344_2409 == BITWISE_AND_OPERATOR || ((LA344_2409 >= BITWISE_OR_OPERATOR) && (LA344_2409 <= BITWISE_XOR_OPERATOR)) || ((LA344_2409 >= CLOSE_CURLY_SYMBOL) && (LA344_2409 <= COLLATE_SYMBOL)) || LA344_2409 == COMMA_SYMBOL || LA344_2409 == CONCAT_PIPES_SYMBOL || LA344_2409 == CROSS_SYMBOL || ((LA344_2409 >= DIV_OPERATOR) && (LA344_2409 <= DIV_SYMBOL)) || LA344_2409 == DOUBLE_QUOTED_TEXT || LA344_2409 == EQUAL_OPERATOR || LA344_2409 == FOR_SYMBOL || LA344_2409 == FROM_SYMBOL || ((LA344_2409 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2409 <= GREATER_THAN_OPERATOR)) || ((LA344_2409 >= GROUP_SYMBOL) && (LA344_2409 <= HAVING_SYMBOL)) || LA344_2409 == IDENTIFIER || LA344_2409 == INNER_SYMBOL || LA344_2409 == INTO_SYMBOL || LA344_2409 == IN_SYMBOL || LA344_2409 == IS_SYMBOL || LA344_2409 == JOIN_SYMBOL || ((LA344_2409 >= LEFT_SYMBOL) && (LA344_2409 <= LESS_THAN_OPERATOR)) || ((LA344_2409 >= LIKE_SYMBOL) && (LA344_2409 <= LIMIT_SYMBOL)) || LA344_2409 == LOCK_SYMBOL || LA344_2409 == LOGICAL_AND_OPERATOR || LA344_2409 == LOGICAL_OR_OPERATOR || LA344_2409 == MINUS_OPERATOR || ((LA344_2409 >= MOD_OPERATOR) && (LA344_2409 <= MOD_SYMBOL)) || ((LA344_2409 >= MULT_OPERATOR) && (LA344_2409 <= NATURAL_SYMBOL)) || ((LA344_2409 >= NOT_EQUAL2_OPERATOR) && (LA344_2409 <= NOT_SYMBOL)) || LA344_2409 == NULL_SAFE_EQUAL_OPERATOR || LA344_2409 == ON_SYMBOL || LA344_2409 == OPEN_PAR_SYMBOL || ((LA344_2409 >= ORDER_SYMBOL) && (LA344_2409 <= OR_SYMBOL)) || LA344_2409 == PLUS_OPERATOR || LA344_2409 == PROCEDURE_SYMBOL || LA344_2409 == REGEXP_SYMBOL || LA344_2409 == RIGHT_SYMBOL || LA344_2409 == SEMICOLON_SYMBOL || LA344_2409 == SET_SYMBOL || ((LA344_2409 >= SHIFT_LEFT_OPERATOR) && (LA344_2409 <= SHIFT_RIGHT_OPERATOR)) || LA344_2409 == SINGLE_QUOTED_TEXT || LA344_2409 == STRAIGHT_JOIN_SYMBOL || LA344_2409 == UNION_SYMBOL || LA344_2409 == USING_SYMBOL || LA344_2409 == WHERE_SYMBOL || LA344_2409 == WITH_SYMBOL || LA344_2409 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2409;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_792 >= ACTION_SYMBOL) && (LA344_792 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2410 = LA(4);
                                        if ( (LA344_2410 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6184 = LA(5);
                                                if ( (LA344_6184 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6184 >= ASCII_SYMBOL) && (LA344_6184 <= YEAR_SYMBOL)) || LA344_6184 == BACK_TICK_QUOTED_ID || LA344_6184 == DOUBLE_QUOTED_TEXT || LA344_6184 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6184;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2410 == EOF || ((LA344_2410 >= ASCII_SYMBOL) && (LA344_2410 <= YEAR_SYMBOL)) || LA344_2410 == AND_SYMBOL || LA344_2410 == AS_SYMBOL || LA344_2410 == BACK_TICK_QUOTED_ID || LA344_2410 == BETWEEN_SYMBOL || LA344_2410 == BITWISE_AND_OPERATOR || ((LA344_2410 >= BITWISE_OR_OPERATOR) && (LA344_2410 <= BITWISE_XOR_OPERATOR)) || ((LA344_2410 >= CLOSE_CURLY_SYMBOL) && (LA344_2410 <= COLLATE_SYMBOL)) || LA344_2410 == COMMA_SYMBOL || LA344_2410 == CONCAT_PIPES_SYMBOL || LA344_2410 == CROSS_SYMBOL || ((LA344_2410 >= DIV_OPERATOR) && (LA344_2410 <= DIV_SYMBOL)) || LA344_2410 == DOUBLE_QUOTED_TEXT || LA344_2410 == EQUAL_OPERATOR || LA344_2410 == FOR_SYMBOL || LA344_2410 == FROM_SYMBOL || ((LA344_2410 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2410 <= GREATER_THAN_OPERATOR)) || ((LA344_2410 >= GROUP_SYMBOL) && (LA344_2410 <= HAVING_SYMBOL)) || LA344_2410 == IDENTIFIER || LA344_2410 == INNER_SYMBOL || LA344_2410 == INTO_SYMBOL || LA344_2410 == IN_SYMBOL || LA344_2410 == IS_SYMBOL || LA344_2410 == JOIN_SYMBOL || ((LA344_2410 >= LEFT_SYMBOL) && (LA344_2410 <= LESS_THAN_OPERATOR)) || ((LA344_2410 >= LIKE_SYMBOL) && (LA344_2410 <= LIMIT_SYMBOL)) || LA344_2410 == LOCK_SYMBOL || LA344_2410 == LOGICAL_AND_OPERATOR || LA344_2410 == LOGICAL_OR_OPERATOR || LA344_2410 == MINUS_OPERATOR || ((LA344_2410 >= MOD_OPERATOR) && (LA344_2410 <= MOD_SYMBOL)) || ((LA344_2410 >= MULT_OPERATOR) && (LA344_2410 <= NATURAL_SYMBOL)) || ((LA344_2410 >= NOT_EQUAL2_OPERATOR) && (LA344_2410 <= NOT_SYMBOL)) || LA344_2410 == NULL_SAFE_EQUAL_OPERATOR || LA344_2410 == ON_SYMBOL || LA344_2410 == OPEN_PAR_SYMBOL || ((LA344_2410 >= ORDER_SYMBOL) && (LA344_2410 <= OR_SYMBOL)) || LA344_2410 == PLUS_OPERATOR || LA344_2410 == PROCEDURE_SYMBOL || LA344_2410 == REGEXP_SYMBOL || LA344_2410 == RIGHT_SYMBOL || LA344_2410 == SEMICOLON_SYMBOL || LA344_2410 == SET_SYMBOL || ((LA344_2410 >= SHIFT_LEFT_OPERATOR) && (LA344_2410 <= SHIFT_RIGHT_OPERATOR)) || LA344_2410 == SINGLE_QUOTED_TEXT || LA344_2410 == STRAIGHT_JOIN_SYMBOL || LA344_2410 == UNION_SYMBOL || LA344_2410 == USING_SYMBOL || LA344_2410 == WHERE_SYMBOL || LA344_2410 == WITH_SYMBOL || LA344_2410 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2410;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_792 >= ASCII_SYMBOL) && (LA344_792 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2411 = LA(4);
                                        if ( (LA344_2411 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6237 = LA(5);
                                                if ( (LA344_6237 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6237 >= ASCII_SYMBOL) && (LA344_6237 <= YEAR_SYMBOL)) || LA344_6237 == BACK_TICK_QUOTED_ID || LA344_6237 == DOUBLE_QUOTED_TEXT || LA344_6237 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6237;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2411 == EOF || ((LA344_2411 >= ASCII_SYMBOL) && (LA344_2411 <= YEAR_SYMBOL)) || LA344_2411 == AND_SYMBOL || LA344_2411 == AS_SYMBOL || LA344_2411 == BACK_TICK_QUOTED_ID || LA344_2411 == BETWEEN_SYMBOL || LA344_2411 == BITWISE_AND_OPERATOR || ((LA344_2411 >= BITWISE_OR_OPERATOR) && (LA344_2411 <= BITWISE_XOR_OPERATOR)) || ((LA344_2411 >= CLOSE_CURLY_SYMBOL) && (LA344_2411 <= COLLATE_SYMBOL)) || LA344_2411 == COMMA_SYMBOL || LA344_2411 == CONCAT_PIPES_SYMBOL || LA344_2411 == CROSS_SYMBOL || ((LA344_2411 >= DIV_OPERATOR) && (LA344_2411 <= DIV_SYMBOL)) || LA344_2411 == DOUBLE_QUOTED_TEXT || LA344_2411 == EQUAL_OPERATOR || LA344_2411 == FOR_SYMBOL || LA344_2411 == FROM_SYMBOL || ((LA344_2411 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2411 <= GREATER_THAN_OPERATOR)) || ((LA344_2411 >= GROUP_SYMBOL) && (LA344_2411 <= HAVING_SYMBOL)) || LA344_2411 == IDENTIFIER || LA344_2411 == INNER_SYMBOL || LA344_2411 == INTO_SYMBOL || LA344_2411 == IN_SYMBOL || LA344_2411 == IS_SYMBOL || LA344_2411 == JOIN_SYMBOL || ((LA344_2411 >= LEFT_SYMBOL) && (LA344_2411 <= LESS_THAN_OPERATOR)) || ((LA344_2411 >= LIKE_SYMBOL) && (LA344_2411 <= LIMIT_SYMBOL)) || LA344_2411 == LOCK_SYMBOL || LA344_2411 == LOGICAL_AND_OPERATOR || LA344_2411 == LOGICAL_OR_OPERATOR || LA344_2411 == MINUS_OPERATOR || ((LA344_2411 >= MOD_OPERATOR) && (LA344_2411 <= MOD_SYMBOL)) || ((LA344_2411 >= MULT_OPERATOR) && (LA344_2411 <= NATURAL_SYMBOL)) || ((LA344_2411 >= NOT_EQUAL2_OPERATOR) && (LA344_2411 <= NOT_SYMBOL)) || LA344_2411 == NULL_SAFE_EQUAL_OPERATOR || LA344_2411 == ON_SYMBOL || LA344_2411 == OPEN_PAR_SYMBOL || ((LA344_2411 >= ORDER_SYMBOL) && (LA344_2411 <= OR_SYMBOL)) || LA344_2411 == PLUS_OPERATOR || LA344_2411 == PROCEDURE_SYMBOL || LA344_2411 == REGEXP_SYMBOL || LA344_2411 == RIGHT_SYMBOL || LA344_2411 == SEMICOLON_SYMBOL || LA344_2411 == SET_SYMBOL || ((LA344_2411 >= SHIFT_LEFT_OPERATOR) && (LA344_2411 <= SHIFT_RIGHT_OPERATOR)) || LA344_2411 == SINGLE_QUOTED_TEXT || LA344_2411 == STRAIGHT_JOIN_SYMBOL || LA344_2411 == UNION_SYMBOL || LA344_2411 == USING_SYMBOL || LA344_2411 == WHERE_SYMBOL || LA344_2411 == WITH_SYMBOL || LA344_2411 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2411;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 792;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 32;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == ADDDATE_SYMBOL || LA344_0 == SUBDATE_SYMBOL))
                {
                    {
                        int LA344_34 = LA(2);
                        if ( (LA344_34 == EOF || ((LA344_34 >= ASCII_SYMBOL) && (LA344_34 <= YEAR_SYMBOL)) || LA344_34 == AND_SYMBOL || LA344_34 == AS_SYMBOL || LA344_34 == BACK_TICK_QUOTED_ID || LA344_34 == BETWEEN_SYMBOL || LA344_34 == BITWISE_AND_OPERATOR || ((LA344_34 >= BITWISE_OR_OPERATOR) && (LA344_34 <= BITWISE_XOR_OPERATOR)) || ((LA344_34 >= CLOSE_CURLY_SYMBOL) && (LA344_34 <= COLLATE_SYMBOL)) || LA344_34 == COMMA_SYMBOL || LA344_34 == CONCAT_PIPES_SYMBOL || LA344_34 == CROSS_SYMBOL || ((LA344_34 >= DIV_OPERATOR) && (LA344_34 <= DIV_SYMBOL)) || LA344_34 == DOUBLE_QUOTED_TEXT || LA344_34 == EQUAL_OPERATOR || LA344_34 == FOR_SYMBOL || LA344_34 == FROM_SYMBOL || ((LA344_34 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_34 <= GREATER_THAN_OPERATOR)) || ((LA344_34 >= GROUP_SYMBOL) && (LA344_34 <= HAVING_SYMBOL)) || LA344_34 == IDENTIFIER || LA344_34 == INNER_SYMBOL || LA344_34 == INTO_SYMBOL || LA344_34 == IN_SYMBOL || LA344_34 == IS_SYMBOL || LA344_34 == JOIN_SYMBOL || ((LA344_34 >= LEFT_SYMBOL) && (LA344_34 <= LESS_THAN_OPERATOR)) || ((LA344_34 >= LIKE_SYMBOL) && (LA344_34 <= LIMIT_SYMBOL)) || LA344_34 == LOCK_SYMBOL || LA344_34 == LOGICAL_AND_OPERATOR || LA344_34 == LOGICAL_OR_OPERATOR || LA344_34 == MINUS_OPERATOR || ((LA344_34 >= MOD_OPERATOR) && (LA344_34 <= MOD_SYMBOL)) || ((LA344_34 >= MULT_OPERATOR) && (LA344_34 <= NATURAL_SYMBOL)) || ((LA344_34 >= NOT_EQUAL2_OPERATOR) && (LA344_34 <= NOT_SYMBOL)) || LA344_34 == NULL_SAFE_EQUAL_OPERATOR || LA344_34 == ON_SYMBOL || LA344_34 == OPEN_PAR_SYMBOL || ((LA344_34 >= ORDER_SYMBOL) && (LA344_34 <= OR_SYMBOL)) || LA344_34 == PLUS_OPERATOR || LA344_34 == PROCEDURE_SYMBOL || LA344_34 == REGEXP_SYMBOL || LA344_34 == RIGHT_SYMBOL || LA344_34 == SEMICOLON_SYMBOL || LA344_34 == SET_SYMBOL || ((LA344_34 >= SHIFT_LEFT_OPERATOR) && (LA344_34 <= SHIFT_RIGHT_OPERATOR)) || LA344_34 == SINGLE_QUOTED_TEXT || LA344_34 == STRAIGHT_JOIN_SYMBOL || LA344_34 == UNION_SYMBOL || LA344_34 == USING_SYMBOL || LA344_34 == WHERE_SYMBOL || LA344_34 == WITH_SYMBOL || LA344_34 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_34 == DOT_SYMBOL))
                        {
                            {
                                int LA344_845 = LA(3);
                                if ( (LA344_845 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_845 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2413 = LA(4);
                                        if ( (LA344_2413 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6290 = LA(5);
                                                if ( (LA344_6290 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6290 >= ASCII_SYMBOL) && (LA344_6290 <= YEAR_SYMBOL)) || LA344_6290 == BACK_TICK_QUOTED_ID || LA344_6290 == DOUBLE_QUOTED_TEXT || LA344_6290 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6290;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2413 == EOF || ((LA344_2413 >= ASCII_SYMBOL) && (LA344_2413 <= YEAR_SYMBOL)) || LA344_2413 == AND_SYMBOL || LA344_2413 == AS_SYMBOL || LA344_2413 == BACK_TICK_QUOTED_ID || LA344_2413 == BETWEEN_SYMBOL || LA344_2413 == BITWISE_AND_OPERATOR || ((LA344_2413 >= BITWISE_OR_OPERATOR) && (LA344_2413 <= BITWISE_XOR_OPERATOR)) || ((LA344_2413 >= CLOSE_CURLY_SYMBOL) && (LA344_2413 <= COLLATE_SYMBOL)) || LA344_2413 == COMMA_SYMBOL || LA344_2413 == CONCAT_PIPES_SYMBOL || LA344_2413 == CROSS_SYMBOL || ((LA344_2413 >= DIV_OPERATOR) && (LA344_2413 <= DIV_SYMBOL)) || LA344_2413 == DOUBLE_QUOTED_TEXT || LA344_2413 == EQUAL_OPERATOR || LA344_2413 == FOR_SYMBOL || LA344_2413 == FROM_SYMBOL || ((LA344_2413 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2413 <= GREATER_THAN_OPERATOR)) || ((LA344_2413 >= GROUP_SYMBOL) && (LA344_2413 <= HAVING_SYMBOL)) || LA344_2413 == IDENTIFIER || LA344_2413 == INNER_SYMBOL || LA344_2413 == INTO_SYMBOL || LA344_2413 == IN_SYMBOL || LA344_2413 == IS_SYMBOL || LA344_2413 == JOIN_SYMBOL || ((LA344_2413 >= LEFT_SYMBOL) && (LA344_2413 <= LESS_THAN_OPERATOR)) || ((LA344_2413 >= LIKE_SYMBOL) && (LA344_2413 <= LIMIT_SYMBOL)) || LA344_2413 == LOCK_SYMBOL || LA344_2413 == LOGICAL_AND_OPERATOR || LA344_2413 == LOGICAL_OR_OPERATOR || LA344_2413 == MINUS_OPERATOR || ((LA344_2413 >= MOD_OPERATOR) && (LA344_2413 <= MOD_SYMBOL)) || ((LA344_2413 >= MULT_OPERATOR) && (LA344_2413 <= NATURAL_SYMBOL)) || ((LA344_2413 >= NOT_EQUAL2_OPERATOR) && (LA344_2413 <= NOT_SYMBOL)) || LA344_2413 == NULL_SAFE_EQUAL_OPERATOR || LA344_2413 == ON_SYMBOL || LA344_2413 == OPEN_PAR_SYMBOL || ((LA344_2413 >= ORDER_SYMBOL) && (LA344_2413 <= OR_SYMBOL)) || LA344_2413 == PLUS_OPERATOR || LA344_2413 == PROCEDURE_SYMBOL || LA344_2413 == REGEXP_SYMBOL || LA344_2413 == RIGHT_SYMBOL || LA344_2413 == SEMICOLON_SYMBOL || LA344_2413 == SET_SYMBOL || ((LA344_2413 >= SHIFT_LEFT_OPERATOR) && (LA344_2413 <= SHIFT_RIGHT_OPERATOR)) || LA344_2413 == SINGLE_QUOTED_TEXT || LA344_2413 == STRAIGHT_JOIN_SYMBOL || LA344_2413 == UNION_SYMBOL || LA344_2413 == USING_SYMBOL || LA344_2413 == WHERE_SYMBOL || LA344_2413 == WITH_SYMBOL || LA344_2413 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2413;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_845 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2414 = LA(4);
                                        if ( (LA344_2414 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6343 = LA(5);
                                                if ( (LA344_6343 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6343 >= ASCII_SYMBOL) && (LA344_6343 <= YEAR_SYMBOL)) || LA344_6343 == BACK_TICK_QUOTED_ID || LA344_6343 == DOUBLE_QUOTED_TEXT || LA344_6343 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6343;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2414 == EOF || ((LA344_2414 >= ASCII_SYMBOL) && (LA344_2414 <= YEAR_SYMBOL)) || LA344_2414 == AND_SYMBOL || LA344_2414 == AS_SYMBOL || LA344_2414 == BACK_TICK_QUOTED_ID || LA344_2414 == BETWEEN_SYMBOL || LA344_2414 == BITWISE_AND_OPERATOR || ((LA344_2414 >= BITWISE_OR_OPERATOR) && (LA344_2414 <= BITWISE_XOR_OPERATOR)) || ((LA344_2414 >= CLOSE_CURLY_SYMBOL) && (LA344_2414 <= COLLATE_SYMBOL)) || LA344_2414 == COMMA_SYMBOL || LA344_2414 == CONCAT_PIPES_SYMBOL || LA344_2414 == CROSS_SYMBOL || ((LA344_2414 >= DIV_OPERATOR) && (LA344_2414 <= DIV_SYMBOL)) || LA344_2414 == DOUBLE_QUOTED_TEXT || LA344_2414 == EQUAL_OPERATOR || LA344_2414 == FOR_SYMBOL || LA344_2414 == FROM_SYMBOL || ((LA344_2414 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2414 <= GREATER_THAN_OPERATOR)) || ((LA344_2414 >= GROUP_SYMBOL) && (LA344_2414 <= HAVING_SYMBOL)) || LA344_2414 == IDENTIFIER || LA344_2414 == INNER_SYMBOL || LA344_2414 == INTO_SYMBOL || LA344_2414 == IN_SYMBOL || LA344_2414 == IS_SYMBOL || LA344_2414 == JOIN_SYMBOL || ((LA344_2414 >= LEFT_SYMBOL) && (LA344_2414 <= LESS_THAN_OPERATOR)) || ((LA344_2414 >= LIKE_SYMBOL) && (LA344_2414 <= LIMIT_SYMBOL)) || LA344_2414 == LOCK_SYMBOL || LA344_2414 == LOGICAL_AND_OPERATOR || LA344_2414 == LOGICAL_OR_OPERATOR || LA344_2414 == MINUS_OPERATOR || ((LA344_2414 >= MOD_OPERATOR) && (LA344_2414 <= MOD_SYMBOL)) || ((LA344_2414 >= MULT_OPERATOR) && (LA344_2414 <= NATURAL_SYMBOL)) || ((LA344_2414 >= NOT_EQUAL2_OPERATOR) && (LA344_2414 <= NOT_SYMBOL)) || LA344_2414 == NULL_SAFE_EQUAL_OPERATOR || LA344_2414 == ON_SYMBOL || LA344_2414 == OPEN_PAR_SYMBOL || ((LA344_2414 >= ORDER_SYMBOL) && (LA344_2414 <= OR_SYMBOL)) || LA344_2414 == PLUS_OPERATOR || LA344_2414 == PROCEDURE_SYMBOL || LA344_2414 == REGEXP_SYMBOL || LA344_2414 == RIGHT_SYMBOL || LA344_2414 == SEMICOLON_SYMBOL || LA344_2414 == SET_SYMBOL || ((LA344_2414 >= SHIFT_LEFT_OPERATOR) && (LA344_2414 <= SHIFT_RIGHT_OPERATOR)) || LA344_2414 == SINGLE_QUOTED_TEXT || LA344_2414 == STRAIGHT_JOIN_SYMBOL || LA344_2414 == UNION_SYMBOL || LA344_2414 == USING_SYMBOL || LA344_2414 == WHERE_SYMBOL || LA344_2414 == WITH_SYMBOL || LA344_2414 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2414;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_845 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2415 = LA(4);
                                        if ( (LA344_2415 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6396 = LA(5);
                                                if ( (LA344_6396 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6396 >= ASCII_SYMBOL) && (LA344_6396 <= YEAR_SYMBOL)) || LA344_6396 == BACK_TICK_QUOTED_ID || LA344_6396 == DOUBLE_QUOTED_TEXT || LA344_6396 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6396;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2415 == EOF || ((LA344_2415 >= ASCII_SYMBOL) && (LA344_2415 <= YEAR_SYMBOL)) || LA344_2415 == AND_SYMBOL || LA344_2415 == AS_SYMBOL || LA344_2415 == BACK_TICK_QUOTED_ID || LA344_2415 == BETWEEN_SYMBOL || LA344_2415 == BITWISE_AND_OPERATOR || ((LA344_2415 >= BITWISE_OR_OPERATOR) && (LA344_2415 <= BITWISE_XOR_OPERATOR)) || ((LA344_2415 >= CLOSE_CURLY_SYMBOL) && (LA344_2415 <= COLLATE_SYMBOL)) || LA344_2415 == COMMA_SYMBOL || LA344_2415 == CONCAT_PIPES_SYMBOL || LA344_2415 == CROSS_SYMBOL || ((LA344_2415 >= DIV_OPERATOR) && (LA344_2415 <= DIV_SYMBOL)) || LA344_2415 == DOUBLE_QUOTED_TEXT || LA344_2415 == EQUAL_OPERATOR || LA344_2415 == FOR_SYMBOL || LA344_2415 == FROM_SYMBOL || ((LA344_2415 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2415 <= GREATER_THAN_OPERATOR)) || ((LA344_2415 >= GROUP_SYMBOL) && (LA344_2415 <= HAVING_SYMBOL)) || LA344_2415 == IDENTIFIER || LA344_2415 == INNER_SYMBOL || LA344_2415 == INTO_SYMBOL || LA344_2415 == IN_SYMBOL || LA344_2415 == IS_SYMBOL || LA344_2415 == JOIN_SYMBOL || ((LA344_2415 >= LEFT_SYMBOL) && (LA344_2415 <= LESS_THAN_OPERATOR)) || ((LA344_2415 >= LIKE_SYMBOL) && (LA344_2415 <= LIMIT_SYMBOL)) || LA344_2415 == LOCK_SYMBOL || LA344_2415 == LOGICAL_AND_OPERATOR || LA344_2415 == LOGICAL_OR_OPERATOR || LA344_2415 == MINUS_OPERATOR || ((LA344_2415 >= MOD_OPERATOR) && (LA344_2415 <= MOD_SYMBOL)) || ((LA344_2415 >= MULT_OPERATOR) && (LA344_2415 <= NATURAL_SYMBOL)) || ((LA344_2415 >= NOT_EQUAL2_OPERATOR) && (LA344_2415 <= NOT_SYMBOL)) || LA344_2415 == NULL_SAFE_EQUAL_OPERATOR || LA344_2415 == ON_SYMBOL || LA344_2415 == OPEN_PAR_SYMBOL || ((LA344_2415 >= ORDER_SYMBOL) && (LA344_2415 <= OR_SYMBOL)) || LA344_2415 == PLUS_OPERATOR || LA344_2415 == PROCEDURE_SYMBOL || LA344_2415 == REGEXP_SYMBOL || LA344_2415 == RIGHT_SYMBOL || LA344_2415 == SEMICOLON_SYMBOL || LA344_2415 == SET_SYMBOL || ((LA344_2415 >= SHIFT_LEFT_OPERATOR) && (LA344_2415 <= SHIFT_RIGHT_OPERATOR)) || LA344_2415 == SINGLE_QUOTED_TEXT || LA344_2415 == STRAIGHT_JOIN_SYMBOL || LA344_2415 == UNION_SYMBOL || LA344_2415 == USING_SYMBOL || LA344_2415 == WHERE_SYMBOL || LA344_2415 == WITH_SYMBOL || LA344_2415 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2415;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_845 >= ACTION_SYMBOL) && (LA344_845 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2416 = LA(4);
                                        if ( (LA344_2416 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6449 = LA(5);
                                                if ( (LA344_6449 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6449 >= ASCII_SYMBOL) && (LA344_6449 <= YEAR_SYMBOL)) || LA344_6449 == BACK_TICK_QUOTED_ID || LA344_6449 == DOUBLE_QUOTED_TEXT || LA344_6449 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6449;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2416 == EOF || ((LA344_2416 >= ASCII_SYMBOL) && (LA344_2416 <= YEAR_SYMBOL)) || LA344_2416 == AND_SYMBOL || LA344_2416 == AS_SYMBOL || LA344_2416 == BACK_TICK_QUOTED_ID || LA344_2416 == BETWEEN_SYMBOL || LA344_2416 == BITWISE_AND_OPERATOR || ((LA344_2416 >= BITWISE_OR_OPERATOR) && (LA344_2416 <= BITWISE_XOR_OPERATOR)) || ((LA344_2416 >= CLOSE_CURLY_SYMBOL) && (LA344_2416 <= COLLATE_SYMBOL)) || LA344_2416 == COMMA_SYMBOL || LA344_2416 == CONCAT_PIPES_SYMBOL || LA344_2416 == CROSS_SYMBOL || ((LA344_2416 >= DIV_OPERATOR) && (LA344_2416 <= DIV_SYMBOL)) || LA344_2416 == DOUBLE_QUOTED_TEXT || LA344_2416 == EQUAL_OPERATOR || LA344_2416 == FOR_SYMBOL || LA344_2416 == FROM_SYMBOL || ((LA344_2416 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2416 <= GREATER_THAN_OPERATOR)) || ((LA344_2416 >= GROUP_SYMBOL) && (LA344_2416 <= HAVING_SYMBOL)) || LA344_2416 == IDENTIFIER || LA344_2416 == INNER_SYMBOL || LA344_2416 == INTO_SYMBOL || LA344_2416 == IN_SYMBOL || LA344_2416 == IS_SYMBOL || LA344_2416 == JOIN_SYMBOL || ((LA344_2416 >= LEFT_SYMBOL) && (LA344_2416 <= LESS_THAN_OPERATOR)) || ((LA344_2416 >= LIKE_SYMBOL) && (LA344_2416 <= LIMIT_SYMBOL)) || LA344_2416 == LOCK_SYMBOL || LA344_2416 == LOGICAL_AND_OPERATOR || LA344_2416 == LOGICAL_OR_OPERATOR || LA344_2416 == MINUS_OPERATOR || ((LA344_2416 >= MOD_OPERATOR) && (LA344_2416 <= MOD_SYMBOL)) || ((LA344_2416 >= MULT_OPERATOR) && (LA344_2416 <= NATURAL_SYMBOL)) || ((LA344_2416 >= NOT_EQUAL2_OPERATOR) && (LA344_2416 <= NOT_SYMBOL)) || LA344_2416 == NULL_SAFE_EQUAL_OPERATOR || LA344_2416 == ON_SYMBOL || LA344_2416 == OPEN_PAR_SYMBOL || ((LA344_2416 >= ORDER_SYMBOL) && (LA344_2416 <= OR_SYMBOL)) || LA344_2416 == PLUS_OPERATOR || LA344_2416 == PROCEDURE_SYMBOL || LA344_2416 == REGEXP_SYMBOL || LA344_2416 == RIGHT_SYMBOL || LA344_2416 == SEMICOLON_SYMBOL || LA344_2416 == SET_SYMBOL || ((LA344_2416 >= SHIFT_LEFT_OPERATOR) && (LA344_2416 <= SHIFT_RIGHT_OPERATOR)) || LA344_2416 == SINGLE_QUOTED_TEXT || LA344_2416 == STRAIGHT_JOIN_SYMBOL || LA344_2416 == UNION_SYMBOL || LA344_2416 == USING_SYMBOL || LA344_2416 == WHERE_SYMBOL || LA344_2416 == WITH_SYMBOL || LA344_2416 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2416;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_845 >= ASCII_SYMBOL) && (LA344_845 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2417 = LA(4);
                                        if ( (LA344_2417 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6502 = LA(5);
                                                if ( (LA344_6502 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6502 >= ASCII_SYMBOL) && (LA344_6502 <= YEAR_SYMBOL)) || LA344_6502 == BACK_TICK_QUOTED_ID || LA344_6502 == DOUBLE_QUOTED_TEXT || LA344_6502 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6502;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2417 == EOF || ((LA344_2417 >= ASCII_SYMBOL) && (LA344_2417 <= YEAR_SYMBOL)) || LA344_2417 == AND_SYMBOL || LA344_2417 == AS_SYMBOL || LA344_2417 == BACK_TICK_QUOTED_ID || LA344_2417 == BETWEEN_SYMBOL || LA344_2417 == BITWISE_AND_OPERATOR || ((LA344_2417 >= BITWISE_OR_OPERATOR) && (LA344_2417 <= BITWISE_XOR_OPERATOR)) || ((LA344_2417 >= CLOSE_CURLY_SYMBOL) && (LA344_2417 <= COLLATE_SYMBOL)) || LA344_2417 == COMMA_SYMBOL || LA344_2417 == CONCAT_PIPES_SYMBOL || LA344_2417 == CROSS_SYMBOL || ((LA344_2417 >= DIV_OPERATOR) && (LA344_2417 <= DIV_SYMBOL)) || LA344_2417 == DOUBLE_QUOTED_TEXT || LA344_2417 == EQUAL_OPERATOR || LA344_2417 == FOR_SYMBOL || LA344_2417 == FROM_SYMBOL || ((LA344_2417 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2417 <= GREATER_THAN_OPERATOR)) || ((LA344_2417 >= GROUP_SYMBOL) && (LA344_2417 <= HAVING_SYMBOL)) || LA344_2417 == IDENTIFIER || LA344_2417 == INNER_SYMBOL || LA344_2417 == INTO_SYMBOL || LA344_2417 == IN_SYMBOL || LA344_2417 == IS_SYMBOL || LA344_2417 == JOIN_SYMBOL || ((LA344_2417 >= LEFT_SYMBOL) && (LA344_2417 <= LESS_THAN_OPERATOR)) || ((LA344_2417 >= LIKE_SYMBOL) && (LA344_2417 <= LIMIT_SYMBOL)) || LA344_2417 == LOCK_SYMBOL || LA344_2417 == LOGICAL_AND_OPERATOR || LA344_2417 == LOGICAL_OR_OPERATOR || LA344_2417 == MINUS_OPERATOR || ((LA344_2417 >= MOD_OPERATOR) && (LA344_2417 <= MOD_SYMBOL)) || ((LA344_2417 >= MULT_OPERATOR) && (LA344_2417 <= NATURAL_SYMBOL)) || ((LA344_2417 >= NOT_EQUAL2_OPERATOR) && (LA344_2417 <= NOT_SYMBOL)) || LA344_2417 == NULL_SAFE_EQUAL_OPERATOR || LA344_2417 == ON_SYMBOL || LA344_2417 == OPEN_PAR_SYMBOL || ((LA344_2417 >= ORDER_SYMBOL) && (LA344_2417 <= OR_SYMBOL)) || LA344_2417 == PLUS_OPERATOR || LA344_2417 == PROCEDURE_SYMBOL || LA344_2417 == REGEXP_SYMBOL || LA344_2417 == RIGHT_SYMBOL || LA344_2417 == SEMICOLON_SYMBOL || LA344_2417 == SET_SYMBOL || ((LA344_2417 >= SHIFT_LEFT_OPERATOR) && (LA344_2417 <= SHIFT_RIGHT_OPERATOR)) || LA344_2417 == SINGLE_QUOTED_TEXT || LA344_2417 == STRAIGHT_JOIN_SYMBOL || LA344_2417 == UNION_SYMBOL || LA344_2417 == USING_SYMBOL || LA344_2417 == WHERE_SYMBOL || LA344_2417 == WITH_SYMBOL || LA344_2417 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2417;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 845;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 34;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == GET_FORMAT_SYMBOL))
                {
                    {
                        int LA344_35 = LA(2);
                        if ( (LA344_35 == EOF || ((LA344_35 >= ASCII_SYMBOL) && (LA344_35 <= YEAR_SYMBOL)) || LA344_35 == AND_SYMBOL || LA344_35 == AS_SYMBOL || LA344_35 == BACK_TICK_QUOTED_ID || LA344_35 == BETWEEN_SYMBOL || LA344_35 == BITWISE_AND_OPERATOR || ((LA344_35 >= BITWISE_OR_OPERATOR) && (LA344_35 <= BITWISE_XOR_OPERATOR)) || ((LA344_35 >= CLOSE_CURLY_SYMBOL) && (LA344_35 <= COLLATE_SYMBOL)) || LA344_35 == COMMA_SYMBOL || LA344_35 == CONCAT_PIPES_SYMBOL || LA344_35 == CROSS_SYMBOL || ((LA344_35 >= DIV_OPERATOR) && (LA344_35 <= DIV_SYMBOL)) || LA344_35 == DOUBLE_QUOTED_TEXT || LA344_35 == EQUAL_OPERATOR || LA344_35 == FOR_SYMBOL || LA344_35 == FROM_SYMBOL || ((LA344_35 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_35 <= GREATER_THAN_OPERATOR)) || ((LA344_35 >= GROUP_SYMBOL) && (LA344_35 <= HAVING_SYMBOL)) || LA344_35 == IDENTIFIER || LA344_35 == INNER_SYMBOL || LA344_35 == INTO_SYMBOL || LA344_35 == IN_SYMBOL || LA344_35 == IS_SYMBOL || LA344_35 == JOIN_SYMBOL || ((LA344_35 >= LEFT_SYMBOL) && (LA344_35 <= LESS_THAN_OPERATOR)) || ((LA344_35 >= LIKE_SYMBOL) && (LA344_35 <= LIMIT_SYMBOL)) || LA344_35 == LOCK_SYMBOL || LA344_35 == LOGICAL_AND_OPERATOR || LA344_35 == LOGICAL_OR_OPERATOR || LA344_35 == MINUS_OPERATOR || ((LA344_35 >= MOD_OPERATOR) && (LA344_35 <= MOD_SYMBOL)) || ((LA344_35 >= MULT_OPERATOR) && (LA344_35 <= NATURAL_SYMBOL)) || ((LA344_35 >= NOT_EQUAL2_OPERATOR) && (LA344_35 <= NOT_SYMBOL)) || LA344_35 == NULL_SAFE_EQUAL_OPERATOR || LA344_35 == ON_SYMBOL || LA344_35 == OPEN_PAR_SYMBOL || ((LA344_35 >= ORDER_SYMBOL) && (LA344_35 <= OR_SYMBOL)) || LA344_35 == PLUS_OPERATOR || LA344_35 == PROCEDURE_SYMBOL || LA344_35 == REGEXP_SYMBOL || LA344_35 == RIGHT_SYMBOL || LA344_35 == SEMICOLON_SYMBOL || LA344_35 == SET_SYMBOL || ((LA344_35 >= SHIFT_LEFT_OPERATOR) && (LA344_35 <= SHIFT_RIGHT_OPERATOR)) || LA344_35 == SINGLE_QUOTED_TEXT || LA344_35 == STRAIGHT_JOIN_SYMBOL || LA344_35 == UNION_SYMBOL || LA344_35 == USING_SYMBOL || LA344_35 == WHERE_SYMBOL || LA344_35 == WITH_SYMBOL || LA344_35 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_35 == DOT_SYMBOL))
                        {
                            {
                                int LA344_898 = LA(3);
                                if ( (LA344_898 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_898 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2419 = LA(4);
                                        if ( (LA344_2419 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6555 = LA(5);
                                                if ( (LA344_6555 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6555 >= ASCII_SYMBOL) && (LA344_6555 <= YEAR_SYMBOL)) || LA344_6555 == BACK_TICK_QUOTED_ID || LA344_6555 == DOUBLE_QUOTED_TEXT || LA344_6555 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6555;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2419 == EOF || ((LA344_2419 >= ASCII_SYMBOL) && (LA344_2419 <= YEAR_SYMBOL)) || LA344_2419 == AND_SYMBOL || LA344_2419 == AS_SYMBOL || LA344_2419 == BACK_TICK_QUOTED_ID || LA344_2419 == BETWEEN_SYMBOL || LA344_2419 == BITWISE_AND_OPERATOR || ((LA344_2419 >= BITWISE_OR_OPERATOR) && (LA344_2419 <= BITWISE_XOR_OPERATOR)) || ((LA344_2419 >= CLOSE_CURLY_SYMBOL) && (LA344_2419 <= COLLATE_SYMBOL)) || LA344_2419 == COMMA_SYMBOL || LA344_2419 == CONCAT_PIPES_SYMBOL || LA344_2419 == CROSS_SYMBOL || ((LA344_2419 >= DIV_OPERATOR) && (LA344_2419 <= DIV_SYMBOL)) || LA344_2419 == DOUBLE_QUOTED_TEXT || LA344_2419 == EQUAL_OPERATOR || LA344_2419 == FOR_SYMBOL || LA344_2419 == FROM_SYMBOL || ((LA344_2419 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2419 <= GREATER_THAN_OPERATOR)) || ((LA344_2419 >= GROUP_SYMBOL) && (LA344_2419 <= HAVING_SYMBOL)) || LA344_2419 == IDENTIFIER || LA344_2419 == INNER_SYMBOL || LA344_2419 == INTO_SYMBOL || LA344_2419 == IN_SYMBOL || LA344_2419 == IS_SYMBOL || LA344_2419 == JOIN_SYMBOL || ((LA344_2419 >= LEFT_SYMBOL) && (LA344_2419 <= LESS_THAN_OPERATOR)) || ((LA344_2419 >= LIKE_SYMBOL) && (LA344_2419 <= LIMIT_SYMBOL)) || LA344_2419 == LOCK_SYMBOL || LA344_2419 == LOGICAL_AND_OPERATOR || LA344_2419 == LOGICAL_OR_OPERATOR || LA344_2419 == MINUS_OPERATOR || ((LA344_2419 >= MOD_OPERATOR) && (LA344_2419 <= MOD_SYMBOL)) || ((LA344_2419 >= MULT_OPERATOR) && (LA344_2419 <= NATURAL_SYMBOL)) || ((LA344_2419 >= NOT_EQUAL2_OPERATOR) && (LA344_2419 <= NOT_SYMBOL)) || LA344_2419 == NULL_SAFE_EQUAL_OPERATOR || LA344_2419 == ON_SYMBOL || LA344_2419 == OPEN_PAR_SYMBOL || ((LA344_2419 >= ORDER_SYMBOL) && (LA344_2419 <= OR_SYMBOL)) || LA344_2419 == PLUS_OPERATOR || LA344_2419 == PROCEDURE_SYMBOL || LA344_2419 == REGEXP_SYMBOL || LA344_2419 == RIGHT_SYMBOL || LA344_2419 == SEMICOLON_SYMBOL || LA344_2419 == SET_SYMBOL || ((LA344_2419 >= SHIFT_LEFT_OPERATOR) && (LA344_2419 <= SHIFT_RIGHT_OPERATOR)) || LA344_2419 == SINGLE_QUOTED_TEXT || LA344_2419 == STRAIGHT_JOIN_SYMBOL || LA344_2419 == UNION_SYMBOL || LA344_2419 == USING_SYMBOL || LA344_2419 == WHERE_SYMBOL || LA344_2419 == WITH_SYMBOL || LA344_2419 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2419;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_898 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2420 = LA(4);
                                        if ( (LA344_2420 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6608 = LA(5);
                                                if ( (LA344_6608 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6608 >= ASCII_SYMBOL) && (LA344_6608 <= YEAR_SYMBOL)) || LA344_6608 == BACK_TICK_QUOTED_ID || LA344_6608 == DOUBLE_QUOTED_TEXT || LA344_6608 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6608;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2420 == EOF || ((LA344_2420 >= ASCII_SYMBOL) && (LA344_2420 <= YEAR_SYMBOL)) || LA344_2420 == AND_SYMBOL || LA344_2420 == AS_SYMBOL || LA344_2420 == BACK_TICK_QUOTED_ID || LA344_2420 == BETWEEN_SYMBOL || LA344_2420 == BITWISE_AND_OPERATOR || ((LA344_2420 >= BITWISE_OR_OPERATOR) && (LA344_2420 <= BITWISE_XOR_OPERATOR)) || ((LA344_2420 >= CLOSE_CURLY_SYMBOL) && (LA344_2420 <= COLLATE_SYMBOL)) || LA344_2420 == COMMA_SYMBOL || LA344_2420 == CONCAT_PIPES_SYMBOL || LA344_2420 == CROSS_SYMBOL || ((LA344_2420 >= DIV_OPERATOR) && (LA344_2420 <= DIV_SYMBOL)) || LA344_2420 == DOUBLE_QUOTED_TEXT || LA344_2420 == EQUAL_OPERATOR || LA344_2420 == FOR_SYMBOL || LA344_2420 == FROM_SYMBOL || ((LA344_2420 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2420 <= GREATER_THAN_OPERATOR)) || ((LA344_2420 >= GROUP_SYMBOL) && (LA344_2420 <= HAVING_SYMBOL)) || LA344_2420 == IDENTIFIER || LA344_2420 == INNER_SYMBOL || LA344_2420 == INTO_SYMBOL || LA344_2420 == IN_SYMBOL || LA344_2420 == IS_SYMBOL || LA344_2420 == JOIN_SYMBOL || ((LA344_2420 >= LEFT_SYMBOL) && (LA344_2420 <= LESS_THAN_OPERATOR)) || ((LA344_2420 >= LIKE_SYMBOL) && (LA344_2420 <= LIMIT_SYMBOL)) || LA344_2420 == LOCK_SYMBOL || LA344_2420 == LOGICAL_AND_OPERATOR || LA344_2420 == LOGICAL_OR_OPERATOR || LA344_2420 == MINUS_OPERATOR || ((LA344_2420 >= MOD_OPERATOR) && (LA344_2420 <= MOD_SYMBOL)) || ((LA344_2420 >= MULT_OPERATOR) && (LA344_2420 <= NATURAL_SYMBOL)) || ((LA344_2420 >= NOT_EQUAL2_OPERATOR) && (LA344_2420 <= NOT_SYMBOL)) || LA344_2420 == NULL_SAFE_EQUAL_OPERATOR || LA344_2420 == ON_SYMBOL || LA344_2420 == OPEN_PAR_SYMBOL || ((LA344_2420 >= ORDER_SYMBOL) && (LA344_2420 <= OR_SYMBOL)) || LA344_2420 == PLUS_OPERATOR || LA344_2420 == PROCEDURE_SYMBOL || LA344_2420 == REGEXP_SYMBOL || LA344_2420 == RIGHT_SYMBOL || LA344_2420 == SEMICOLON_SYMBOL || LA344_2420 == SET_SYMBOL || ((LA344_2420 >= SHIFT_LEFT_OPERATOR) && (LA344_2420 <= SHIFT_RIGHT_OPERATOR)) || LA344_2420 == SINGLE_QUOTED_TEXT || LA344_2420 == STRAIGHT_JOIN_SYMBOL || LA344_2420 == UNION_SYMBOL || LA344_2420 == USING_SYMBOL || LA344_2420 == WHERE_SYMBOL || LA344_2420 == WITH_SYMBOL || LA344_2420 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2420;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_898 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2421 = LA(4);
                                        if ( (LA344_2421 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6661 = LA(5);
                                                if ( (LA344_6661 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6661 >= ASCII_SYMBOL) && (LA344_6661 <= YEAR_SYMBOL)) || LA344_6661 == BACK_TICK_QUOTED_ID || LA344_6661 == DOUBLE_QUOTED_TEXT || LA344_6661 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6661;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2421 == EOF || ((LA344_2421 >= ASCII_SYMBOL) && (LA344_2421 <= YEAR_SYMBOL)) || LA344_2421 == AND_SYMBOL || LA344_2421 == AS_SYMBOL || LA344_2421 == BACK_TICK_QUOTED_ID || LA344_2421 == BETWEEN_SYMBOL || LA344_2421 == BITWISE_AND_OPERATOR || ((LA344_2421 >= BITWISE_OR_OPERATOR) && (LA344_2421 <= BITWISE_XOR_OPERATOR)) || ((LA344_2421 >= CLOSE_CURLY_SYMBOL) && (LA344_2421 <= COLLATE_SYMBOL)) || LA344_2421 == COMMA_SYMBOL || LA344_2421 == CONCAT_PIPES_SYMBOL || LA344_2421 == CROSS_SYMBOL || ((LA344_2421 >= DIV_OPERATOR) && (LA344_2421 <= DIV_SYMBOL)) || LA344_2421 == DOUBLE_QUOTED_TEXT || LA344_2421 == EQUAL_OPERATOR || LA344_2421 == FOR_SYMBOL || LA344_2421 == FROM_SYMBOL || ((LA344_2421 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2421 <= GREATER_THAN_OPERATOR)) || ((LA344_2421 >= GROUP_SYMBOL) && (LA344_2421 <= HAVING_SYMBOL)) || LA344_2421 == IDENTIFIER || LA344_2421 == INNER_SYMBOL || LA344_2421 == INTO_SYMBOL || LA344_2421 == IN_SYMBOL || LA344_2421 == IS_SYMBOL || LA344_2421 == JOIN_SYMBOL || ((LA344_2421 >= LEFT_SYMBOL) && (LA344_2421 <= LESS_THAN_OPERATOR)) || ((LA344_2421 >= LIKE_SYMBOL) && (LA344_2421 <= LIMIT_SYMBOL)) || LA344_2421 == LOCK_SYMBOL || LA344_2421 == LOGICAL_AND_OPERATOR || LA344_2421 == LOGICAL_OR_OPERATOR || LA344_2421 == MINUS_OPERATOR || ((LA344_2421 >= MOD_OPERATOR) && (LA344_2421 <= MOD_SYMBOL)) || ((LA344_2421 >= MULT_OPERATOR) && (LA344_2421 <= NATURAL_SYMBOL)) || ((LA344_2421 >= NOT_EQUAL2_OPERATOR) && (LA344_2421 <= NOT_SYMBOL)) || LA344_2421 == NULL_SAFE_EQUAL_OPERATOR || LA344_2421 == ON_SYMBOL || LA344_2421 == OPEN_PAR_SYMBOL || ((LA344_2421 >= ORDER_SYMBOL) && (LA344_2421 <= OR_SYMBOL)) || LA344_2421 == PLUS_OPERATOR || LA344_2421 == PROCEDURE_SYMBOL || LA344_2421 == REGEXP_SYMBOL || LA344_2421 == RIGHT_SYMBOL || LA344_2421 == SEMICOLON_SYMBOL || LA344_2421 == SET_SYMBOL || ((LA344_2421 >= SHIFT_LEFT_OPERATOR) && (LA344_2421 <= SHIFT_RIGHT_OPERATOR)) || LA344_2421 == SINGLE_QUOTED_TEXT || LA344_2421 == STRAIGHT_JOIN_SYMBOL || LA344_2421 == UNION_SYMBOL || LA344_2421 == USING_SYMBOL || LA344_2421 == WHERE_SYMBOL || LA344_2421 == WITH_SYMBOL || LA344_2421 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2421;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_898 >= ACTION_SYMBOL) && (LA344_898 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2422 = LA(4);
                                        if ( (LA344_2422 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6714 = LA(5);
                                                if ( (LA344_6714 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6714 >= ASCII_SYMBOL) && (LA344_6714 <= YEAR_SYMBOL)) || LA344_6714 == BACK_TICK_QUOTED_ID || LA344_6714 == DOUBLE_QUOTED_TEXT || LA344_6714 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6714;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2422 == EOF || ((LA344_2422 >= ASCII_SYMBOL) && (LA344_2422 <= YEAR_SYMBOL)) || LA344_2422 == AND_SYMBOL || LA344_2422 == AS_SYMBOL || LA344_2422 == BACK_TICK_QUOTED_ID || LA344_2422 == BETWEEN_SYMBOL || LA344_2422 == BITWISE_AND_OPERATOR || ((LA344_2422 >= BITWISE_OR_OPERATOR) && (LA344_2422 <= BITWISE_XOR_OPERATOR)) || ((LA344_2422 >= CLOSE_CURLY_SYMBOL) && (LA344_2422 <= COLLATE_SYMBOL)) || LA344_2422 == COMMA_SYMBOL || LA344_2422 == CONCAT_PIPES_SYMBOL || LA344_2422 == CROSS_SYMBOL || ((LA344_2422 >= DIV_OPERATOR) && (LA344_2422 <= DIV_SYMBOL)) || LA344_2422 == DOUBLE_QUOTED_TEXT || LA344_2422 == EQUAL_OPERATOR || LA344_2422 == FOR_SYMBOL || LA344_2422 == FROM_SYMBOL || ((LA344_2422 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2422 <= GREATER_THAN_OPERATOR)) || ((LA344_2422 >= GROUP_SYMBOL) && (LA344_2422 <= HAVING_SYMBOL)) || LA344_2422 == IDENTIFIER || LA344_2422 == INNER_SYMBOL || LA344_2422 == INTO_SYMBOL || LA344_2422 == IN_SYMBOL || LA344_2422 == IS_SYMBOL || LA344_2422 == JOIN_SYMBOL || ((LA344_2422 >= LEFT_SYMBOL) && (LA344_2422 <= LESS_THAN_OPERATOR)) || ((LA344_2422 >= LIKE_SYMBOL) && (LA344_2422 <= LIMIT_SYMBOL)) || LA344_2422 == LOCK_SYMBOL || LA344_2422 == LOGICAL_AND_OPERATOR || LA344_2422 == LOGICAL_OR_OPERATOR || LA344_2422 == MINUS_OPERATOR || ((LA344_2422 >= MOD_OPERATOR) && (LA344_2422 <= MOD_SYMBOL)) || ((LA344_2422 >= MULT_OPERATOR) && (LA344_2422 <= NATURAL_SYMBOL)) || ((LA344_2422 >= NOT_EQUAL2_OPERATOR) && (LA344_2422 <= NOT_SYMBOL)) || LA344_2422 == NULL_SAFE_EQUAL_OPERATOR || LA344_2422 == ON_SYMBOL || LA344_2422 == OPEN_PAR_SYMBOL || ((LA344_2422 >= ORDER_SYMBOL) && (LA344_2422 <= OR_SYMBOL)) || LA344_2422 == PLUS_OPERATOR || LA344_2422 == PROCEDURE_SYMBOL || LA344_2422 == REGEXP_SYMBOL || LA344_2422 == RIGHT_SYMBOL || LA344_2422 == SEMICOLON_SYMBOL || LA344_2422 == SET_SYMBOL || ((LA344_2422 >= SHIFT_LEFT_OPERATOR) && (LA344_2422 <= SHIFT_RIGHT_OPERATOR)) || LA344_2422 == SINGLE_QUOTED_TEXT || LA344_2422 == STRAIGHT_JOIN_SYMBOL || LA344_2422 == UNION_SYMBOL || LA344_2422 == USING_SYMBOL || LA344_2422 == WHERE_SYMBOL || LA344_2422 == WITH_SYMBOL || LA344_2422 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2422;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_898 >= ASCII_SYMBOL) && (LA344_898 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2423 = LA(4);
                                        if ( (LA344_2423 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6767 = LA(5);
                                                if ( (LA344_6767 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6767 >= ASCII_SYMBOL) && (LA344_6767 <= YEAR_SYMBOL)) || LA344_6767 == BACK_TICK_QUOTED_ID || LA344_6767 == DOUBLE_QUOTED_TEXT || LA344_6767 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6767;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2423 == EOF || ((LA344_2423 >= ASCII_SYMBOL) && (LA344_2423 <= YEAR_SYMBOL)) || LA344_2423 == AND_SYMBOL || LA344_2423 == AS_SYMBOL || LA344_2423 == BACK_TICK_QUOTED_ID || LA344_2423 == BETWEEN_SYMBOL || LA344_2423 == BITWISE_AND_OPERATOR || ((LA344_2423 >= BITWISE_OR_OPERATOR) && (LA344_2423 <= BITWISE_XOR_OPERATOR)) || ((LA344_2423 >= CLOSE_CURLY_SYMBOL) && (LA344_2423 <= COLLATE_SYMBOL)) || LA344_2423 == COMMA_SYMBOL || LA344_2423 == CONCAT_PIPES_SYMBOL || LA344_2423 == CROSS_SYMBOL || ((LA344_2423 >= DIV_OPERATOR) && (LA344_2423 <= DIV_SYMBOL)) || LA344_2423 == DOUBLE_QUOTED_TEXT || LA344_2423 == EQUAL_OPERATOR || LA344_2423 == FOR_SYMBOL || LA344_2423 == FROM_SYMBOL || ((LA344_2423 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2423 <= GREATER_THAN_OPERATOR)) || ((LA344_2423 >= GROUP_SYMBOL) && (LA344_2423 <= HAVING_SYMBOL)) || LA344_2423 == IDENTIFIER || LA344_2423 == INNER_SYMBOL || LA344_2423 == INTO_SYMBOL || LA344_2423 == IN_SYMBOL || LA344_2423 == IS_SYMBOL || LA344_2423 == JOIN_SYMBOL || ((LA344_2423 >= LEFT_SYMBOL) && (LA344_2423 <= LESS_THAN_OPERATOR)) || ((LA344_2423 >= LIKE_SYMBOL) && (LA344_2423 <= LIMIT_SYMBOL)) || LA344_2423 == LOCK_SYMBOL || LA344_2423 == LOGICAL_AND_OPERATOR || LA344_2423 == LOGICAL_OR_OPERATOR || LA344_2423 == MINUS_OPERATOR || ((LA344_2423 >= MOD_OPERATOR) && (LA344_2423 <= MOD_SYMBOL)) || ((LA344_2423 >= MULT_OPERATOR) && (LA344_2423 <= NATURAL_SYMBOL)) || ((LA344_2423 >= NOT_EQUAL2_OPERATOR) && (LA344_2423 <= NOT_SYMBOL)) || LA344_2423 == NULL_SAFE_EQUAL_OPERATOR || LA344_2423 == ON_SYMBOL || LA344_2423 == OPEN_PAR_SYMBOL || ((LA344_2423 >= ORDER_SYMBOL) && (LA344_2423 <= OR_SYMBOL)) || LA344_2423 == PLUS_OPERATOR || LA344_2423 == PROCEDURE_SYMBOL || LA344_2423 == REGEXP_SYMBOL || LA344_2423 == RIGHT_SYMBOL || LA344_2423 == SEMICOLON_SYMBOL || LA344_2423 == SET_SYMBOL || ((LA344_2423 >= SHIFT_LEFT_OPERATOR) && (LA344_2423 <= SHIFT_RIGHT_OPERATOR)) || LA344_2423 == SINGLE_QUOTED_TEXT || LA344_2423 == STRAIGHT_JOIN_SYMBOL || LA344_2423 == UNION_SYMBOL || LA344_2423 == USING_SYMBOL || LA344_2423 == WHERE_SYMBOL || LA344_2423 == WITH_SYMBOL || LA344_2423 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2423;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 898;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 35;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (((LA344_0 >= TIMESTAMP_ADD_SYMBOL) && (LA344_0 <= TIMESTAMP_DIFF_SYMBOL))))
                {
                    {
                        int LA344_40 = LA(2);
                        if ( (LA344_40 == EOF || ((LA344_40 >= ASCII_SYMBOL) && (LA344_40 <= YEAR_SYMBOL)) || LA344_40 == AND_SYMBOL || LA344_40 == AS_SYMBOL || LA344_40 == BACK_TICK_QUOTED_ID || LA344_40 == BETWEEN_SYMBOL || LA344_40 == BITWISE_AND_OPERATOR || ((LA344_40 >= BITWISE_OR_OPERATOR) && (LA344_40 <= BITWISE_XOR_OPERATOR)) || ((LA344_40 >= CLOSE_CURLY_SYMBOL) && (LA344_40 <= COLLATE_SYMBOL)) || LA344_40 == COMMA_SYMBOL || LA344_40 == CONCAT_PIPES_SYMBOL || LA344_40 == CROSS_SYMBOL || ((LA344_40 >= DIV_OPERATOR) && (LA344_40 <= DIV_SYMBOL)) || LA344_40 == DOUBLE_QUOTED_TEXT || LA344_40 == EQUAL_OPERATOR || LA344_40 == FOR_SYMBOL || LA344_40 == FROM_SYMBOL || ((LA344_40 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_40 <= GREATER_THAN_OPERATOR)) || ((LA344_40 >= GROUP_SYMBOL) && (LA344_40 <= HAVING_SYMBOL)) || LA344_40 == IDENTIFIER || LA344_40 == INNER_SYMBOL || LA344_40 == INTO_SYMBOL || LA344_40 == IN_SYMBOL || LA344_40 == IS_SYMBOL || LA344_40 == JOIN_SYMBOL || ((LA344_40 >= LEFT_SYMBOL) && (LA344_40 <= LESS_THAN_OPERATOR)) || ((LA344_40 >= LIKE_SYMBOL) && (LA344_40 <= LIMIT_SYMBOL)) || LA344_40 == LOCK_SYMBOL || LA344_40 == LOGICAL_AND_OPERATOR || LA344_40 == LOGICAL_OR_OPERATOR || LA344_40 == MINUS_OPERATOR || ((LA344_40 >= MOD_OPERATOR) && (LA344_40 <= MOD_SYMBOL)) || ((LA344_40 >= MULT_OPERATOR) && (LA344_40 <= NATURAL_SYMBOL)) || ((LA344_40 >= NOT_EQUAL2_OPERATOR) && (LA344_40 <= NOT_SYMBOL)) || LA344_40 == NULL_SAFE_EQUAL_OPERATOR || LA344_40 == ON_SYMBOL || LA344_40 == OPEN_PAR_SYMBOL || ((LA344_40 >= ORDER_SYMBOL) && (LA344_40 <= OR_SYMBOL)) || LA344_40 == PLUS_OPERATOR || LA344_40 == PROCEDURE_SYMBOL || LA344_40 == REGEXP_SYMBOL || LA344_40 == RIGHT_SYMBOL || LA344_40 == SEMICOLON_SYMBOL || LA344_40 == SET_SYMBOL || ((LA344_40 >= SHIFT_LEFT_OPERATOR) && (LA344_40 <= SHIFT_RIGHT_OPERATOR)) || LA344_40 == SINGLE_QUOTED_TEXT || LA344_40 == STRAIGHT_JOIN_SYMBOL || LA344_40 == UNION_SYMBOL || LA344_40 == USING_SYMBOL || LA344_40 == WHERE_SYMBOL || LA344_40 == WITH_SYMBOL || LA344_40 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_40 == DOT_SYMBOL))
                        {
                            {
                                int LA344_951 = LA(3);
                                if ( (LA344_951 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_951 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2425 = LA(4);
                                        if ( (LA344_2425 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6820 = LA(5);
                                                if ( (LA344_6820 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6820 >= ASCII_SYMBOL) && (LA344_6820 <= YEAR_SYMBOL)) || LA344_6820 == BACK_TICK_QUOTED_ID || LA344_6820 == DOUBLE_QUOTED_TEXT || LA344_6820 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6820;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2425 == EOF || ((LA344_2425 >= ASCII_SYMBOL) && (LA344_2425 <= YEAR_SYMBOL)) || LA344_2425 == AND_SYMBOL || LA344_2425 == AS_SYMBOL || LA344_2425 == BACK_TICK_QUOTED_ID || LA344_2425 == BETWEEN_SYMBOL || LA344_2425 == BITWISE_AND_OPERATOR || ((LA344_2425 >= BITWISE_OR_OPERATOR) && (LA344_2425 <= BITWISE_XOR_OPERATOR)) || ((LA344_2425 >= CLOSE_CURLY_SYMBOL) && (LA344_2425 <= COLLATE_SYMBOL)) || LA344_2425 == COMMA_SYMBOL || LA344_2425 == CONCAT_PIPES_SYMBOL || LA344_2425 == CROSS_SYMBOL || ((LA344_2425 >= DIV_OPERATOR) && (LA344_2425 <= DIV_SYMBOL)) || LA344_2425 == DOUBLE_QUOTED_TEXT || LA344_2425 == EQUAL_OPERATOR || LA344_2425 == FOR_SYMBOL || LA344_2425 == FROM_SYMBOL || ((LA344_2425 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2425 <= GREATER_THAN_OPERATOR)) || ((LA344_2425 >= GROUP_SYMBOL) && (LA344_2425 <= HAVING_SYMBOL)) || LA344_2425 == IDENTIFIER || LA344_2425 == INNER_SYMBOL || LA344_2425 == INTO_SYMBOL || LA344_2425 == IN_SYMBOL || LA344_2425 == IS_SYMBOL || LA344_2425 == JOIN_SYMBOL || ((LA344_2425 >= LEFT_SYMBOL) && (LA344_2425 <= LESS_THAN_OPERATOR)) || ((LA344_2425 >= LIKE_SYMBOL) && (LA344_2425 <= LIMIT_SYMBOL)) || LA344_2425 == LOCK_SYMBOL || LA344_2425 == LOGICAL_AND_OPERATOR || LA344_2425 == LOGICAL_OR_OPERATOR || LA344_2425 == MINUS_OPERATOR || ((LA344_2425 >= MOD_OPERATOR) && (LA344_2425 <= MOD_SYMBOL)) || ((LA344_2425 >= MULT_OPERATOR) && (LA344_2425 <= NATURAL_SYMBOL)) || ((LA344_2425 >= NOT_EQUAL2_OPERATOR) && (LA344_2425 <= NOT_SYMBOL)) || LA344_2425 == NULL_SAFE_EQUAL_OPERATOR || LA344_2425 == ON_SYMBOL || LA344_2425 == OPEN_PAR_SYMBOL || ((LA344_2425 >= ORDER_SYMBOL) && (LA344_2425 <= OR_SYMBOL)) || LA344_2425 == PLUS_OPERATOR || LA344_2425 == PROCEDURE_SYMBOL || LA344_2425 == REGEXP_SYMBOL || LA344_2425 == RIGHT_SYMBOL || LA344_2425 == SEMICOLON_SYMBOL || LA344_2425 == SET_SYMBOL || ((LA344_2425 >= SHIFT_LEFT_OPERATOR) && (LA344_2425 <= SHIFT_RIGHT_OPERATOR)) || LA344_2425 == SINGLE_QUOTED_TEXT || LA344_2425 == STRAIGHT_JOIN_SYMBOL || LA344_2425 == UNION_SYMBOL || LA344_2425 == USING_SYMBOL || LA344_2425 == WHERE_SYMBOL || LA344_2425 == WITH_SYMBOL || LA344_2425 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2425;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_951 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2426 = LA(4);
                                        if ( (LA344_2426 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6873 = LA(5);
                                                if ( (LA344_6873 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6873 >= ASCII_SYMBOL) && (LA344_6873 <= YEAR_SYMBOL)) || LA344_6873 == BACK_TICK_QUOTED_ID || LA344_6873 == DOUBLE_QUOTED_TEXT || LA344_6873 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6873;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2426 == EOF || ((LA344_2426 >= ASCII_SYMBOL) && (LA344_2426 <= YEAR_SYMBOL)) || LA344_2426 == AND_SYMBOL || LA344_2426 == AS_SYMBOL || LA344_2426 == BACK_TICK_QUOTED_ID || LA344_2426 == BETWEEN_SYMBOL || LA344_2426 == BITWISE_AND_OPERATOR || ((LA344_2426 >= BITWISE_OR_OPERATOR) && (LA344_2426 <= BITWISE_XOR_OPERATOR)) || ((LA344_2426 >= CLOSE_CURLY_SYMBOL) && (LA344_2426 <= COLLATE_SYMBOL)) || LA344_2426 == COMMA_SYMBOL || LA344_2426 == CONCAT_PIPES_SYMBOL || LA344_2426 == CROSS_SYMBOL || ((LA344_2426 >= DIV_OPERATOR) && (LA344_2426 <= DIV_SYMBOL)) || LA344_2426 == DOUBLE_QUOTED_TEXT || LA344_2426 == EQUAL_OPERATOR || LA344_2426 == FOR_SYMBOL || LA344_2426 == FROM_SYMBOL || ((LA344_2426 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2426 <= GREATER_THAN_OPERATOR)) || ((LA344_2426 >= GROUP_SYMBOL) && (LA344_2426 <= HAVING_SYMBOL)) || LA344_2426 == IDENTIFIER || LA344_2426 == INNER_SYMBOL || LA344_2426 == INTO_SYMBOL || LA344_2426 == IN_SYMBOL || LA344_2426 == IS_SYMBOL || LA344_2426 == JOIN_SYMBOL || ((LA344_2426 >= LEFT_SYMBOL) && (LA344_2426 <= LESS_THAN_OPERATOR)) || ((LA344_2426 >= LIKE_SYMBOL) && (LA344_2426 <= LIMIT_SYMBOL)) || LA344_2426 == LOCK_SYMBOL || LA344_2426 == LOGICAL_AND_OPERATOR || LA344_2426 == LOGICAL_OR_OPERATOR || LA344_2426 == MINUS_OPERATOR || ((LA344_2426 >= MOD_OPERATOR) && (LA344_2426 <= MOD_SYMBOL)) || ((LA344_2426 >= MULT_OPERATOR) && (LA344_2426 <= NATURAL_SYMBOL)) || ((LA344_2426 >= NOT_EQUAL2_OPERATOR) && (LA344_2426 <= NOT_SYMBOL)) || LA344_2426 == NULL_SAFE_EQUAL_OPERATOR || LA344_2426 == ON_SYMBOL || LA344_2426 == OPEN_PAR_SYMBOL || ((LA344_2426 >= ORDER_SYMBOL) && (LA344_2426 <= OR_SYMBOL)) || LA344_2426 == PLUS_OPERATOR || LA344_2426 == PROCEDURE_SYMBOL || LA344_2426 == REGEXP_SYMBOL || LA344_2426 == RIGHT_SYMBOL || LA344_2426 == SEMICOLON_SYMBOL || LA344_2426 == SET_SYMBOL || ((LA344_2426 >= SHIFT_LEFT_OPERATOR) && (LA344_2426 <= SHIFT_RIGHT_OPERATOR)) || LA344_2426 == SINGLE_QUOTED_TEXT || LA344_2426 == STRAIGHT_JOIN_SYMBOL || LA344_2426 == UNION_SYMBOL || LA344_2426 == USING_SYMBOL || LA344_2426 == WHERE_SYMBOL || LA344_2426 == WITH_SYMBOL || LA344_2426 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2426;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_951 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2427 = LA(4);
                                        if ( (LA344_2427 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6926 = LA(5);
                                                if ( (LA344_6926 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6926 >= ASCII_SYMBOL) && (LA344_6926 <= YEAR_SYMBOL)) || LA344_6926 == BACK_TICK_QUOTED_ID || LA344_6926 == DOUBLE_QUOTED_TEXT || LA344_6926 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6926;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2427 == EOF || ((LA344_2427 >= ASCII_SYMBOL) && (LA344_2427 <= YEAR_SYMBOL)) || LA344_2427 == AND_SYMBOL || LA344_2427 == AS_SYMBOL || LA344_2427 == BACK_TICK_QUOTED_ID || LA344_2427 == BETWEEN_SYMBOL || LA344_2427 == BITWISE_AND_OPERATOR || ((LA344_2427 >= BITWISE_OR_OPERATOR) && (LA344_2427 <= BITWISE_XOR_OPERATOR)) || ((LA344_2427 >= CLOSE_CURLY_SYMBOL) && (LA344_2427 <= COLLATE_SYMBOL)) || LA344_2427 == COMMA_SYMBOL || LA344_2427 == CONCAT_PIPES_SYMBOL || LA344_2427 == CROSS_SYMBOL || ((LA344_2427 >= DIV_OPERATOR) && (LA344_2427 <= DIV_SYMBOL)) || LA344_2427 == DOUBLE_QUOTED_TEXT || LA344_2427 == EQUAL_OPERATOR || LA344_2427 == FOR_SYMBOL || LA344_2427 == FROM_SYMBOL || ((LA344_2427 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2427 <= GREATER_THAN_OPERATOR)) || ((LA344_2427 >= GROUP_SYMBOL) && (LA344_2427 <= HAVING_SYMBOL)) || LA344_2427 == IDENTIFIER || LA344_2427 == INNER_SYMBOL || LA344_2427 == INTO_SYMBOL || LA344_2427 == IN_SYMBOL || LA344_2427 == IS_SYMBOL || LA344_2427 == JOIN_SYMBOL || ((LA344_2427 >= LEFT_SYMBOL) && (LA344_2427 <= LESS_THAN_OPERATOR)) || ((LA344_2427 >= LIKE_SYMBOL) && (LA344_2427 <= LIMIT_SYMBOL)) || LA344_2427 == LOCK_SYMBOL || LA344_2427 == LOGICAL_AND_OPERATOR || LA344_2427 == LOGICAL_OR_OPERATOR || LA344_2427 == MINUS_OPERATOR || ((LA344_2427 >= MOD_OPERATOR) && (LA344_2427 <= MOD_SYMBOL)) || ((LA344_2427 >= MULT_OPERATOR) && (LA344_2427 <= NATURAL_SYMBOL)) || ((LA344_2427 >= NOT_EQUAL2_OPERATOR) && (LA344_2427 <= NOT_SYMBOL)) || LA344_2427 == NULL_SAFE_EQUAL_OPERATOR || LA344_2427 == ON_SYMBOL || LA344_2427 == OPEN_PAR_SYMBOL || ((LA344_2427 >= ORDER_SYMBOL) && (LA344_2427 <= OR_SYMBOL)) || LA344_2427 == PLUS_OPERATOR || LA344_2427 == PROCEDURE_SYMBOL || LA344_2427 == REGEXP_SYMBOL || LA344_2427 == RIGHT_SYMBOL || LA344_2427 == SEMICOLON_SYMBOL || LA344_2427 == SET_SYMBOL || ((LA344_2427 >= SHIFT_LEFT_OPERATOR) && (LA344_2427 <= SHIFT_RIGHT_OPERATOR)) || LA344_2427 == SINGLE_QUOTED_TEXT || LA344_2427 == STRAIGHT_JOIN_SYMBOL || LA344_2427 == UNION_SYMBOL || LA344_2427 == USING_SYMBOL || LA344_2427 == WHERE_SYMBOL || LA344_2427 == WITH_SYMBOL || LA344_2427 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2427;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_951 >= ACTION_SYMBOL) && (LA344_951 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2428 = LA(4);
                                        if ( (LA344_2428 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_6979 = LA(5);
                                                if ( (LA344_6979 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_6979 >= ASCII_SYMBOL) && (LA344_6979 <= YEAR_SYMBOL)) || LA344_6979 == BACK_TICK_QUOTED_ID || LA344_6979 == DOUBLE_QUOTED_TEXT || LA344_6979 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 6979;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2428 == EOF || ((LA344_2428 >= ASCII_SYMBOL) && (LA344_2428 <= YEAR_SYMBOL)) || LA344_2428 == AND_SYMBOL || LA344_2428 == AS_SYMBOL || LA344_2428 == BACK_TICK_QUOTED_ID || LA344_2428 == BETWEEN_SYMBOL || LA344_2428 == BITWISE_AND_OPERATOR || ((LA344_2428 >= BITWISE_OR_OPERATOR) && (LA344_2428 <= BITWISE_XOR_OPERATOR)) || ((LA344_2428 >= CLOSE_CURLY_SYMBOL) && (LA344_2428 <= COLLATE_SYMBOL)) || LA344_2428 == COMMA_SYMBOL || LA344_2428 == CONCAT_PIPES_SYMBOL || LA344_2428 == CROSS_SYMBOL || ((LA344_2428 >= DIV_OPERATOR) && (LA344_2428 <= DIV_SYMBOL)) || LA344_2428 == DOUBLE_QUOTED_TEXT || LA344_2428 == EQUAL_OPERATOR || LA344_2428 == FOR_SYMBOL || LA344_2428 == FROM_SYMBOL || ((LA344_2428 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2428 <= GREATER_THAN_OPERATOR)) || ((LA344_2428 >= GROUP_SYMBOL) && (LA344_2428 <= HAVING_SYMBOL)) || LA344_2428 == IDENTIFIER || LA344_2428 == INNER_SYMBOL || LA344_2428 == INTO_SYMBOL || LA344_2428 == IN_SYMBOL || LA344_2428 == IS_SYMBOL || LA344_2428 == JOIN_SYMBOL || ((LA344_2428 >= LEFT_SYMBOL) && (LA344_2428 <= LESS_THAN_OPERATOR)) || ((LA344_2428 >= LIKE_SYMBOL) && (LA344_2428 <= LIMIT_SYMBOL)) || LA344_2428 == LOCK_SYMBOL || LA344_2428 == LOGICAL_AND_OPERATOR || LA344_2428 == LOGICAL_OR_OPERATOR || LA344_2428 == MINUS_OPERATOR || ((LA344_2428 >= MOD_OPERATOR) && (LA344_2428 <= MOD_SYMBOL)) || ((LA344_2428 >= MULT_OPERATOR) && (LA344_2428 <= NATURAL_SYMBOL)) || ((LA344_2428 >= NOT_EQUAL2_OPERATOR) && (LA344_2428 <= NOT_SYMBOL)) || LA344_2428 == NULL_SAFE_EQUAL_OPERATOR || LA344_2428 == ON_SYMBOL || LA344_2428 == OPEN_PAR_SYMBOL || ((LA344_2428 >= ORDER_SYMBOL) && (LA344_2428 <= OR_SYMBOL)) || LA344_2428 == PLUS_OPERATOR || LA344_2428 == PROCEDURE_SYMBOL || LA344_2428 == REGEXP_SYMBOL || LA344_2428 == RIGHT_SYMBOL || LA344_2428 == SEMICOLON_SYMBOL || LA344_2428 == SET_SYMBOL || ((LA344_2428 >= SHIFT_LEFT_OPERATOR) && (LA344_2428 <= SHIFT_RIGHT_OPERATOR)) || LA344_2428 == SINGLE_QUOTED_TEXT || LA344_2428 == STRAIGHT_JOIN_SYMBOL || LA344_2428 == UNION_SYMBOL || LA344_2428 == USING_SYMBOL || LA344_2428 == WHERE_SYMBOL || LA344_2428 == WITH_SYMBOL || LA344_2428 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2428;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_951 >= ASCII_SYMBOL) && (LA344_951 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2429 = LA(4);
                                        if ( (LA344_2429 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7032 = LA(5);
                                                if ( (LA344_7032 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7032 >= ASCII_SYMBOL) && (LA344_7032 <= YEAR_SYMBOL)) || LA344_7032 == BACK_TICK_QUOTED_ID || LA344_7032 == DOUBLE_QUOTED_TEXT || LA344_7032 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7032;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2429 == EOF || ((LA344_2429 >= ASCII_SYMBOL) && (LA344_2429 <= YEAR_SYMBOL)) || LA344_2429 == AND_SYMBOL || LA344_2429 == AS_SYMBOL || LA344_2429 == BACK_TICK_QUOTED_ID || LA344_2429 == BETWEEN_SYMBOL || LA344_2429 == BITWISE_AND_OPERATOR || ((LA344_2429 >= BITWISE_OR_OPERATOR) && (LA344_2429 <= BITWISE_XOR_OPERATOR)) || ((LA344_2429 >= CLOSE_CURLY_SYMBOL) && (LA344_2429 <= COLLATE_SYMBOL)) || LA344_2429 == COMMA_SYMBOL || LA344_2429 == CONCAT_PIPES_SYMBOL || LA344_2429 == CROSS_SYMBOL || ((LA344_2429 >= DIV_OPERATOR) && (LA344_2429 <= DIV_SYMBOL)) || LA344_2429 == DOUBLE_QUOTED_TEXT || LA344_2429 == EQUAL_OPERATOR || LA344_2429 == FOR_SYMBOL || LA344_2429 == FROM_SYMBOL || ((LA344_2429 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2429 <= GREATER_THAN_OPERATOR)) || ((LA344_2429 >= GROUP_SYMBOL) && (LA344_2429 <= HAVING_SYMBOL)) || LA344_2429 == IDENTIFIER || LA344_2429 == INNER_SYMBOL || LA344_2429 == INTO_SYMBOL || LA344_2429 == IN_SYMBOL || LA344_2429 == IS_SYMBOL || LA344_2429 == JOIN_SYMBOL || ((LA344_2429 >= LEFT_SYMBOL) && (LA344_2429 <= LESS_THAN_OPERATOR)) || ((LA344_2429 >= LIKE_SYMBOL) && (LA344_2429 <= LIMIT_SYMBOL)) || LA344_2429 == LOCK_SYMBOL || LA344_2429 == LOGICAL_AND_OPERATOR || LA344_2429 == LOGICAL_OR_OPERATOR || LA344_2429 == MINUS_OPERATOR || ((LA344_2429 >= MOD_OPERATOR) && (LA344_2429 <= MOD_SYMBOL)) || ((LA344_2429 >= MULT_OPERATOR) && (LA344_2429 <= NATURAL_SYMBOL)) || ((LA344_2429 >= NOT_EQUAL2_OPERATOR) && (LA344_2429 <= NOT_SYMBOL)) || LA344_2429 == NULL_SAFE_EQUAL_OPERATOR || LA344_2429 == ON_SYMBOL || LA344_2429 == OPEN_PAR_SYMBOL || ((LA344_2429 >= ORDER_SYMBOL) && (LA344_2429 <= OR_SYMBOL)) || LA344_2429 == PLUS_OPERATOR || LA344_2429 == PROCEDURE_SYMBOL || LA344_2429 == REGEXP_SYMBOL || LA344_2429 == RIGHT_SYMBOL || LA344_2429 == SEMICOLON_SYMBOL || LA344_2429 == SET_SYMBOL || ((LA344_2429 >= SHIFT_LEFT_OPERATOR) && (LA344_2429 <= SHIFT_RIGHT_OPERATOR)) || LA344_2429 == SINGLE_QUOTED_TEXT || LA344_2429 == STRAIGHT_JOIN_SYMBOL || LA344_2429 == UNION_SYMBOL || LA344_2429 == USING_SYMBOL || LA344_2429 == WHERE_SYMBOL || LA344_2429 == WITH_SYMBOL || LA344_2429 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2429;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 951;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 40;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == COALESCE_SYMBOL))
                {
                    {
                        int LA344_45 = LA(2);
                        if ( (LA344_45 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1003 = LA(3);
                                if ( (LA344_1003 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1003 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2431 = LA(4);
                                        if ( (LA344_2431 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7085 = LA(5);
                                                if ( (LA344_7085 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7085 >= ASCII_SYMBOL) && (LA344_7085 <= YEAR_SYMBOL)) || LA344_7085 == BACK_TICK_QUOTED_ID || LA344_7085 == DOUBLE_QUOTED_TEXT || LA344_7085 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7085;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2431 == EOF || ((LA344_2431 >= ASCII_SYMBOL) && (LA344_2431 <= YEAR_SYMBOL)) || LA344_2431 == AND_SYMBOL || LA344_2431 == AS_SYMBOL || LA344_2431 == BACK_TICK_QUOTED_ID || LA344_2431 == BETWEEN_SYMBOL || LA344_2431 == BITWISE_AND_OPERATOR || ((LA344_2431 >= BITWISE_OR_OPERATOR) && (LA344_2431 <= BITWISE_XOR_OPERATOR)) || ((LA344_2431 >= CLOSE_CURLY_SYMBOL) && (LA344_2431 <= COLLATE_SYMBOL)) || LA344_2431 == COMMA_SYMBOL || LA344_2431 == CONCAT_PIPES_SYMBOL || LA344_2431 == CROSS_SYMBOL || ((LA344_2431 >= DIV_OPERATOR) && (LA344_2431 <= DIV_SYMBOL)) || LA344_2431 == DOUBLE_QUOTED_TEXT || LA344_2431 == EQUAL_OPERATOR || LA344_2431 == FOR_SYMBOL || LA344_2431 == FROM_SYMBOL || ((LA344_2431 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2431 <= GREATER_THAN_OPERATOR)) || ((LA344_2431 >= GROUP_SYMBOL) && (LA344_2431 <= HAVING_SYMBOL)) || LA344_2431 == IDENTIFIER || LA344_2431 == INNER_SYMBOL || LA344_2431 == INTO_SYMBOL || LA344_2431 == IN_SYMBOL || LA344_2431 == IS_SYMBOL || LA344_2431 == JOIN_SYMBOL || ((LA344_2431 >= LEFT_SYMBOL) && (LA344_2431 <= LESS_THAN_OPERATOR)) || ((LA344_2431 >= LIKE_SYMBOL) && (LA344_2431 <= LIMIT_SYMBOL)) || LA344_2431 == LOCK_SYMBOL || LA344_2431 == LOGICAL_AND_OPERATOR || LA344_2431 == LOGICAL_OR_OPERATOR || LA344_2431 == MINUS_OPERATOR || ((LA344_2431 >= MOD_OPERATOR) && (LA344_2431 <= MOD_SYMBOL)) || ((LA344_2431 >= MULT_OPERATOR) && (LA344_2431 <= NATURAL_SYMBOL)) || ((LA344_2431 >= NOT_EQUAL2_OPERATOR) && (LA344_2431 <= NOT_SYMBOL)) || LA344_2431 == NULL_SAFE_EQUAL_OPERATOR || LA344_2431 == ON_SYMBOL || LA344_2431 == OPEN_PAR_SYMBOL || ((LA344_2431 >= ORDER_SYMBOL) && (LA344_2431 <= OR_SYMBOL)) || LA344_2431 == PLUS_OPERATOR || LA344_2431 == PROCEDURE_SYMBOL || LA344_2431 == REGEXP_SYMBOL || LA344_2431 == RIGHT_SYMBOL || LA344_2431 == SEMICOLON_SYMBOL || LA344_2431 == SET_SYMBOL || ((LA344_2431 >= SHIFT_LEFT_OPERATOR) && (LA344_2431 <= SHIFT_RIGHT_OPERATOR)) || LA344_2431 == SINGLE_QUOTED_TEXT || LA344_2431 == STRAIGHT_JOIN_SYMBOL || LA344_2431 == UNION_SYMBOL || LA344_2431 == USING_SYMBOL || LA344_2431 == WHERE_SYMBOL || LA344_2431 == WITH_SYMBOL || LA344_2431 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2431;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1003 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2432 = LA(4);
                                        if ( (LA344_2432 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7138 = LA(5);
                                                if ( (LA344_7138 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7138 >= ASCII_SYMBOL) && (LA344_7138 <= YEAR_SYMBOL)) || LA344_7138 == BACK_TICK_QUOTED_ID || LA344_7138 == DOUBLE_QUOTED_TEXT || LA344_7138 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7138;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2432 == EOF || ((LA344_2432 >= ASCII_SYMBOL) && (LA344_2432 <= YEAR_SYMBOL)) || LA344_2432 == AND_SYMBOL || LA344_2432 == AS_SYMBOL || LA344_2432 == BACK_TICK_QUOTED_ID || LA344_2432 == BETWEEN_SYMBOL || LA344_2432 == BITWISE_AND_OPERATOR || ((LA344_2432 >= BITWISE_OR_OPERATOR) && (LA344_2432 <= BITWISE_XOR_OPERATOR)) || ((LA344_2432 >= CLOSE_CURLY_SYMBOL) && (LA344_2432 <= COLLATE_SYMBOL)) || LA344_2432 == COMMA_SYMBOL || LA344_2432 == CONCAT_PIPES_SYMBOL || LA344_2432 == CROSS_SYMBOL || ((LA344_2432 >= DIV_OPERATOR) && (LA344_2432 <= DIV_SYMBOL)) || LA344_2432 == DOUBLE_QUOTED_TEXT || LA344_2432 == EQUAL_OPERATOR || LA344_2432 == FOR_SYMBOL || LA344_2432 == FROM_SYMBOL || ((LA344_2432 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2432 <= GREATER_THAN_OPERATOR)) || ((LA344_2432 >= GROUP_SYMBOL) && (LA344_2432 <= HAVING_SYMBOL)) || LA344_2432 == IDENTIFIER || LA344_2432 == INNER_SYMBOL || LA344_2432 == INTO_SYMBOL || LA344_2432 == IN_SYMBOL || LA344_2432 == IS_SYMBOL || LA344_2432 == JOIN_SYMBOL || ((LA344_2432 >= LEFT_SYMBOL) && (LA344_2432 <= LESS_THAN_OPERATOR)) || ((LA344_2432 >= LIKE_SYMBOL) && (LA344_2432 <= LIMIT_SYMBOL)) || LA344_2432 == LOCK_SYMBOL || LA344_2432 == LOGICAL_AND_OPERATOR || LA344_2432 == LOGICAL_OR_OPERATOR || LA344_2432 == MINUS_OPERATOR || ((LA344_2432 >= MOD_OPERATOR) && (LA344_2432 <= MOD_SYMBOL)) || ((LA344_2432 >= MULT_OPERATOR) && (LA344_2432 <= NATURAL_SYMBOL)) || ((LA344_2432 >= NOT_EQUAL2_OPERATOR) && (LA344_2432 <= NOT_SYMBOL)) || LA344_2432 == NULL_SAFE_EQUAL_OPERATOR || LA344_2432 == ON_SYMBOL || LA344_2432 == OPEN_PAR_SYMBOL || ((LA344_2432 >= ORDER_SYMBOL) && (LA344_2432 <= OR_SYMBOL)) || LA344_2432 == PLUS_OPERATOR || LA344_2432 == PROCEDURE_SYMBOL || LA344_2432 == REGEXP_SYMBOL || LA344_2432 == RIGHT_SYMBOL || LA344_2432 == SEMICOLON_SYMBOL || LA344_2432 == SET_SYMBOL || ((LA344_2432 >= SHIFT_LEFT_OPERATOR) && (LA344_2432 <= SHIFT_RIGHT_OPERATOR)) || LA344_2432 == SINGLE_QUOTED_TEXT || LA344_2432 == STRAIGHT_JOIN_SYMBOL || LA344_2432 == UNION_SYMBOL || LA344_2432 == USING_SYMBOL || LA344_2432 == WHERE_SYMBOL || LA344_2432 == WITH_SYMBOL || LA344_2432 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2432;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1003 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2433 = LA(4);
                                        if ( (LA344_2433 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7191 = LA(5);
                                                if ( (LA344_7191 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7191 >= ASCII_SYMBOL) && (LA344_7191 <= YEAR_SYMBOL)) || LA344_7191 == BACK_TICK_QUOTED_ID || LA344_7191 == DOUBLE_QUOTED_TEXT || LA344_7191 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7191;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2433 == EOF || ((LA344_2433 >= ASCII_SYMBOL) && (LA344_2433 <= YEAR_SYMBOL)) || LA344_2433 == AND_SYMBOL || LA344_2433 == AS_SYMBOL || LA344_2433 == BACK_TICK_QUOTED_ID || LA344_2433 == BETWEEN_SYMBOL || LA344_2433 == BITWISE_AND_OPERATOR || ((LA344_2433 >= BITWISE_OR_OPERATOR) && (LA344_2433 <= BITWISE_XOR_OPERATOR)) || ((LA344_2433 >= CLOSE_CURLY_SYMBOL) && (LA344_2433 <= COLLATE_SYMBOL)) || LA344_2433 == COMMA_SYMBOL || LA344_2433 == CONCAT_PIPES_SYMBOL || LA344_2433 == CROSS_SYMBOL || ((LA344_2433 >= DIV_OPERATOR) && (LA344_2433 <= DIV_SYMBOL)) || LA344_2433 == DOUBLE_QUOTED_TEXT || LA344_2433 == EQUAL_OPERATOR || LA344_2433 == FOR_SYMBOL || LA344_2433 == FROM_SYMBOL || ((LA344_2433 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2433 <= GREATER_THAN_OPERATOR)) || ((LA344_2433 >= GROUP_SYMBOL) && (LA344_2433 <= HAVING_SYMBOL)) || LA344_2433 == IDENTIFIER || LA344_2433 == INNER_SYMBOL || LA344_2433 == INTO_SYMBOL || LA344_2433 == IN_SYMBOL || LA344_2433 == IS_SYMBOL || LA344_2433 == JOIN_SYMBOL || ((LA344_2433 >= LEFT_SYMBOL) && (LA344_2433 <= LESS_THAN_OPERATOR)) || ((LA344_2433 >= LIKE_SYMBOL) && (LA344_2433 <= LIMIT_SYMBOL)) || LA344_2433 == LOCK_SYMBOL || LA344_2433 == LOGICAL_AND_OPERATOR || LA344_2433 == LOGICAL_OR_OPERATOR || LA344_2433 == MINUS_OPERATOR || ((LA344_2433 >= MOD_OPERATOR) && (LA344_2433 <= MOD_SYMBOL)) || ((LA344_2433 >= MULT_OPERATOR) && (LA344_2433 <= NATURAL_SYMBOL)) || ((LA344_2433 >= NOT_EQUAL2_OPERATOR) && (LA344_2433 <= NOT_SYMBOL)) || LA344_2433 == NULL_SAFE_EQUAL_OPERATOR || LA344_2433 == ON_SYMBOL || LA344_2433 == OPEN_PAR_SYMBOL || ((LA344_2433 >= ORDER_SYMBOL) && (LA344_2433 <= OR_SYMBOL)) || LA344_2433 == PLUS_OPERATOR || LA344_2433 == PROCEDURE_SYMBOL || LA344_2433 == REGEXP_SYMBOL || LA344_2433 == RIGHT_SYMBOL || LA344_2433 == SEMICOLON_SYMBOL || LA344_2433 == SET_SYMBOL || ((LA344_2433 >= SHIFT_LEFT_OPERATOR) && (LA344_2433 <= SHIFT_RIGHT_OPERATOR)) || LA344_2433 == SINGLE_QUOTED_TEXT || LA344_2433 == STRAIGHT_JOIN_SYMBOL || LA344_2433 == UNION_SYMBOL || LA344_2433 == USING_SYMBOL || LA344_2433 == WHERE_SYMBOL || LA344_2433 == WITH_SYMBOL || LA344_2433 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2433;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1003 >= ACTION_SYMBOL) && (LA344_1003 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2434 = LA(4);
                                        if ( (LA344_2434 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7244 = LA(5);
                                                if ( (LA344_7244 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7244 >= ASCII_SYMBOL) && (LA344_7244 <= YEAR_SYMBOL)) || LA344_7244 == BACK_TICK_QUOTED_ID || LA344_7244 == DOUBLE_QUOTED_TEXT || LA344_7244 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7244;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2434 == EOF || ((LA344_2434 >= ASCII_SYMBOL) && (LA344_2434 <= YEAR_SYMBOL)) || LA344_2434 == AND_SYMBOL || LA344_2434 == AS_SYMBOL || LA344_2434 == BACK_TICK_QUOTED_ID || LA344_2434 == BETWEEN_SYMBOL || LA344_2434 == BITWISE_AND_OPERATOR || ((LA344_2434 >= BITWISE_OR_OPERATOR) && (LA344_2434 <= BITWISE_XOR_OPERATOR)) || ((LA344_2434 >= CLOSE_CURLY_SYMBOL) && (LA344_2434 <= COLLATE_SYMBOL)) || LA344_2434 == COMMA_SYMBOL || LA344_2434 == CONCAT_PIPES_SYMBOL || LA344_2434 == CROSS_SYMBOL || ((LA344_2434 >= DIV_OPERATOR) && (LA344_2434 <= DIV_SYMBOL)) || LA344_2434 == DOUBLE_QUOTED_TEXT || LA344_2434 == EQUAL_OPERATOR || LA344_2434 == FOR_SYMBOL || LA344_2434 == FROM_SYMBOL || ((LA344_2434 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2434 <= GREATER_THAN_OPERATOR)) || ((LA344_2434 >= GROUP_SYMBOL) && (LA344_2434 <= HAVING_SYMBOL)) || LA344_2434 == IDENTIFIER || LA344_2434 == INNER_SYMBOL || LA344_2434 == INTO_SYMBOL || LA344_2434 == IN_SYMBOL || LA344_2434 == IS_SYMBOL || LA344_2434 == JOIN_SYMBOL || ((LA344_2434 >= LEFT_SYMBOL) && (LA344_2434 <= LESS_THAN_OPERATOR)) || ((LA344_2434 >= LIKE_SYMBOL) && (LA344_2434 <= LIMIT_SYMBOL)) || LA344_2434 == LOCK_SYMBOL || LA344_2434 == LOGICAL_AND_OPERATOR || LA344_2434 == LOGICAL_OR_OPERATOR || LA344_2434 == MINUS_OPERATOR || ((LA344_2434 >= MOD_OPERATOR) && (LA344_2434 <= MOD_SYMBOL)) || ((LA344_2434 >= MULT_OPERATOR) && (LA344_2434 <= NATURAL_SYMBOL)) || ((LA344_2434 >= NOT_EQUAL2_OPERATOR) && (LA344_2434 <= NOT_SYMBOL)) || LA344_2434 == NULL_SAFE_EQUAL_OPERATOR || LA344_2434 == ON_SYMBOL || LA344_2434 == OPEN_PAR_SYMBOL || ((LA344_2434 >= ORDER_SYMBOL) && (LA344_2434 <= OR_SYMBOL)) || LA344_2434 == PLUS_OPERATOR || LA344_2434 == PROCEDURE_SYMBOL || LA344_2434 == REGEXP_SYMBOL || LA344_2434 == RIGHT_SYMBOL || LA344_2434 == SEMICOLON_SYMBOL || LA344_2434 == SET_SYMBOL || ((LA344_2434 >= SHIFT_LEFT_OPERATOR) && (LA344_2434 <= SHIFT_RIGHT_OPERATOR)) || LA344_2434 == SINGLE_QUOTED_TEXT || LA344_2434 == STRAIGHT_JOIN_SYMBOL || LA344_2434 == UNION_SYMBOL || LA344_2434 == USING_SYMBOL || LA344_2434 == WHERE_SYMBOL || LA344_2434 == WITH_SYMBOL || LA344_2434 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2434;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1003 >= ASCII_SYMBOL) && (LA344_1003 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2435 = LA(4);
                                        if ( (LA344_2435 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7297 = LA(5);
                                                if ( (LA344_7297 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7297 >= ASCII_SYMBOL) && (LA344_7297 <= YEAR_SYMBOL)) || LA344_7297 == BACK_TICK_QUOTED_ID || LA344_7297 == DOUBLE_QUOTED_TEXT || LA344_7297 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7297;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2435 == EOF || ((LA344_2435 >= ASCII_SYMBOL) && (LA344_2435 <= YEAR_SYMBOL)) || LA344_2435 == AND_SYMBOL || LA344_2435 == AS_SYMBOL || LA344_2435 == BACK_TICK_QUOTED_ID || LA344_2435 == BETWEEN_SYMBOL || LA344_2435 == BITWISE_AND_OPERATOR || ((LA344_2435 >= BITWISE_OR_OPERATOR) && (LA344_2435 <= BITWISE_XOR_OPERATOR)) || ((LA344_2435 >= CLOSE_CURLY_SYMBOL) && (LA344_2435 <= COLLATE_SYMBOL)) || LA344_2435 == COMMA_SYMBOL || LA344_2435 == CONCAT_PIPES_SYMBOL || LA344_2435 == CROSS_SYMBOL || ((LA344_2435 >= DIV_OPERATOR) && (LA344_2435 <= DIV_SYMBOL)) || LA344_2435 == DOUBLE_QUOTED_TEXT || LA344_2435 == EQUAL_OPERATOR || LA344_2435 == FOR_SYMBOL || LA344_2435 == FROM_SYMBOL || ((LA344_2435 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2435 <= GREATER_THAN_OPERATOR)) || ((LA344_2435 >= GROUP_SYMBOL) && (LA344_2435 <= HAVING_SYMBOL)) || LA344_2435 == IDENTIFIER || LA344_2435 == INNER_SYMBOL || LA344_2435 == INTO_SYMBOL || LA344_2435 == IN_SYMBOL || LA344_2435 == IS_SYMBOL || LA344_2435 == JOIN_SYMBOL || ((LA344_2435 >= LEFT_SYMBOL) && (LA344_2435 <= LESS_THAN_OPERATOR)) || ((LA344_2435 >= LIKE_SYMBOL) && (LA344_2435 <= LIMIT_SYMBOL)) || LA344_2435 == LOCK_SYMBOL || LA344_2435 == LOGICAL_AND_OPERATOR || LA344_2435 == LOGICAL_OR_OPERATOR || LA344_2435 == MINUS_OPERATOR || ((LA344_2435 >= MOD_OPERATOR) && (LA344_2435 <= MOD_SYMBOL)) || ((LA344_2435 >= MULT_OPERATOR) && (LA344_2435 <= NATURAL_SYMBOL)) || ((LA344_2435 >= NOT_EQUAL2_OPERATOR) && (LA344_2435 <= NOT_SYMBOL)) || LA344_2435 == NULL_SAFE_EQUAL_OPERATOR || LA344_2435 == ON_SYMBOL || LA344_2435 == OPEN_PAR_SYMBOL || ((LA344_2435 >= ORDER_SYMBOL) && (LA344_2435 <= OR_SYMBOL)) || LA344_2435 == PLUS_OPERATOR || LA344_2435 == PROCEDURE_SYMBOL || LA344_2435 == REGEXP_SYMBOL || LA344_2435 == RIGHT_SYMBOL || LA344_2435 == SEMICOLON_SYMBOL || LA344_2435 == SET_SYMBOL || ((LA344_2435 >= SHIFT_LEFT_OPERATOR) && (LA344_2435 <= SHIFT_RIGHT_OPERATOR)) || LA344_2435 == SINGLE_QUOTED_TEXT || LA344_2435 == STRAIGHT_JOIN_SYMBOL || LA344_2435 == UNION_SYMBOL || LA344_2435 == USING_SYMBOL || LA344_2435 == WHERE_SYMBOL || LA344_2435 == WITH_SYMBOL || LA344_2435 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2435;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1003;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_45 == EOF || ((LA344_45 >= ASCII_SYMBOL) && (LA344_45 <= YEAR_SYMBOL)) || LA344_45 == AND_SYMBOL || LA344_45 == AS_SYMBOL || LA344_45 == BACK_TICK_QUOTED_ID || LA344_45 == BETWEEN_SYMBOL || LA344_45 == BITWISE_AND_OPERATOR || ((LA344_45 >= BITWISE_OR_OPERATOR) && (LA344_45 <= BITWISE_XOR_OPERATOR)) || ((LA344_45 >= CLOSE_CURLY_SYMBOL) && (LA344_45 <= COLLATE_SYMBOL)) || LA344_45 == COMMA_SYMBOL || LA344_45 == CONCAT_PIPES_SYMBOL || LA344_45 == CROSS_SYMBOL || ((LA344_45 >= DIV_OPERATOR) && (LA344_45 <= DIV_SYMBOL)) || LA344_45 == DOUBLE_QUOTED_TEXT || LA344_45 == EQUAL_OPERATOR || LA344_45 == FOR_SYMBOL || LA344_45 == FROM_SYMBOL || ((LA344_45 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_45 <= GREATER_THAN_OPERATOR)) || ((LA344_45 >= GROUP_SYMBOL) && (LA344_45 <= HAVING_SYMBOL)) || LA344_45 == IDENTIFIER || LA344_45 == INNER_SYMBOL || LA344_45 == INTO_SYMBOL || LA344_45 == IN_SYMBOL || LA344_45 == IS_SYMBOL || LA344_45 == JOIN_SYMBOL || ((LA344_45 >= LEFT_SYMBOL) && (LA344_45 <= LESS_THAN_OPERATOR)) || ((LA344_45 >= LIKE_SYMBOL) && (LA344_45 <= LIMIT_SYMBOL)) || LA344_45 == LOCK_SYMBOL || LA344_45 == LOGICAL_AND_OPERATOR || LA344_45 == LOGICAL_OR_OPERATOR || LA344_45 == MINUS_OPERATOR || ((LA344_45 >= MOD_OPERATOR) && (LA344_45 <= MOD_SYMBOL)) || ((LA344_45 >= MULT_OPERATOR) && (LA344_45 <= NATURAL_SYMBOL)) || ((LA344_45 >= NOT_EQUAL2_OPERATOR) && (LA344_45 <= NOT_SYMBOL)) || LA344_45 == NULL_SAFE_EQUAL_OPERATOR || LA344_45 == ON_SYMBOL || LA344_45 == OPEN_PAR_SYMBOL || ((LA344_45 >= ORDER_SYMBOL) && (LA344_45 <= OR_SYMBOL)) || LA344_45 == PLUS_OPERATOR || LA344_45 == PROCEDURE_SYMBOL || LA344_45 == REGEXP_SYMBOL || LA344_45 == RIGHT_SYMBOL || LA344_45 == SEMICOLON_SYMBOL || LA344_45 == SET_SYMBOL || ((LA344_45 >= SHIFT_LEFT_OPERATOR) && (LA344_45 <= SHIFT_RIGHT_OPERATOR)) || LA344_45 == SINGLE_QUOTED_TEXT || LA344_45 == STRAIGHT_JOIN_SYMBOL || LA344_45 == UNION_SYMBOL || LA344_45 == USING_SYMBOL || LA344_45 == WHERE_SYMBOL || LA344_45 == WITH_SYMBOL || LA344_45 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 45;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == CHARSET_SYMBOL))
                {
                    {
                        int LA344_49 = LA(2);
                        if ( (LA344_49 == EOF || ((LA344_49 >= ASCII_SYMBOL) && (LA344_49 <= YEAR_SYMBOL)) || LA344_49 == AND_SYMBOL || LA344_49 == AS_SYMBOL || LA344_49 == BACK_TICK_QUOTED_ID || LA344_49 == BETWEEN_SYMBOL || LA344_49 == BITWISE_AND_OPERATOR || ((LA344_49 >= BITWISE_OR_OPERATOR) && (LA344_49 <= BITWISE_XOR_OPERATOR)) || ((LA344_49 >= CLOSE_CURLY_SYMBOL) && (LA344_49 <= COLLATE_SYMBOL)) || LA344_49 == COMMA_SYMBOL || LA344_49 == CONCAT_PIPES_SYMBOL || LA344_49 == CROSS_SYMBOL || ((LA344_49 >= DIV_OPERATOR) && (LA344_49 <= DIV_SYMBOL)) || LA344_49 == DOUBLE_QUOTED_TEXT || LA344_49 == EQUAL_OPERATOR || LA344_49 == FOR_SYMBOL || LA344_49 == FROM_SYMBOL || ((LA344_49 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_49 <= GREATER_THAN_OPERATOR)) || ((LA344_49 >= GROUP_SYMBOL) && (LA344_49 <= HAVING_SYMBOL)) || LA344_49 == IDENTIFIER || LA344_49 == INNER_SYMBOL || LA344_49 == INTO_SYMBOL || LA344_49 == IN_SYMBOL || LA344_49 == IS_SYMBOL || LA344_49 == JOIN_SYMBOL || ((LA344_49 >= LEFT_SYMBOL) && (LA344_49 <= LESS_THAN_OPERATOR)) || ((LA344_49 >= LIKE_SYMBOL) && (LA344_49 <= LIMIT_SYMBOL)) || LA344_49 == LOCK_SYMBOL || LA344_49 == LOGICAL_AND_OPERATOR || LA344_49 == LOGICAL_OR_OPERATOR || LA344_49 == MINUS_OPERATOR || ((LA344_49 >= MOD_OPERATOR) && (LA344_49 <= MOD_SYMBOL)) || ((LA344_49 >= MULT_OPERATOR) && (LA344_49 <= NATURAL_SYMBOL)) || ((LA344_49 >= NOT_EQUAL2_OPERATOR) && (LA344_49 <= NOT_SYMBOL)) || LA344_49 == NULL_SAFE_EQUAL_OPERATOR || LA344_49 == ON_SYMBOL || LA344_49 == OPEN_PAR_SYMBOL || ((LA344_49 >= ORDER_SYMBOL) && (LA344_49 <= OR_SYMBOL)) || LA344_49 == PLUS_OPERATOR || LA344_49 == PROCEDURE_SYMBOL || LA344_49 == REGEXP_SYMBOL || LA344_49 == RIGHT_SYMBOL || LA344_49 == SEMICOLON_SYMBOL || LA344_49 == SET_SYMBOL || ((LA344_49 >= SHIFT_LEFT_OPERATOR) && (LA344_49 <= SHIFT_RIGHT_OPERATOR)) || LA344_49 == SINGLE_QUOTED_TEXT || LA344_49 == STRAIGHT_JOIN_SYMBOL || LA344_49 == UNION_SYMBOL || LA344_49 == USING_SYMBOL || LA344_49 == WHERE_SYMBOL || LA344_49 == WITH_SYMBOL || LA344_49 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_49 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1057 = LA(3);
                                if ( (LA344_1057 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1057 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2437 = LA(4);
                                        if ( (LA344_2437 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7350 = LA(5);
                                                if ( (LA344_7350 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7350 >= ASCII_SYMBOL) && (LA344_7350 <= YEAR_SYMBOL)) || LA344_7350 == BACK_TICK_QUOTED_ID || LA344_7350 == DOUBLE_QUOTED_TEXT || LA344_7350 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7350;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2437 == EOF || ((LA344_2437 >= ASCII_SYMBOL) && (LA344_2437 <= YEAR_SYMBOL)) || LA344_2437 == AND_SYMBOL || LA344_2437 == AS_SYMBOL || LA344_2437 == BACK_TICK_QUOTED_ID || LA344_2437 == BETWEEN_SYMBOL || LA344_2437 == BITWISE_AND_OPERATOR || ((LA344_2437 >= BITWISE_OR_OPERATOR) && (LA344_2437 <= BITWISE_XOR_OPERATOR)) || ((LA344_2437 >= CLOSE_CURLY_SYMBOL) && (LA344_2437 <= COLLATE_SYMBOL)) || LA344_2437 == COMMA_SYMBOL || LA344_2437 == CONCAT_PIPES_SYMBOL || LA344_2437 == CROSS_SYMBOL || ((LA344_2437 >= DIV_OPERATOR) && (LA344_2437 <= DIV_SYMBOL)) || LA344_2437 == DOUBLE_QUOTED_TEXT || LA344_2437 == EQUAL_OPERATOR || LA344_2437 == FOR_SYMBOL || LA344_2437 == FROM_SYMBOL || ((LA344_2437 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2437 <= GREATER_THAN_OPERATOR)) || ((LA344_2437 >= GROUP_SYMBOL) && (LA344_2437 <= HAVING_SYMBOL)) || LA344_2437 == IDENTIFIER || LA344_2437 == INNER_SYMBOL || LA344_2437 == INTO_SYMBOL || LA344_2437 == IN_SYMBOL || LA344_2437 == IS_SYMBOL || LA344_2437 == JOIN_SYMBOL || ((LA344_2437 >= LEFT_SYMBOL) && (LA344_2437 <= LESS_THAN_OPERATOR)) || ((LA344_2437 >= LIKE_SYMBOL) && (LA344_2437 <= LIMIT_SYMBOL)) || LA344_2437 == LOCK_SYMBOL || LA344_2437 == LOGICAL_AND_OPERATOR || LA344_2437 == LOGICAL_OR_OPERATOR || LA344_2437 == MINUS_OPERATOR || ((LA344_2437 >= MOD_OPERATOR) && (LA344_2437 <= MOD_SYMBOL)) || ((LA344_2437 >= MULT_OPERATOR) && (LA344_2437 <= NATURAL_SYMBOL)) || ((LA344_2437 >= NOT_EQUAL2_OPERATOR) && (LA344_2437 <= NOT_SYMBOL)) || LA344_2437 == NULL_SAFE_EQUAL_OPERATOR || LA344_2437 == ON_SYMBOL || LA344_2437 == OPEN_PAR_SYMBOL || ((LA344_2437 >= ORDER_SYMBOL) && (LA344_2437 <= OR_SYMBOL)) || LA344_2437 == PLUS_OPERATOR || LA344_2437 == PROCEDURE_SYMBOL || LA344_2437 == REGEXP_SYMBOL || LA344_2437 == RIGHT_SYMBOL || LA344_2437 == SEMICOLON_SYMBOL || LA344_2437 == SET_SYMBOL || ((LA344_2437 >= SHIFT_LEFT_OPERATOR) && (LA344_2437 <= SHIFT_RIGHT_OPERATOR)) || LA344_2437 == SINGLE_QUOTED_TEXT || LA344_2437 == STRAIGHT_JOIN_SYMBOL || LA344_2437 == UNION_SYMBOL || LA344_2437 == USING_SYMBOL || LA344_2437 == WHERE_SYMBOL || LA344_2437 == WITH_SYMBOL || LA344_2437 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2437;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1057 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2438 = LA(4);
                                        if ( (LA344_2438 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7403 = LA(5);
                                                if ( (LA344_7403 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7403 >= ASCII_SYMBOL) && (LA344_7403 <= YEAR_SYMBOL)) || LA344_7403 == BACK_TICK_QUOTED_ID || LA344_7403 == DOUBLE_QUOTED_TEXT || LA344_7403 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7403;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2438 == EOF || ((LA344_2438 >= ASCII_SYMBOL) && (LA344_2438 <= YEAR_SYMBOL)) || LA344_2438 == AND_SYMBOL || LA344_2438 == AS_SYMBOL || LA344_2438 == BACK_TICK_QUOTED_ID || LA344_2438 == BETWEEN_SYMBOL || LA344_2438 == BITWISE_AND_OPERATOR || ((LA344_2438 >= BITWISE_OR_OPERATOR) && (LA344_2438 <= BITWISE_XOR_OPERATOR)) || ((LA344_2438 >= CLOSE_CURLY_SYMBOL) && (LA344_2438 <= COLLATE_SYMBOL)) || LA344_2438 == COMMA_SYMBOL || LA344_2438 == CONCAT_PIPES_SYMBOL || LA344_2438 == CROSS_SYMBOL || ((LA344_2438 >= DIV_OPERATOR) && (LA344_2438 <= DIV_SYMBOL)) || LA344_2438 == DOUBLE_QUOTED_TEXT || LA344_2438 == EQUAL_OPERATOR || LA344_2438 == FOR_SYMBOL || LA344_2438 == FROM_SYMBOL || ((LA344_2438 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2438 <= GREATER_THAN_OPERATOR)) || ((LA344_2438 >= GROUP_SYMBOL) && (LA344_2438 <= HAVING_SYMBOL)) || LA344_2438 == IDENTIFIER || LA344_2438 == INNER_SYMBOL || LA344_2438 == INTO_SYMBOL || LA344_2438 == IN_SYMBOL || LA344_2438 == IS_SYMBOL || LA344_2438 == JOIN_SYMBOL || ((LA344_2438 >= LEFT_SYMBOL) && (LA344_2438 <= LESS_THAN_OPERATOR)) || ((LA344_2438 >= LIKE_SYMBOL) && (LA344_2438 <= LIMIT_SYMBOL)) || LA344_2438 == LOCK_SYMBOL || LA344_2438 == LOGICAL_AND_OPERATOR || LA344_2438 == LOGICAL_OR_OPERATOR || LA344_2438 == MINUS_OPERATOR || ((LA344_2438 >= MOD_OPERATOR) && (LA344_2438 <= MOD_SYMBOL)) || ((LA344_2438 >= MULT_OPERATOR) && (LA344_2438 <= NATURAL_SYMBOL)) || ((LA344_2438 >= NOT_EQUAL2_OPERATOR) && (LA344_2438 <= NOT_SYMBOL)) || LA344_2438 == NULL_SAFE_EQUAL_OPERATOR || LA344_2438 == ON_SYMBOL || LA344_2438 == OPEN_PAR_SYMBOL || ((LA344_2438 >= ORDER_SYMBOL) && (LA344_2438 <= OR_SYMBOL)) || LA344_2438 == PLUS_OPERATOR || LA344_2438 == PROCEDURE_SYMBOL || LA344_2438 == REGEXP_SYMBOL || LA344_2438 == RIGHT_SYMBOL || LA344_2438 == SEMICOLON_SYMBOL || LA344_2438 == SET_SYMBOL || ((LA344_2438 >= SHIFT_LEFT_OPERATOR) && (LA344_2438 <= SHIFT_RIGHT_OPERATOR)) || LA344_2438 == SINGLE_QUOTED_TEXT || LA344_2438 == STRAIGHT_JOIN_SYMBOL || LA344_2438 == UNION_SYMBOL || LA344_2438 == USING_SYMBOL || LA344_2438 == WHERE_SYMBOL || LA344_2438 == WITH_SYMBOL || LA344_2438 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2438;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1057 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2439 = LA(4);
                                        if ( (LA344_2439 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7456 = LA(5);
                                                if ( (LA344_7456 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7456 >= ASCII_SYMBOL) && (LA344_7456 <= YEAR_SYMBOL)) || LA344_7456 == BACK_TICK_QUOTED_ID || LA344_7456 == DOUBLE_QUOTED_TEXT || LA344_7456 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7456;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2439 == EOF || ((LA344_2439 >= ASCII_SYMBOL) && (LA344_2439 <= YEAR_SYMBOL)) || LA344_2439 == AND_SYMBOL || LA344_2439 == AS_SYMBOL || LA344_2439 == BACK_TICK_QUOTED_ID || LA344_2439 == BETWEEN_SYMBOL || LA344_2439 == BITWISE_AND_OPERATOR || ((LA344_2439 >= BITWISE_OR_OPERATOR) && (LA344_2439 <= BITWISE_XOR_OPERATOR)) || ((LA344_2439 >= CLOSE_CURLY_SYMBOL) && (LA344_2439 <= COLLATE_SYMBOL)) || LA344_2439 == COMMA_SYMBOL || LA344_2439 == CONCAT_PIPES_SYMBOL || LA344_2439 == CROSS_SYMBOL || ((LA344_2439 >= DIV_OPERATOR) && (LA344_2439 <= DIV_SYMBOL)) || LA344_2439 == DOUBLE_QUOTED_TEXT || LA344_2439 == EQUAL_OPERATOR || LA344_2439 == FOR_SYMBOL || LA344_2439 == FROM_SYMBOL || ((LA344_2439 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2439 <= GREATER_THAN_OPERATOR)) || ((LA344_2439 >= GROUP_SYMBOL) && (LA344_2439 <= HAVING_SYMBOL)) || LA344_2439 == IDENTIFIER || LA344_2439 == INNER_SYMBOL || LA344_2439 == INTO_SYMBOL || LA344_2439 == IN_SYMBOL || LA344_2439 == IS_SYMBOL || LA344_2439 == JOIN_SYMBOL || ((LA344_2439 >= LEFT_SYMBOL) && (LA344_2439 <= LESS_THAN_OPERATOR)) || ((LA344_2439 >= LIKE_SYMBOL) && (LA344_2439 <= LIMIT_SYMBOL)) || LA344_2439 == LOCK_SYMBOL || LA344_2439 == LOGICAL_AND_OPERATOR || LA344_2439 == LOGICAL_OR_OPERATOR || LA344_2439 == MINUS_OPERATOR || ((LA344_2439 >= MOD_OPERATOR) && (LA344_2439 <= MOD_SYMBOL)) || ((LA344_2439 >= MULT_OPERATOR) && (LA344_2439 <= NATURAL_SYMBOL)) || ((LA344_2439 >= NOT_EQUAL2_OPERATOR) && (LA344_2439 <= NOT_SYMBOL)) || LA344_2439 == NULL_SAFE_EQUAL_OPERATOR || LA344_2439 == ON_SYMBOL || LA344_2439 == OPEN_PAR_SYMBOL || ((LA344_2439 >= ORDER_SYMBOL) && (LA344_2439 <= OR_SYMBOL)) || LA344_2439 == PLUS_OPERATOR || LA344_2439 == PROCEDURE_SYMBOL || LA344_2439 == REGEXP_SYMBOL || LA344_2439 == RIGHT_SYMBOL || LA344_2439 == SEMICOLON_SYMBOL || LA344_2439 == SET_SYMBOL || ((LA344_2439 >= SHIFT_LEFT_OPERATOR) && (LA344_2439 <= SHIFT_RIGHT_OPERATOR)) || LA344_2439 == SINGLE_QUOTED_TEXT || LA344_2439 == STRAIGHT_JOIN_SYMBOL || LA344_2439 == UNION_SYMBOL || LA344_2439 == USING_SYMBOL || LA344_2439 == WHERE_SYMBOL || LA344_2439 == WITH_SYMBOL || LA344_2439 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2439;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1057 >= ACTION_SYMBOL) && (LA344_1057 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2440 = LA(4);
                                        if ( (LA344_2440 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7509 = LA(5);
                                                if ( (LA344_7509 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7509 >= ASCII_SYMBOL) && (LA344_7509 <= YEAR_SYMBOL)) || LA344_7509 == BACK_TICK_QUOTED_ID || LA344_7509 == DOUBLE_QUOTED_TEXT || LA344_7509 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7509;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2440 == EOF || ((LA344_2440 >= ASCII_SYMBOL) && (LA344_2440 <= YEAR_SYMBOL)) || LA344_2440 == AND_SYMBOL || LA344_2440 == AS_SYMBOL || LA344_2440 == BACK_TICK_QUOTED_ID || LA344_2440 == BETWEEN_SYMBOL || LA344_2440 == BITWISE_AND_OPERATOR || ((LA344_2440 >= BITWISE_OR_OPERATOR) && (LA344_2440 <= BITWISE_XOR_OPERATOR)) || ((LA344_2440 >= CLOSE_CURLY_SYMBOL) && (LA344_2440 <= COLLATE_SYMBOL)) || LA344_2440 == COMMA_SYMBOL || LA344_2440 == CONCAT_PIPES_SYMBOL || LA344_2440 == CROSS_SYMBOL || ((LA344_2440 >= DIV_OPERATOR) && (LA344_2440 <= DIV_SYMBOL)) || LA344_2440 == DOUBLE_QUOTED_TEXT || LA344_2440 == EQUAL_OPERATOR || LA344_2440 == FOR_SYMBOL || LA344_2440 == FROM_SYMBOL || ((LA344_2440 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2440 <= GREATER_THAN_OPERATOR)) || ((LA344_2440 >= GROUP_SYMBOL) && (LA344_2440 <= HAVING_SYMBOL)) || LA344_2440 == IDENTIFIER || LA344_2440 == INNER_SYMBOL || LA344_2440 == INTO_SYMBOL || LA344_2440 == IN_SYMBOL || LA344_2440 == IS_SYMBOL || LA344_2440 == JOIN_SYMBOL || ((LA344_2440 >= LEFT_SYMBOL) && (LA344_2440 <= LESS_THAN_OPERATOR)) || ((LA344_2440 >= LIKE_SYMBOL) && (LA344_2440 <= LIMIT_SYMBOL)) || LA344_2440 == LOCK_SYMBOL || LA344_2440 == LOGICAL_AND_OPERATOR || LA344_2440 == LOGICAL_OR_OPERATOR || LA344_2440 == MINUS_OPERATOR || ((LA344_2440 >= MOD_OPERATOR) && (LA344_2440 <= MOD_SYMBOL)) || ((LA344_2440 >= MULT_OPERATOR) && (LA344_2440 <= NATURAL_SYMBOL)) || ((LA344_2440 >= NOT_EQUAL2_OPERATOR) && (LA344_2440 <= NOT_SYMBOL)) || LA344_2440 == NULL_SAFE_EQUAL_OPERATOR || LA344_2440 == ON_SYMBOL || LA344_2440 == OPEN_PAR_SYMBOL || ((LA344_2440 >= ORDER_SYMBOL) && (LA344_2440 <= OR_SYMBOL)) || LA344_2440 == PLUS_OPERATOR || LA344_2440 == PROCEDURE_SYMBOL || LA344_2440 == REGEXP_SYMBOL || LA344_2440 == RIGHT_SYMBOL || LA344_2440 == SEMICOLON_SYMBOL || LA344_2440 == SET_SYMBOL || ((LA344_2440 >= SHIFT_LEFT_OPERATOR) && (LA344_2440 <= SHIFT_RIGHT_OPERATOR)) || LA344_2440 == SINGLE_QUOTED_TEXT || LA344_2440 == STRAIGHT_JOIN_SYMBOL || LA344_2440 == UNION_SYMBOL || LA344_2440 == USING_SYMBOL || LA344_2440 == WHERE_SYMBOL || LA344_2440 == WITH_SYMBOL || LA344_2440 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2440;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1057 >= ASCII_SYMBOL) && (LA344_1057 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2441 = LA(4);
                                        if ( (LA344_2441 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7562 = LA(5);
                                                if ( (LA344_7562 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7562 >= ASCII_SYMBOL) && (LA344_7562 <= YEAR_SYMBOL)) || LA344_7562 == BACK_TICK_QUOTED_ID || LA344_7562 == DOUBLE_QUOTED_TEXT || LA344_7562 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7562;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2441 == EOF || ((LA344_2441 >= ASCII_SYMBOL) && (LA344_2441 <= YEAR_SYMBOL)) || LA344_2441 == AND_SYMBOL || LA344_2441 == AS_SYMBOL || LA344_2441 == BACK_TICK_QUOTED_ID || LA344_2441 == BETWEEN_SYMBOL || LA344_2441 == BITWISE_AND_OPERATOR || ((LA344_2441 >= BITWISE_OR_OPERATOR) && (LA344_2441 <= BITWISE_XOR_OPERATOR)) || ((LA344_2441 >= CLOSE_CURLY_SYMBOL) && (LA344_2441 <= COLLATE_SYMBOL)) || LA344_2441 == COMMA_SYMBOL || LA344_2441 == CONCAT_PIPES_SYMBOL || LA344_2441 == CROSS_SYMBOL || ((LA344_2441 >= DIV_OPERATOR) && (LA344_2441 <= DIV_SYMBOL)) || LA344_2441 == DOUBLE_QUOTED_TEXT || LA344_2441 == EQUAL_OPERATOR || LA344_2441 == FOR_SYMBOL || LA344_2441 == FROM_SYMBOL || ((LA344_2441 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2441 <= GREATER_THAN_OPERATOR)) || ((LA344_2441 >= GROUP_SYMBOL) && (LA344_2441 <= HAVING_SYMBOL)) || LA344_2441 == IDENTIFIER || LA344_2441 == INNER_SYMBOL || LA344_2441 == INTO_SYMBOL || LA344_2441 == IN_SYMBOL || LA344_2441 == IS_SYMBOL || LA344_2441 == JOIN_SYMBOL || ((LA344_2441 >= LEFT_SYMBOL) && (LA344_2441 <= LESS_THAN_OPERATOR)) || ((LA344_2441 >= LIKE_SYMBOL) && (LA344_2441 <= LIMIT_SYMBOL)) || LA344_2441 == LOCK_SYMBOL || LA344_2441 == LOGICAL_AND_OPERATOR || LA344_2441 == LOGICAL_OR_OPERATOR || LA344_2441 == MINUS_OPERATOR || ((LA344_2441 >= MOD_OPERATOR) && (LA344_2441 <= MOD_SYMBOL)) || ((LA344_2441 >= MULT_OPERATOR) && (LA344_2441 <= NATURAL_SYMBOL)) || ((LA344_2441 >= NOT_EQUAL2_OPERATOR) && (LA344_2441 <= NOT_SYMBOL)) || LA344_2441 == NULL_SAFE_EQUAL_OPERATOR || LA344_2441 == ON_SYMBOL || LA344_2441 == OPEN_PAR_SYMBOL || ((LA344_2441 >= ORDER_SYMBOL) && (LA344_2441 <= OR_SYMBOL)) || LA344_2441 == PLUS_OPERATOR || LA344_2441 == PROCEDURE_SYMBOL || LA344_2441 == REGEXP_SYMBOL || LA344_2441 == RIGHT_SYMBOL || LA344_2441 == SEMICOLON_SYMBOL || LA344_2441 == SET_SYMBOL || ((LA344_2441 >= SHIFT_LEFT_OPERATOR) && (LA344_2441 <= SHIFT_RIGHT_OPERATOR)) || LA344_2441 == SINGLE_QUOTED_TEXT || LA344_2441 == STRAIGHT_JOIN_SYMBOL || LA344_2441 == UNION_SYMBOL || LA344_2441 == USING_SYMBOL || LA344_2441 == WHERE_SYMBOL || LA344_2441 == WITH_SYMBOL || LA344_2441 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2441;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1057;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 49;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == FORMAT_SYMBOL))
                {
                    {
                        int LA344_50 = LA(2);
                        if ( (LA344_50 == EOF || ((LA344_50 >= ASCII_SYMBOL) && (LA344_50 <= YEAR_SYMBOL)) || LA344_50 == AND_SYMBOL || LA344_50 == AS_SYMBOL || LA344_50 == BACK_TICK_QUOTED_ID || LA344_50 == BETWEEN_SYMBOL || LA344_50 == BITWISE_AND_OPERATOR || ((LA344_50 >= BITWISE_OR_OPERATOR) && (LA344_50 <= BITWISE_XOR_OPERATOR)) || ((LA344_50 >= CLOSE_CURLY_SYMBOL) && (LA344_50 <= COLLATE_SYMBOL)) || LA344_50 == COMMA_SYMBOL || LA344_50 == CONCAT_PIPES_SYMBOL || LA344_50 == CROSS_SYMBOL || ((LA344_50 >= DIV_OPERATOR) && (LA344_50 <= DIV_SYMBOL)) || LA344_50 == DOUBLE_QUOTED_TEXT || LA344_50 == EQUAL_OPERATOR || LA344_50 == FOR_SYMBOL || LA344_50 == FROM_SYMBOL || ((LA344_50 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_50 <= GREATER_THAN_OPERATOR)) || ((LA344_50 >= GROUP_SYMBOL) && (LA344_50 <= HAVING_SYMBOL)) || LA344_50 == IDENTIFIER || LA344_50 == INNER_SYMBOL || LA344_50 == INTO_SYMBOL || LA344_50 == IN_SYMBOL || LA344_50 == IS_SYMBOL || LA344_50 == JOIN_SYMBOL || ((LA344_50 >= LEFT_SYMBOL) && (LA344_50 <= LESS_THAN_OPERATOR)) || ((LA344_50 >= LIKE_SYMBOL) && (LA344_50 <= LIMIT_SYMBOL)) || LA344_50 == LOCK_SYMBOL || LA344_50 == LOGICAL_AND_OPERATOR || LA344_50 == LOGICAL_OR_OPERATOR || LA344_50 == MINUS_OPERATOR || ((LA344_50 >= MOD_OPERATOR) && (LA344_50 <= MOD_SYMBOL)) || ((LA344_50 >= MULT_OPERATOR) && (LA344_50 <= NATURAL_SYMBOL)) || ((LA344_50 >= NOT_EQUAL2_OPERATOR) && (LA344_50 <= NOT_SYMBOL)) || LA344_50 == NULL_SAFE_EQUAL_OPERATOR || LA344_50 == ON_SYMBOL || LA344_50 == OPEN_PAR_SYMBOL || ((LA344_50 >= ORDER_SYMBOL) && (LA344_50 <= OR_SYMBOL)) || LA344_50 == PLUS_OPERATOR || LA344_50 == PROCEDURE_SYMBOL || LA344_50 == REGEXP_SYMBOL || LA344_50 == RIGHT_SYMBOL || LA344_50 == SEMICOLON_SYMBOL || LA344_50 == SET_SYMBOL || ((LA344_50 >= SHIFT_LEFT_OPERATOR) && (LA344_50 <= SHIFT_RIGHT_OPERATOR)) || LA344_50 == SINGLE_QUOTED_TEXT || LA344_50 == STRAIGHT_JOIN_SYMBOL || LA344_50 == UNION_SYMBOL || LA344_50 == USING_SYMBOL || LA344_50 == WHERE_SYMBOL || LA344_50 == WITH_SYMBOL || LA344_50 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_50 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1110 = LA(3);
                                if ( (LA344_1110 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1110 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2443 = LA(4);
                                        if ( (LA344_2443 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7615 = LA(5);
                                                if ( (LA344_7615 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7615 >= ASCII_SYMBOL) && (LA344_7615 <= YEAR_SYMBOL)) || LA344_7615 == BACK_TICK_QUOTED_ID || LA344_7615 == DOUBLE_QUOTED_TEXT || LA344_7615 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7615;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2443 == EOF || ((LA344_2443 >= ASCII_SYMBOL) && (LA344_2443 <= YEAR_SYMBOL)) || LA344_2443 == AND_SYMBOL || LA344_2443 == AS_SYMBOL || LA344_2443 == BACK_TICK_QUOTED_ID || LA344_2443 == BETWEEN_SYMBOL || LA344_2443 == BITWISE_AND_OPERATOR || ((LA344_2443 >= BITWISE_OR_OPERATOR) && (LA344_2443 <= BITWISE_XOR_OPERATOR)) || ((LA344_2443 >= CLOSE_CURLY_SYMBOL) && (LA344_2443 <= COLLATE_SYMBOL)) || LA344_2443 == COMMA_SYMBOL || LA344_2443 == CONCAT_PIPES_SYMBOL || LA344_2443 == CROSS_SYMBOL || ((LA344_2443 >= DIV_OPERATOR) && (LA344_2443 <= DIV_SYMBOL)) || LA344_2443 == DOUBLE_QUOTED_TEXT || LA344_2443 == EQUAL_OPERATOR || LA344_2443 == FOR_SYMBOL || LA344_2443 == FROM_SYMBOL || ((LA344_2443 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2443 <= GREATER_THAN_OPERATOR)) || ((LA344_2443 >= GROUP_SYMBOL) && (LA344_2443 <= HAVING_SYMBOL)) || LA344_2443 == IDENTIFIER || LA344_2443 == INNER_SYMBOL || LA344_2443 == INTO_SYMBOL || LA344_2443 == IN_SYMBOL || LA344_2443 == IS_SYMBOL || LA344_2443 == JOIN_SYMBOL || ((LA344_2443 >= LEFT_SYMBOL) && (LA344_2443 <= LESS_THAN_OPERATOR)) || ((LA344_2443 >= LIKE_SYMBOL) && (LA344_2443 <= LIMIT_SYMBOL)) || LA344_2443 == LOCK_SYMBOL || LA344_2443 == LOGICAL_AND_OPERATOR || LA344_2443 == LOGICAL_OR_OPERATOR || LA344_2443 == MINUS_OPERATOR || ((LA344_2443 >= MOD_OPERATOR) && (LA344_2443 <= MOD_SYMBOL)) || ((LA344_2443 >= MULT_OPERATOR) && (LA344_2443 <= NATURAL_SYMBOL)) || ((LA344_2443 >= NOT_EQUAL2_OPERATOR) && (LA344_2443 <= NOT_SYMBOL)) || LA344_2443 == NULL_SAFE_EQUAL_OPERATOR || LA344_2443 == ON_SYMBOL || LA344_2443 == OPEN_PAR_SYMBOL || ((LA344_2443 >= ORDER_SYMBOL) && (LA344_2443 <= OR_SYMBOL)) || LA344_2443 == PLUS_OPERATOR || LA344_2443 == PROCEDURE_SYMBOL || LA344_2443 == REGEXP_SYMBOL || LA344_2443 == RIGHT_SYMBOL || LA344_2443 == SEMICOLON_SYMBOL || LA344_2443 == SET_SYMBOL || ((LA344_2443 >= SHIFT_LEFT_OPERATOR) && (LA344_2443 <= SHIFT_RIGHT_OPERATOR)) || LA344_2443 == SINGLE_QUOTED_TEXT || LA344_2443 == STRAIGHT_JOIN_SYMBOL || LA344_2443 == UNION_SYMBOL || LA344_2443 == USING_SYMBOL || LA344_2443 == WHERE_SYMBOL || LA344_2443 == WITH_SYMBOL || LA344_2443 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2443;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1110 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2444 = LA(4);
                                        if ( (LA344_2444 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7668 = LA(5);
                                                if ( (LA344_7668 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7668 >= ASCII_SYMBOL) && (LA344_7668 <= YEAR_SYMBOL)) || LA344_7668 == BACK_TICK_QUOTED_ID || LA344_7668 == DOUBLE_QUOTED_TEXT || LA344_7668 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7668;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2444 == EOF || ((LA344_2444 >= ASCII_SYMBOL) && (LA344_2444 <= YEAR_SYMBOL)) || LA344_2444 == AND_SYMBOL || LA344_2444 == AS_SYMBOL || LA344_2444 == BACK_TICK_QUOTED_ID || LA344_2444 == BETWEEN_SYMBOL || LA344_2444 == BITWISE_AND_OPERATOR || ((LA344_2444 >= BITWISE_OR_OPERATOR) && (LA344_2444 <= BITWISE_XOR_OPERATOR)) || ((LA344_2444 >= CLOSE_CURLY_SYMBOL) && (LA344_2444 <= COLLATE_SYMBOL)) || LA344_2444 == COMMA_SYMBOL || LA344_2444 == CONCAT_PIPES_SYMBOL || LA344_2444 == CROSS_SYMBOL || ((LA344_2444 >= DIV_OPERATOR) && (LA344_2444 <= DIV_SYMBOL)) || LA344_2444 == DOUBLE_QUOTED_TEXT || LA344_2444 == EQUAL_OPERATOR || LA344_2444 == FOR_SYMBOL || LA344_2444 == FROM_SYMBOL || ((LA344_2444 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2444 <= GREATER_THAN_OPERATOR)) || ((LA344_2444 >= GROUP_SYMBOL) && (LA344_2444 <= HAVING_SYMBOL)) || LA344_2444 == IDENTIFIER || LA344_2444 == INNER_SYMBOL || LA344_2444 == INTO_SYMBOL || LA344_2444 == IN_SYMBOL || LA344_2444 == IS_SYMBOL || LA344_2444 == JOIN_SYMBOL || ((LA344_2444 >= LEFT_SYMBOL) && (LA344_2444 <= LESS_THAN_OPERATOR)) || ((LA344_2444 >= LIKE_SYMBOL) && (LA344_2444 <= LIMIT_SYMBOL)) || LA344_2444 == LOCK_SYMBOL || LA344_2444 == LOGICAL_AND_OPERATOR || LA344_2444 == LOGICAL_OR_OPERATOR || LA344_2444 == MINUS_OPERATOR || ((LA344_2444 >= MOD_OPERATOR) && (LA344_2444 <= MOD_SYMBOL)) || ((LA344_2444 >= MULT_OPERATOR) && (LA344_2444 <= NATURAL_SYMBOL)) || ((LA344_2444 >= NOT_EQUAL2_OPERATOR) && (LA344_2444 <= NOT_SYMBOL)) || LA344_2444 == NULL_SAFE_EQUAL_OPERATOR || LA344_2444 == ON_SYMBOL || LA344_2444 == OPEN_PAR_SYMBOL || ((LA344_2444 >= ORDER_SYMBOL) && (LA344_2444 <= OR_SYMBOL)) || LA344_2444 == PLUS_OPERATOR || LA344_2444 == PROCEDURE_SYMBOL || LA344_2444 == REGEXP_SYMBOL || LA344_2444 == RIGHT_SYMBOL || LA344_2444 == SEMICOLON_SYMBOL || LA344_2444 == SET_SYMBOL || ((LA344_2444 >= SHIFT_LEFT_OPERATOR) && (LA344_2444 <= SHIFT_RIGHT_OPERATOR)) || LA344_2444 == SINGLE_QUOTED_TEXT || LA344_2444 == STRAIGHT_JOIN_SYMBOL || LA344_2444 == UNION_SYMBOL || LA344_2444 == USING_SYMBOL || LA344_2444 == WHERE_SYMBOL || LA344_2444 == WITH_SYMBOL || LA344_2444 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2444;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1110 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2445 = LA(4);
                                        if ( (LA344_2445 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7721 = LA(5);
                                                if ( (LA344_7721 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7721 >= ASCII_SYMBOL) && (LA344_7721 <= YEAR_SYMBOL)) || LA344_7721 == BACK_TICK_QUOTED_ID || LA344_7721 == DOUBLE_QUOTED_TEXT || LA344_7721 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7721;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2445 == EOF || ((LA344_2445 >= ASCII_SYMBOL) && (LA344_2445 <= YEAR_SYMBOL)) || LA344_2445 == AND_SYMBOL || LA344_2445 == AS_SYMBOL || LA344_2445 == BACK_TICK_QUOTED_ID || LA344_2445 == BETWEEN_SYMBOL || LA344_2445 == BITWISE_AND_OPERATOR || ((LA344_2445 >= BITWISE_OR_OPERATOR) && (LA344_2445 <= BITWISE_XOR_OPERATOR)) || ((LA344_2445 >= CLOSE_CURLY_SYMBOL) && (LA344_2445 <= COLLATE_SYMBOL)) || LA344_2445 == COMMA_SYMBOL || LA344_2445 == CONCAT_PIPES_SYMBOL || LA344_2445 == CROSS_SYMBOL || ((LA344_2445 >= DIV_OPERATOR) && (LA344_2445 <= DIV_SYMBOL)) || LA344_2445 == DOUBLE_QUOTED_TEXT || LA344_2445 == EQUAL_OPERATOR || LA344_2445 == FOR_SYMBOL || LA344_2445 == FROM_SYMBOL || ((LA344_2445 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2445 <= GREATER_THAN_OPERATOR)) || ((LA344_2445 >= GROUP_SYMBOL) && (LA344_2445 <= HAVING_SYMBOL)) || LA344_2445 == IDENTIFIER || LA344_2445 == INNER_SYMBOL || LA344_2445 == INTO_SYMBOL || LA344_2445 == IN_SYMBOL || LA344_2445 == IS_SYMBOL || LA344_2445 == JOIN_SYMBOL || ((LA344_2445 >= LEFT_SYMBOL) && (LA344_2445 <= LESS_THAN_OPERATOR)) || ((LA344_2445 >= LIKE_SYMBOL) && (LA344_2445 <= LIMIT_SYMBOL)) || LA344_2445 == LOCK_SYMBOL || LA344_2445 == LOGICAL_AND_OPERATOR || LA344_2445 == LOGICAL_OR_OPERATOR || LA344_2445 == MINUS_OPERATOR || ((LA344_2445 >= MOD_OPERATOR) && (LA344_2445 <= MOD_SYMBOL)) || ((LA344_2445 >= MULT_OPERATOR) && (LA344_2445 <= NATURAL_SYMBOL)) || ((LA344_2445 >= NOT_EQUAL2_OPERATOR) && (LA344_2445 <= NOT_SYMBOL)) || LA344_2445 == NULL_SAFE_EQUAL_OPERATOR || LA344_2445 == ON_SYMBOL || LA344_2445 == OPEN_PAR_SYMBOL || ((LA344_2445 >= ORDER_SYMBOL) && (LA344_2445 <= OR_SYMBOL)) || LA344_2445 == PLUS_OPERATOR || LA344_2445 == PROCEDURE_SYMBOL || LA344_2445 == REGEXP_SYMBOL || LA344_2445 == RIGHT_SYMBOL || LA344_2445 == SEMICOLON_SYMBOL || LA344_2445 == SET_SYMBOL || ((LA344_2445 >= SHIFT_LEFT_OPERATOR) && (LA344_2445 <= SHIFT_RIGHT_OPERATOR)) || LA344_2445 == SINGLE_QUOTED_TEXT || LA344_2445 == STRAIGHT_JOIN_SYMBOL || LA344_2445 == UNION_SYMBOL || LA344_2445 == USING_SYMBOL || LA344_2445 == WHERE_SYMBOL || LA344_2445 == WITH_SYMBOL || LA344_2445 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2445;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1110 >= ACTION_SYMBOL) && (LA344_1110 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2446 = LA(4);
                                        if ( (LA344_2446 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7774 = LA(5);
                                                if ( (LA344_7774 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7774 >= ASCII_SYMBOL) && (LA344_7774 <= YEAR_SYMBOL)) || LA344_7774 == BACK_TICK_QUOTED_ID || LA344_7774 == DOUBLE_QUOTED_TEXT || LA344_7774 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7774;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2446 == EOF || ((LA344_2446 >= ASCII_SYMBOL) && (LA344_2446 <= YEAR_SYMBOL)) || LA344_2446 == AND_SYMBOL || LA344_2446 == AS_SYMBOL || LA344_2446 == BACK_TICK_QUOTED_ID || LA344_2446 == BETWEEN_SYMBOL || LA344_2446 == BITWISE_AND_OPERATOR || ((LA344_2446 >= BITWISE_OR_OPERATOR) && (LA344_2446 <= BITWISE_XOR_OPERATOR)) || ((LA344_2446 >= CLOSE_CURLY_SYMBOL) && (LA344_2446 <= COLLATE_SYMBOL)) || LA344_2446 == COMMA_SYMBOL || LA344_2446 == CONCAT_PIPES_SYMBOL || LA344_2446 == CROSS_SYMBOL || ((LA344_2446 >= DIV_OPERATOR) && (LA344_2446 <= DIV_SYMBOL)) || LA344_2446 == DOUBLE_QUOTED_TEXT || LA344_2446 == EQUAL_OPERATOR || LA344_2446 == FOR_SYMBOL || LA344_2446 == FROM_SYMBOL || ((LA344_2446 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2446 <= GREATER_THAN_OPERATOR)) || ((LA344_2446 >= GROUP_SYMBOL) && (LA344_2446 <= HAVING_SYMBOL)) || LA344_2446 == IDENTIFIER || LA344_2446 == INNER_SYMBOL || LA344_2446 == INTO_SYMBOL || LA344_2446 == IN_SYMBOL || LA344_2446 == IS_SYMBOL || LA344_2446 == JOIN_SYMBOL || ((LA344_2446 >= LEFT_SYMBOL) && (LA344_2446 <= LESS_THAN_OPERATOR)) || ((LA344_2446 >= LIKE_SYMBOL) && (LA344_2446 <= LIMIT_SYMBOL)) || LA344_2446 == LOCK_SYMBOL || LA344_2446 == LOGICAL_AND_OPERATOR || LA344_2446 == LOGICAL_OR_OPERATOR || LA344_2446 == MINUS_OPERATOR || ((LA344_2446 >= MOD_OPERATOR) && (LA344_2446 <= MOD_SYMBOL)) || ((LA344_2446 >= MULT_OPERATOR) && (LA344_2446 <= NATURAL_SYMBOL)) || ((LA344_2446 >= NOT_EQUAL2_OPERATOR) && (LA344_2446 <= NOT_SYMBOL)) || LA344_2446 == NULL_SAFE_EQUAL_OPERATOR || LA344_2446 == ON_SYMBOL || LA344_2446 == OPEN_PAR_SYMBOL || ((LA344_2446 >= ORDER_SYMBOL) && (LA344_2446 <= OR_SYMBOL)) || LA344_2446 == PLUS_OPERATOR || LA344_2446 == PROCEDURE_SYMBOL || LA344_2446 == REGEXP_SYMBOL || LA344_2446 == RIGHT_SYMBOL || LA344_2446 == SEMICOLON_SYMBOL || LA344_2446 == SET_SYMBOL || ((LA344_2446 >= SHIFT_LEFT_OPERATOR) && (LA344_2446 <= SHIFT_RIGHT_OPERATOR)) || LA344_2446 == SINGLE_QUOTED_TEXT || LA344_2446 == STRAIGHT_JOIN_SYMBOL || LA344_2446 == UNION_SYMBOL || LA344_2446 == USING_SYMBOL || LA344_2446 == WHERE_SYMBOL || LA344_2446 == WITH_SYMBOL || LA344_2446 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2446;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1110 >= ASCII_SYMBOL) && (LA344_1110 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2447 = LA(4);
                                        if ( (LA344_2447 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7827 = LA(5);
                                                if ( (LA344_7827 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7827 >= ASCII_SYMBOL) && (LA344_7827 <= YEAR_SYMBOL)) || LA344_7827 == BACK_TICK_QUOTED_ID || LA344_7827 == DOUBLE_QUOTED_TEXT || LA344_7827 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7827;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2447 == EOF || ((LA344_2447 >= ASCII_SYMBOL) && (LA344_2447 <= YEAR_SYMBOL)) || LA344_2447 == AND_SYMBOL || LA344_2447 == AS_SYMBOL || LA344_2447 == BACK_TICK_QUOTED_ID || LA344_2447 == BETWEEN_SYMBOL || LA344_2447 == BITWISE_AND_OPERATOR || ((LA344_2447 >= BITWISE_OR_OPERATOR) && (LA344_2447 <= BITWISE_XOR_OPERATOR)) || ((LA344_2447 >= CLOSE_CURLY_SYMBOL) && (LA344_2447 <= COLLATE_SYMBOL)) || LA344_2447 == COMMA_SYMBOL || LA344_2447 == CONCAT_PIPES_SYMBOL || LA344_2447 == CROSS_SYMBOL || ((LA344_2447 >= DIV_OPERATOR) && (LA344_2447 <= DIV_SYMBOL)) || LA344_2447 == DOUBLE_QUOTED_TEXT || LA344_2447 == EQUAL_OPERATOR || LA344_2447 == FOR_SYMBOL || LA344_2447 == FROM_SYMBOL || ((LA344_2447 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2447 <= GREATER_THAN_OPERATOR)) || ((LA344_2447 >= GROUP_SYMBOL) && (LA344_2447 <= HAVING_SYMBOL)) || LA344_2447 == IDENTIFIER || LA344_2447 == INNER_SYMBOL || LA344_2447 == INTO_SYMBOL || LA344_2447 == IN_SYMBOL || LA344_2447 == IS_SYMBOL || LA344_2447 == JOIN_SYMBOL || ((LA344_2447 >= LEFT_SYMBOL) && (LA344_2447 <= LESS_THAN_OPERATOR)) || ((LA344_2447 >= LIKE_SYMBOL) && (LA344_2447 <= LIMIT_SYMBOL)) || LA344_2447 == LOCK_SYMBOL || LA344_2447 == LOGICAL_AND_OPERATOR || LA344_2447 == LOGICAL_OR_OPERATOR || LA344_2447 == MINUS_OPERATOR || ((LA344_2447 >= MOD_OPERATOR) && (LA344_2447 <= MOD_SYMBOL)) || ((LA344_2447 >= MULT_OPERATOR) && (LA344_2447 <= NATURAL_SYMBOL)) || ((LA344_2447 >= NOT_EQUAL2_OPERATOR) && (LA344_2447 <= NOT_SYMBOL)) || LA344_2447 == NULL_SAFE_EQUAL_OPERATOR || LA344_2447 == ON_SYMBOL || LA344_2447 == OPEN_PAR_SYMBOL || ((LA344_2447 >= ORDER_SYMBOL) && (LA344_2447 <= OR_SYMBOL)) || LA344_2447 == PLUS_OPERATOR || LA344_2447 == PROCEDURE_SYMBOL || LA344_2447 == REGEXP_SYMBOL || LA344_2447 == RIGHT_SYMBOL || LA344_2447 == SEMICOLON_SYMBOL || LA344_2447 == SET_SYMBOL || ((LA344_2447 >= SHIFT_LEFT_OPERATOR) && (LA344_2447 <= SHIFT_RIGHT_OPERATOR)) || LA344_2447 == SINGLE_QUOTED_TEXT || LA344_2447 == STRAIGHT_JOIN_SYMBOL || LA344_2447 == UNION_SYMBOL || LA344_2447 == USING_SYMBOL || LA344_2447 == WHERE_SYMBOL || LA344_2447 == WITH_SYMBOL || LA344_2447 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2447;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1110;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 50;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == COLLATION_SYMBOL))
                {
                    {
                        int LA344_51 = LA(2);
                        if ( (LA344_51 == EOF || ((LA344_51 >= ASCII_SYMBOL) && (LA344_51 <= YEAR_SYMBOL)) || LA344_51 == AND_SYMBOL || LA344_51 == AS_SYMBOL || LA344_51 == BACK_TICK_QUOTED_ID || LA344_51 == BETWEEN_SYMBOL || LA344_51 == BITWISE_AND_OPERATOR || ((LA344_51 >= BITWISE_OR_OPERATOR) && (LA344_51 <= BITWISE_XOR_OPERATOR)) || ((LA344_51 >= CLOSE_CURLY_SYMBOL) && (LA344_51 <= COLLATE_SYMBOL)) || LA344_51 == COMMA_SYMBOL || LA344_51 == CONCAT_PIPES_SYMBOL || LA344_51 == CROSS_SYMBOL || ((LA344_51 >= DIV_OPERATOR) && (LA344_51 <= DIV_SYMBOL)) || LA344_51 == DOUBLE_QUOTED_TEXT || LA344_51 == EQUAL_OPERATOR || LA344_51 == FOR_SYMBOL || LA344_51 == FROM_SYMBOL || ((LA344_51 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_51 <= GREATER_THAN_OPERATOR)) || ((LA344_51 >= GROUP_SYMBOL) && (LA344_51 <= HAVING_SYMBOL)) || LA344_51 == IDENTIFIER || LA344_51 == INNER_SYMBOL || LA344_51 == INTO_SYMBOL || LA344_51 == IN_SYMBOL || LA344_51 == IS_SYMBOL || LA344_51 == JOIN_SYMBOL || ((LA344_51 >= LEFT_SYMBOL) && (LA344_51 <= LESS_THAN_OPERATOR)) || ((LA344_51 >= LIKE_SYMBOL) && (LA344_51 <= LIMIT_SYMBOL)) || LA344_51 == LOCK_SYMBOL || LA344_51 == LOGICAL_AND_OPERATOR || LA344_51 == LOGICAL_OR_OPERATOR || LA344_51 == MINUS_OPERATOR || ((LA344_51 >= MOD_OPERATOR) && (LA344_51 <= MOD_SYMBOL)) || ((LA344_51 >= MULT_OPERATOR) && (LA344_51 <= NATURAL_SYMBOL)) || ((LA344_51 >= NOT_EQUAL2_OPERATOR) && (LA344_51 <= NOT_SYMBOL)) || LA344_51 == NULL_SAFE_EQUAL_OPERATOR || LA344_51 == ON_SYMBOL || LA344_51 == OPEN_PAR_SYMBOL || ((LA344_51 >= ORDER_SYMBOL) && (LA344_51 <= OR_SYMBOL)) || LA344_51 == PLUS_OPERATOR || LA344_51 == PROCEDURE_SYMBOL || LA344_51 == REGEXP_SYMBOL || LA344_51 == RIGHT_SYMBOL || LA344_51 == SEMICOLON_SYMBOL || LA344_51 == SET_SYMBOL || ((LA344_51 >= SHIFT_LEFT_OPERATOR) && (LA344_51 <= SHIFT_RIGHT_OPERATOR)) || LA344_51 == SINGLE_QUOTED_TEXT || LA344_51 == STRAIGHT_JOIN_SYMBOL || LA344_51 == UNION_SYMBOL || LA344_51 == USING_SYMBOL || LA344_51 == WHERE_SYMBOL || LA344_51 == WITH_SYMBOL || LA344_51 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_51 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1163 = LA(3);
                                if ( (LA344_1163 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1163 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2449 = LA(4);
                                        if ( (LA344_2449 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7880 = LA(5);
                                                if ( (LA344_7880 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7880 >= ASCII_SYMBOL) && (LA344_7880 <= YEAR_SYMBOL)) || LA344_7880 == BACK_TICK_QUOTED_ID || LA344_7880 == DOUBLE_QUOTED_TEXT || LA344_7880 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7880;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2449 == EOF || ((LA344_2449 >= ASCII_SYMBOL) && (LA344_2449 <= YEAR_SYMBOL)) || LA344_2449 == AND_SYMBOL || LA344_2449 == AS_SYMBOL || LA344_2449 == BACK_TICK_QUOTED_ID || LA344_2449 == BETWEEN_SYMBOL || LA344_2449 == BITWISE_AND_OPERATOR || ((LA344_2449 >= BITWISE_OR_OPERATOR) && (LA344_2449 <= BITWISE_XOR_OPERATOR)) || ((LA344_2449 >= CLOSE_CURLY_SYMBOL) && (LA344_2449 <= COLLATE_SYMBOL)) || LA344_2449 == COMMA_SYMBOL || LA344_2449 == CONCAT_PIPES_SYMBOL || LA344_2449 == CROSS_SYMBOL || ((LA344_2449 >= DIV_OPERATOR) && (LA344_2449 <= DIV_SYMBOL)) || LA344_2449 == DOUBLE_QUOTED_TEXT || LA344_2449 == EQUAL_OPERATOR || LA344_2449 == FOR_SYMBOL || LA344_2449 == FROM_SYMBOL || ((LA344_2449 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2449 <= GREATER_THAN_OPERATOR)) || ((LA344_2449 >= GROUP_SYMBOL) && (LA344_2449 <= HAVING_SYMBOL)) || LA344_2449 == IDENTIFIER || LA344_2449 == INNER_SYMBOL || LA344_2449 == INTO_SYMBOL || LA344_2449 == IN_SYMBOL || LA344_2449 == IS_SYMBOL || LA344_2449 == JOIN_SYMBOL || ((LA344_2449 >= LEFT_SYMBOL) && (LA344_2449 <= LESS_THAN_OPERATOR)) || ((LA344_2449 >= LIKE_SYMBOL) && (LA344_2449 <= LIMIT_SYMBOL)) || LA344_2449 == LOCK_SYMBOL || LA344_2449 == LOGICAL_AND_OPERATOR || LA344_2449 == LOGICAL_OR_OPERATOR || LA344_2449 == MINUS_OPERATOR || ((LA344_2449 >= MOD_OPERATOR) && (LA344_2449 <= MOD_SYMBOL)) || ((LA344_2449 >= MULT_OPERATOR) && (LA344_2449 <= NATURAL_SYMBOL)) || ((LA344_2449 >= NOT_EQUAL2_OPERATOR) && (LA344_2449 <= NOT_SYMBOL)) || LA344_2449 == NULL_SAFE_EQUAL_OPERATOR || LA344_2449 == ON_SYMBOL || LA344_2449 == OPEN_PAR_SYMBOL || ((LA344_2449 >= ORDER_SYMBOL) && (LA344_2449 <= OR_SYMBOL)) || LA344_2449 == PLUS_OPERATOR || LA344_2449 == PROCEDURE_SYMBOL || LA344_2449 == REGEXP_SYMBOL || LA344_2449 == RIGHT_SYMBOL || LA344_2449 == SEMICOLON_SYMBOL || LA344_2449 == SET_SYMBOL || ((LA344_2449 >= SHIFT_LEFT_OPERATOR) && (LA344_2449 <= SHIFT_RIGHT_OPERATOR)) || LA344_2449 == SINGLE_QUOTED_TEXT || LA344_2449 == STRAIGHT_JOIN_SYMBOL || LA344_2449 == UNION_SYMBOL || LA344_2449 == USING_SYMBOL || LA344_2449 == WHERE_SYMBOL || LA344_2449 == WITH_SYMBOL || LA344_2449 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2449;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1163 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2450 = LA(4);
                                        if ( (LA344_2450 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7933 = LA(5);
                                                if ( (LA344_7933 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7933 >= ASCII_SYMBOL) && (LA344_7933 <= YEAR_SYMBOL)) || LA344_7933 == BACK_TICK_QUOTED_ID || LA344_7933 == DOUBLE_QUOTED_TEXT || LA344_7933 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7933;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2450 == EOF || ((LA344_2450 >= ASCII_SYMBOL) && (LA344_2450 <= YEAR_SYMBOL)) || LA344_2450 == AND_SYMBOL || LA344_2450 == AS_SYMBOL || LA344_2450 == BACK_TICK_QUOTED_ID || LA344_2450 == BETWEEN_SYMBOL || LA344_2450 == BITWISE_AND_OPERATOR || ((LA344_2450 >= BITWISE_OR_OPERATOR) && (LA344_2450 <= BITWISE_XOR_OPERATOR)) || ((LA344_2450 >= CLOSE_CURLY_SYMBOL) && (LA344_2450 <= COLLATE_SYMBOL)) || LA344_2450 == COMMA_SYMBOL || LA344_2450 == CONCAT_PIPES_SYMBOL || LA344_2450 == CROSS_SYMBOL || ((LA344_2450 >= DIV_OPERATOR) && (LA344_2450 <= DIV_SYMBOL)) || LA344_2450 == DOUBLE_QUOTED_TEXT || LA344_2450 == EQUAL_OPERATOR || LA344_2450 == FOR_SYMBOL || LA344_2450 == FROM_SYMBOL || ((LA344_2450 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2450 <= GREATER_THAN_OPERATOR)) || ((LA344_2450 >= GROUP_SYMBOL) && (LA344_2450 <= HAVING_SYMBOL)) || LA344_2450 == IDENTIFIER || LA344_2450 == INNER_SYMBOL || LA344_2450 == INTO_SYMBOL || LA344_2450 == IN_SYMBOL || LA344_2450 == IS_SYMBOL || LA344_2450 == JOIN_SYMBOL || ((LA344_2450 >= LEFT_SYMBOL) && (LA344_2450 <= LESS_THAN_OPERATOR)) || ((LA344_2450 >= LIKE_SYMBOL) && (LA344_2450 <= LIMIT_SYMBOL)) || LA344_2450 == LOCK_SYMBOL || LA344_2450 == LOGICAL_AND_OPERATOR || LA344_2450 == LOGICAL_OR_OPERATOR || LA344_2450 == MINUS_OPERATOR || ((LA344_2450 >= MOD_OPERATOR) && (LA344_2450 <= MOD_SYMBOL)) || ((LA344_2450 >= MULT_OPERATOR) && (LA344_2450 <= NATURAL_SYMBOL)) || ((LA344_2450 >= NOT_EQUAL2_OPERATOR) && (LA344_2450 <= NOT_SYMBOL)) || LA344_2450 == NULL_SAFE_EQUAL_OPERATOR || LA344_2450 == ON_SYMBOL || LA344_2450 == OPEN_PAR_SYMBOL || ((LA344_2450 >= ORDER_SYMBOL) && (LA344_2450 <= OR_SYMBOL)) || LA344_2450 == PLUS_OPERATOR || LA344_2450 == PROCEDURE_SYMBOL || LA344_2450 == REGEXP_SYMBOL || LA344_2450 == RIGHT_SYMBOL || LA344_2450 == SEMICOLON_SYMBOL || LA344_2450 == SET_SYMBOL || ((LA344_2450 >= SHIFT_LEFT_OPERATOR) && (LA344_2450 <= SHIFT_RIGHT_OPERATOR)) || LA344_2450 == SINGLE_QUOTED_TEXT || LA344_2450 == STRAIGHT_JOIN_SYMBOL || LA344_2450 == UNION_SYMBOL || LA344_2450 == USING_SYMBOL || LA344_2450 == WHERE_SYMBOL || LA344_2450 == WITH_SYMBOL || LA344_2450 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2450;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1163 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2451 = LA(4);
                                        if ( (LA344_2451 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_7986 = LA(5);
                                                if ( (LA344_7986 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_7986 >= ASCII_SYMBOL) && (LA344_7986 <= YEAR_SYMBOL)) || LA344_7986 == BACK_TICK_QUOTED_ID || LA344_7986 == DOUBLE_QUOTED_TEXT || LA344_7986 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 7986;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2451 == EOF || ((LA344_2451 >= ASCII_SYMBOL) && (LA344_2451 <= YEAR_SYMBOL)) || LA344_2451 == AND_SYMBOL || LA344_2451 == AS_SYMBOL || LA344_2451 == BACK_TICK_QUOTED_ID || LA344_2451 == BETWEEN_SYMBOL || LA344_2451 == BITWISE_AND_OPERATOR || ((LA344_2451 >= BITWISE_OR_OPERATOR) && (LA344_2451 <= BITWISE_XOR_OPERATOR)) || ((LA344_2451 >= CLOSE_CURLY_SYMBOL) && (LA344_2451 <= COLLATE_SYMBOL)) || LA344_2451 == COMMA_SYMBOL || LA344_2451 == CONCAT_PIPES_SYMBOL || LA344_2451 == CROSS_SYMBOL || ((LA344_2451 >= DIV_OPERATOR) && (LA344_2451 <= DIV_SYMBOL)) || LA344_2451 == DOUBLE_QUOTED_TEXT || LA344_2451 == EQUAL_OPERATOR || LA344_2451 == FOR_SYMBOL || LA344_2451 == FROM_SYMBOL || ((LA344_2451 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2451 <= GREATER_THAN_OPERATOR)) || ((LA344_2451 >= GROUP_SYMBOL) && (LA344_2451 <= HAVING_SYMBOL)) || LA344_2451 == IDENTIFIER || LA344_2451 == INNER_SYMBOL || LA344_2451 == INTO_SYMBOL || LA344_2451 == IN_SYMBOL || LA344_2451 == IS_SYMBOL || LA344_2451 == JOIN_SYMBOL || ((LA344_2451 >= LEFT_SYMBOL) && (LA344_2451 <= LESS_THAN_OPERATOR)) || ((LA344_2451 >= LIKE_SYMBOL) && (LA344_2451 <= LIMIT_SYMBOL)) || LA344_2451 == LOCK_SYMBOL || LA344_2451 == LOGICAL_AND_OPERATOR || LA344_2451 == LOGICAL_OR_OPERATOR || LA344_2451 == MINUS_OPERATOR || ((LA344_2451 >= MOD_OPERATOR) && (LA344_2451 <= MOD_SYMBOL)) || ((LA344_2451 >= MULT_OPERATOR) && (LA344_2451 <= NATURAL_SYMBOL)) || ((LA344_2451 >= NOT_EQUAL2_OPERATOR) && (LA344_2451 <= NOT_SYMBOL)) || LA344_2451 == NULL_SAFE_EQUAL_OPERATOR || LA344_2451 == ON_SYMBOL || LA344_2451 == OPEN_PAR_SYMBOL || ((LA344_2451 >= ORDER_SYMBOL) && (LA344_2451 <= OR_SYMBOL)) || LA344_2451 == PLUS_OPERATOR || LA344_2451 == PROCEDURE_SYMBOL || LA344_2451 == REGEXP_SYMBOL || LA344_2451 == RIGHT_SYMBOL || LA344_2451 == SEMICOLON_SYMBOL || LA344_2451 == SET_SYMBOL || ((LA344_2451 >= SHIFT_LEFT_OPERATOR) && (LA344_2451 <= SHIFT_RIGHT_OPERATOR)) || LA344_2451 == SINGLE_QUOTED_TEXT || LA344_2451 == STRAIGHT_JOIN_SYMBOL || LA344_2451 == UNION_SYMBOL || LA344_2451 == USING_SYMBOL || LA344_2451 == WHERE_SYMBOL || LA344_2451 == WITH_SYMBOL || LA344_2451 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2451;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1163 >= ACTION_SYMBOL) && (LA344_1163 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2452 = LA(4);
                                        if ( (LA344_2452 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8039 = LA(5);
                                                if ( (LA344_8039 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8039 >= ASCII_SYMBOL) && (LA344_8039 <= YEAR_SYMBOL)) || LA344_8039 == BACK_TICK_QUOTED_ID || LA344_8039 == DOUBLE_QUOTED_TEXT || LA344_8039 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8039;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2452 == EOF || ((LA344_2452 >= ASCII_SYMBOL) && (LA344_2452 <= YEAR_SYMBOL)) || LA344_2452 == AND_SYMBOL || LA344_2452 == AS_SYMBOL || LA344_2452 == BACK_TICK_QUOTED_ID || LA344_2452 == BETWEEN_SYMBOL || LA344_2452 == BITWISE_AND_OPERATOR || ((LA344_2452 >= BITWISE_OR_OPERATOR) && (LA344_2452 <= BITWISE_XOR_OPERATOR)) || ((LA344_2452 >= CLOSE_CURLY_SYMBOL) && (LA344_2452 <= COLLATE_SYMBOL)) || LA344_2452 == COMMA_SYMBOL || LA344_2452 == CONCAT_PIPES_SYMBOL || LA344_2452 == CROSS_SYMBOL || ((LA344_2452 >= DIV_OPERATOR) && (LA344_2452 <= DIV_SYMBOL)) || LA344_2452 == DOUBLE_QUOTED_TEXT || LA344_2452 == EQUAL_OPERATOR || LA344_2452 == FOR_SYMBOL || LA344_2452 == FROM_SYMBOL || ((LA344_2452 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2452 <= GREATER_THAN_OPERATOR)) || ((LA344_2452 >= GROUP_SYMBOL) && (LA344_2452 <= HAVING_SYMBOL)) || LA344_2452 == IDENTIFIER || LA344_2452 == INNER_SYMBOL || LA344_2452 == INTO_SYMBOL || LA344_2452 == IN_SYMBOL || LA344_2452 == IS_SYMBOL || LA344_2452 == JOIN_SYMBOL || ((LA344_2452 >= LEFT_SYMBOL) && (LA344_2452 <= LESS_THAN_OPERATOR)) || ((LA344_2452 >= LIKE_SYMBOL) && (LA344_2452 <= LIMIT_SYMBOL)) || LA344_2452 == LOCK_SYMBOL || LA344_2452 == LOGICAL_AND_OPERATOR || LA344_2452 == LOGICAL_OR_OPERATOR || LA344_2452 == MINUS_OPERATOR || ((LA344_2452 >= MOD_OPERATOR) && (LA344_2452 <= MOD_SYMBOL)) || ((LA344_2452 >= MULT_OPERATOR) && (LA344_2452 <= NATURAL_SYMBOL)) || ((LA344_2452 >= NOT_EQUAL2_OPERATOR) && (LA344_2452 <= NOT_SYMBOL)) || LA344_2452 == NULL_SAFE_EQUAL_OPERATOR || LA344_2452 == ON_SYMBOL || LA344_2452 == OPEN_PAR_SYMBOL || ((LA344_2452 >= ORDER_SYMBOL) && (LA344_2452 <= OR_SYMBOL)) || LA344_2452 == PLUS_OPERATOR || LA344_2452 == PROCEDURE_SYMBOL || LA344_2452 == REGEXP_SYMBOL || LA344_2452 == RIGHT_SYMBOL || LA344_2452 == SEMICOLON_SYMBOL || LA344_2452 == SET_SYMBOL || ((LA344_2452 >= SHIFT_LEFT_OPERATOR) && (LA344_2452 <= SHIFT_RIGHT_OPERATOR)) || LA344_2452 == SINGLE_QUOTED_TEXT || LA344_2452 == STRAIGHT_JOIN_SYMBOL || LA344_2452 == UNION_SYMBOL || LA344_2452 == USING_SYMBOL || LA344_2452 == WHERE_SYMBOL || LA344_2452 == WITH_SYMBOL || LA344_2452 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2452;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1163 >= ASCII_SYMBOL) && (LA344_1163 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2453 = LA(4);
                                        if ( (LA344_2453 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8092 = LA(5);
                                                if ( (LA344_8092 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8092 >= ASCII_SYMBOL) && (LA344_8092 <= YEAR_SYMBOL)) || LA344_8092 == BACK_TICK_QUOTED_ID || LA344_8092 == DOUBLE_QUOTED_TEXT || LA344_8092 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8092;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2453 == EOF || ((LA344_2453 >= ASCII_SYMBOL) && (LA344_2453 <= YEAR_SYMBOL)) || LA344_2453 == AND_SYMBOL || LA344_2453 == AS_SYMBOL || LA344_2453 == BACK_TICK_QUOTED_ID || LA344_2453 == BETWEEN_SYMBOL || LA344_2453 == BITWISE_AND_OPERATOR || ((LA344_2453 >= BITWISE_OR_OPERATOR) && (LA344_2453 <= BITWISE_XOR_OPERATOR)) || ((LA344_2453 >= CLOSE_CURLY_SYMBOL) && (LA344_2453 <= COLLATE_SYMBOL)) || LA344_2453 == COMMA_SYMBOL || LA344_2453 == CONCAT_PIPES_SYMBOL || LA344_2453 == CROSS_SYMBOL || ((LA344_2453 >= DIV_OPERATOR) && (LA344_2453 <= DIV_SYMBOL)) || LA344_2453 == DOUBLE_QUOTED_TEXT || LA344_2453 == EQUAL_OPERATOR || LA344_2453 == FOR_SYMBOL || LA344_2453 == FROM_SYMBOL || ((LA344_2453 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2453 <= GREATER_THAN_OPERATOR)) || ((LA344_2453 >= GROUP_SYMBOL) && (LA344_2453 <= HAVING_SYMBOL)) || LA344_2453 == IDENTIFIER || LA344_2453 == INNER_SYMBOL || LA344_2453 == INTO_SYMBOL || LA344_2453 == IN_SYMBOL || LA344_2453 == IS_SYMBOL || LA344_2453 == JOIN_SYMBOL || ((LA344_2453 >= LEFT_SYMBOL) && (LA344_2453 <= LESS_THAN_OPERATOR)) || ((LA344_2453 >= LIKE_SYMBOL) && (LA344_2453 <= LIMIT_SYMBOL)) || LA344_2453 == LOCK_SYMBOL || LA344_2453 == LOGICAL_AND_OPERATOR || LA344_2453 == LOGICAL_OR_OPERATOR || LA344_2453 == MINUS_OPERATOR || ((LA344_2453 >= MOD_OPERATOR) && (LA344_2453 <= MOD_SYMBOL)) || ((LA344_2453 >= MULT_OPERATOR) && (LA344_2453 <= NATURAL_SYMBOL)) || ((LA344_2453 >= NOT_EQUAL2_OPERATOR) && (LA344_2453 <= NOT_SYMBOL)) || LA344_2453 == NULL_SAFE_EQUAL_OPERATOR || LA344_2453 == ON_SYMBOL || LA344_2453 == OPEN_PAR_SYMBOL || ((LA344_2453 >= ORDER_SYMBOL) && (LA344_2453 <= OR_SYMBOL)) || LA344_2453 == PLUS_OPERATOR || LA344_2453 == PROCEDURE_SYMBOL || LA344_2453 == REGEXP_SYMBOL || LA344_2453 == RIGHT_SYMBOL || LA344_2453 == SEMICOLON_SYMBOL || LA344_2453 == SET_SYMBOL || ((LA344_2453 >= SHIFT_LEFT_OPERATOR) && (LA344_2453 <= SHIFT_RIGHT_OPERATOR)) || LA344_2453 == SINGLE_QUOTED_TEXT || LA344_2453 == STRAIGHT_JOIN_SYMBOL || LA344_2453 == UNION_SYMBOL || LA344_2453 == USING_SYMBOL || LA344_2453 == WHERE_SYMBOL || LA344_2453 == WITH_SYMBOL || LA344_2453 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2453;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1163;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 51;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == MICROSECOND_SYMBOL))
                {
                    {
                        int LA344_52 = LA(2);
                        if ( (LA344_52 == EOF || ((LA344_52 >= ASCII_SYMBOL) && (LA344_52 <= YEAR_SYMBOL)) || LA344_52 == AND_SYMBOL || LA344_52 == AS_SYMBOL || LA344_52 == BACK_TICK_QUOTED_ID || LA344_52 == BETWEEN_SYMBOL || LA344_52 == BITWISE_AND_OPERATOR || ((LA344_52 >= BITWISE_OR_OPERATOR) && (LA344_52 <= BITWISE_XOR_OPERATOR)) || ((LA344_52 >= CLOSE_CURLY_SYMBOL) && (LA344_52 <= COLLATE_SYMBOL)) || LA344_52 == COMMA_SYMBOL || LA344_52 == CONCAT_PIPES_SYMBOL || LA344_52 == CROSS_SYMBOL || ((LA344_52 >= DIV_OPERATOR) && (LA344_52 <= DIV_SYMBOL)) || LA344_52 == DOUBLE_QUOTED_TEXT || LA344_52 == EQUAL_OPERATOR || LA344_52 == FOR_SYMBOL || LA344_52 == FROM_SYMBOL || ((LA344_52 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_52 <= GREATER_THAN_OPERATOR)) || ((LA344_52 >= GROUP_SYMBOL) && (LA344_52 <= HAVING_SYMBOL)) || LA344_52 == IDENTIFIER || LA344_52 == INNER_SYMBOL || LA344_52 == INTO_SYMBOL || LA344_52 == IN_SYMBOL || LA344_52 == IS_SYMBOL || LA344_52 == JOIN_SYMBOL || ((LA344_52 >= LEFT_SYMBOL) && (LA344_52 <= LESS_THAN_OPERATOR)) || ((LA344_52 >= LIKE_SYMBOL) && (LA344_52 <= LIMIT_SYMBOL)) || LA344_52 == LOCK_SYMBOL || LA344_52 == LOGICAL_AND_OPERATOR || LA344_52 == LOGICAL_OR_OPERATOR || LA344_52 == MINUS_OPERATOR || ((LA344_52 >= MOD_OPERATOR) && (LA344_52 <= MOD_SYMBOL)) || ((LA344_52 >= MULT_OPERATOR) && (LA344_52 <= NATURAL_SYMBOL)) || ((LA344_52 >= NOT_EQUAL2_OPERATOR) && (LA344_52 <= NOT_SYMBOL)) || LA344_52 == NULL_SAFE_EQUAL_OPERATOR || LA344_52 == ON_SYMBOL || LA344_52 == OPEN_PAR_SYMBOL || ((LA344_52 >= ORDER_SYMBOL) && (LA344_52 <= OR_SYMBOL)) || LA344_52 == PLUS_OPERATOR || LA344_52 == PROCEDURE_SYMBOL || LA344_52 == REGEXP_SYMBOL || LA344_52 == RIGHT_SYMBOL || LA344_52 == SEMICOLON_SYMBOL || LA344_52 == SET_SYMBOL || ((LA344_52 >= SHIFT_LEFT_OPERATOR) && (LA344_52 <= SHIFT_RIGHT_OPERATOR)) || LA344_52 == SINGLE_QUOTED_TEXT || LA344_52 == STRAIGHT_JOIN_SYMBOL || LA344_52 == UNION_SYMBOL || LA344_52 == USING_SYMBOL || LA344_52 == WHERE_SYMBOL || LA344_52 == WITH_SYMBOL || LA344_52 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_52 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1216 = LA(3);
                                if ( (LA344_1216 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1216 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2455 = LA(4);
                                        if ( (LA344_2455 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8145 = LA(5);
                                                if ( (LA344_8145 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8145 >= ASCII_SYMBOL) && (LA344_8145 <= YEAR_SYMBOL)) || LA344_8145 == BACK_TICK_QUOTED_ID || LA344_8145 == DOUBLE_QUOTED_TEXT || LA344_8145 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8145;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2455 == EOF || ((LA344_2455 >= ASCII_SYMBOL) && (LA344_2455 <= YEAR_SYMBOL)) || LA344_2455 == AND_SYMBOL || LA344_2455 == AS_SYMBOL || LA344_2455 == BACK_TICK_QUOTED_ID || LA344_2455 == BETWEEN_SYMBOL || LA344_2455 == BITWISE_AND_OPERATOR || ((LA344_2455 >= BITWISE_OR_OPERATOR) && (LA344_2455 <= BITWISE_XOR_OPERATOR)) || ((LA344_2455 >= CLOSE_CURLY_SYMBOL) && (LA344_2455 <= COLLATE_SYMBOL)) || LA344_2455 == COMMA_SYMBOL || LA344_2455 == CONCAT_PIPES_SYMBOL || LA344_2455 == CROSS_SYMBOL || ((LA344_2455 >= DIV_OPERATOR) && (LA344_2455 <= DIV_SYMBOL)) || LA344_2455 == DOUBLE_QUOTED_TEXT || LA344_2455 == EQUAL_OPERATOR || LA344_2455 == FOR_SYMBOL || LA344_2455 == FROM_SYMBOL || ((LA344_2455 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2455 <= GREATER_THAN_OPERATOR)) || ((LA344_2455 >= GROUP_SYMBOL) && (LA344_2455 <= HAVING_SYMBOL)) || LA344_2455 == IDENTIFIER || LA344_2455 == INNER_SYMBOL || LA344_2455 == INTO_SYMBOL || LA344_2455 == IN_SYMBOL || LA344_2455 == IS_SYMBOL || LA344_2455 == JOIN_SYMBOL || ((LA344_2455 >= LEFT_SYMBOL) && (LA344_2455 <= LESS_THAN_OPERATOR)) || ((LA344_2455 >= LIKE_SYMBOL) && (LA344_2455 <= LIMIT_SYMBOL)) || LA344_2455 == LOCK_SYMBOL || LA344_2455 == LOGICAL_AND_OPERATOR || LA344_2455 == LOGICAL_OR_OPERATOR || LA344_2455 == MINUS_OPERATOR || ((LA344_2455 >= MOD_OPERATOR) && (LA344_2455 <= MOD_SYMBOL)) || ((LA344_2455 >= MULT_OPERATOR) && (LA344_2455 <= NATURAL_SYMBOL)) || ((LA344_2455 >= NOT_EQUAL2_OPERATOR) && (LA344_2455 <= NOT_SYMBOL)) || LA344_2455 == NULL_SAFE_EQUAL_OPERATOR || LA344_2455 == ON_SYMBOL || LA344_2455 == OPEN_PAR_SYMBOL || ((LA344_2455 >= ORDER_SYMBOL) && (LA344_2455 <= OR_SYMBOL)) || LA344_2455 == PLUS_OPERATOR || LA344_2455 == PROCEDURE_SYMBOL || LA344_2455 == REGEXP_SYMBOL || LA344_2455 == RIGHT_SYMBOL || LA344_2455 == SEMICOLON_SYMBOL || LA344_2455 == SET_SYMBOL || ((LA344_2455 >= SHIFT_LEFT_OPERATOR) && (LA344_2455 <= SHIFT_RIGHT_OPERATOR)) || LA344_2455 == SINGLE_QUOTED_TEXT || LA344_2455 == STRAIGHT_JOIN_SYMBOL || LA344_2455 == UNION_SYMBOL || LA344_2455 == USING_SYMBOL || LA344_2455 == WHERE_SYMBOL || LA344_2455 == WITH_SYMBOL || LA344_2455 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2455;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1216 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2456 = LA(4);
                                        if ( (LA344_2456 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8198 = LA(5);
                                                if ( (LA344_8198 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8198 >= ASCII_SYMBOL) && (LA344_8198 <= YEAR_SYMBOL)) || LA344_8198 == BACK_TICK_QUOTED_ID || LA344_8198 == DOUBLE_QUOTED_TEXT || LA344_8198 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8198;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2456 == EOF || ((LA344_2456 >= ASCII_SYMBOL) && (LA344_2456 <= YEAR_SYMBOL)) || LA344_2456 == AND_SYMBOL || LA344_2456 == AS_SYMBOL || LA344_2456 == BACK_TICK_QUOTED_ID || LA344_2456 == BETWEEN_SYMBOL || LA344_2456 == BITWISE_AND_OPERATOR || ((LA344_2456 >= BITWISE_OR_OPERATOR) && (LA344_2456 <= BITWISE_XOR_OPERATOR)) || ((LA344_2456 >= CLOSE_CURLY_SYMBOL) && (LA344_2456 <= COLLATE_SYMBOL)) || LA344_2456 == COMMA_SYMBOL || LA344_2456 == CONCAT_PIPES_SYMBOL || LA344_2456 == CROSS_SYMBOL || ((LA344_2456 >= DIV_OPERATOR) && (LA344_2456 <= DIV_SYMBOL)) || LA344_2456 == DOUBLE_QUOTED_TEXT || LA344_2456 == EQUAL_OPERATOR || LA344_2456 == FOR_SYMBOL || LA344_2456 == FROM_SYMBOL || ((LA344_2456 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2456 <= GREATER_THAN_OPERATOR)) || ((LA344_2456 >= GROUP_SYMBOL) && (LA344_2456 <= HAVING_SYMBOL)) || LA344_2456 == IDENTIFIER || LA344_2456 == INNER_SYMBOL || LA344_2456 == INTO_SYMBOL || LA344_2456 == IN_SYMBOL || LA344_2456 == IS_SYMBOL || LA344_2456 == JOIN_SYMBOL || ((LA344_2456 >= LEFT_SYMBOL) && (LA344_2456 <= LESS_THAN_OPERATOR)) || ((LA344_2456 >= LIKE_SYMBOL) && (LA344_2456 <= LIMIT_SYMBOL)) || LA344_2456 == LOCK_SYMBOL || LA344_2456 == LOGICAL_AND_OPERATOR || LA344_2456 == LOGICAL_OR_OPERATOR || LA344_2456 == MINUS_OPERATOR || ((LA344_2456 >= MOD_OPERATOR) && (LA344_2456 <= MOD_SYMBOL)) || ((LA344_2456 >= MULT_OPERATOR) && (LA344_2456 <= NATURAL_SYMBOL)) || ((LA344_2456 >= NOT_EQUAL2_OPERATOR) && (LA344_2456 <= NOT_SYMBOL)) || LA344_2456 == NULL_SAFE_EQUAL_OPERATOR || LA344_2456 == ON_SYMBOL || LA344_2456 == OPEN_PAR_SYMBOL || ((LA344_2456 >= ORDER_SYMBOL) && (LA344_2456 <= OR_SYMBOL)) || LA344_2456 == PLUS_OPERATOR || LA344_2456 == PROCEDURE_SYMBOL || LA344_2456 == REGEXP_SYMBOL || LA344_2456 == RIGHT_SYMBOL || LA344_2456 == SEMICOLON_SYMBOL || LA344_2456 == SET_SYMBOL || ((LA344_2456 >= SHIFT_LEFT_OPERATOR) && (LA344_2456 <= SHIFT_RIGHT_OPERATOR)) || LA344_2456 == SINGLE_QUOTED_TEXT || LA344_2456 == STRAIGHT_JOIN_SYMBOL || LA344_2456 == UNION_SYMBOL || LA344_2456 == USING_SYMBOL || LA344_2456 == WHERE_SYMBOL || LA344_2456 == WITH_SYMBOL || LA344_2456 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2456;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1216 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2457 = LA(4);
                                        if ( (LA344_2457 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8251 = LA(5);
                                                if ( (LA344_8251 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8251 >= ASCII_SYMBOL) && (LA344_8251 <= YEAR_SYMBOL)) || LA344_8251 == BACK_TICK_QUOTED_ID || LA344_8251 == DOUBLE_QUOTED_TEXT || LA344_8251 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8251;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2457 == EOF || ((LA344_2457 >= ASCII_SYMBOL) && (LA344_2457 <= YEAR_SYMBOL)) || LA344_2457 == AND_SYMBOL || LA344_2457 == AS_SYMBOL || LA344_2457 == BACK_TICK_QUOTED_ID || LA344_2457 == BETWEEN_SYMBOL || LA344_2457 == BITWISE_AND_OPERATOR || ((LA344_2457 >= BITWISE_OR_OPERATOR) && (LA344_2457 <= BITWISE_XOR_OPERATOR)) || ((LA344_2457 >= CLOSE_CURLY_SYMBOL) && (LA344_2457 <= COLLATE_SYMBOL)) || LA344_2457 == COMMA_SYMBOL || LA344_2457 == CONCAT_PIPES_SYMBOL || LA344_2457 == CROSS_SYMBOL || ((LA344_2457 >= DIV_OPERATOR) && (LA344_2457 <= DIV_SYMBOL)) || LA344_2457 == DOUBLE_QUOTED_TEXT || LA344_2457 == EQUAL_OPERATOR || LA344_2457 == FOR_SYMBOL || LA344_2457 == FROM_SYMBOL || ((LA344_2457 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2457 <= GREATER_THAN_OPERATOR)) || ((LA344_2457 >= GROUP_SYMBOL) && (LA344_2457 <= HAVING_SYMBOL)) || LA344_2457 == IDENTIFIER || LA344_2457 == INNER_SYMBOL || LA344_2457 == INTO_SYMBOL || LA344_2457 == IN_SYMBOL || LA344_2457 == IS_SYMBOL || LA344_2457 == JOIN_SYMBOL || ((LA344_2457 >= LEFT_SYMBOL) && (LA344_2457 <= LESS_THAN_OPERATOR)) || ((LA344_2457 >= LIKE_SYMBOL) && (LA344_2457 <= LIMIT_SYMBOL)) || LA344_2457 == LOCK_SYMBOL || LA344_2457 == LOGICAL_AND_OPERATOR || LA344_2457 == LOGICAL_OR_OPERATOR || LA344_2457 == MINUS_OPERATOR || ((LA344_2457 >= MOD_OPERATOR) && (LA344_2457 <= MOD_SYMBOL)) || ((LA344_2457 >= MULT_OPERATOR) && (LA344_2457 <= NATURAL_SYMBOL)) || ((LA344_2457 >= NOT_EQUAL2_OPERATOR) && (LA344_2457 <= NOT_SYMBOL)) || LA344_2457 == NULL_SAFE_EQUAL_OPERATOR || LA344_2457 == ON_SYMBOL || LA344_2457 == OPEN_PAR_SYMBOL || ((LA344_2457 >= ORDER_SYMBOL) && (LA344_2457 <= OR_SYMBOL)) || LA344_2457 == PLUS_OPERATOR || LA344_2457 == PROCEDURE_SYMBOL || LA344_2457 == REGEXP_SYMBOL || LA344_2457 == RIGHT_SYMBOL || LA344_2457 == SEMICOLON_SYMBOL || LA344_2457 == SET_SYMBOL || ((LA344_2457 >= SHIFT_LEFT_OPERATOR) && (LA344_2457 <= SHIFT_RIGHT_OPERATOR)) || LA344_2457 == SINGLE_QUOTED_TEXT || LA344_2457 == STRAIGHT_JOIN_SYMBOL || LA344_2457 == UNION_SYMBOL || LA344_2457 == USING_SYMBOL || LA344_2457 == WHERE_SYMBOL || LA344_2457 == WITH_SYMBOL || LA344_2457 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2457;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1216 >= ACTION_SYMBOL) && (LA344_1216 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2458 = LA(4);
                                        if ( (LA344_2458 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8304 = LA(5);
                                                if ( (LA344_8304 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8304 >= ASCII_SYMBOL) && (LA344_8304 <= YEAR_SYMBOL)) || LA344_8304 == BACK_TICK_QUOTED_ID || LA344_8304 == DOUBLE_QUOTED_TEXT || LA344_8304 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8304;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2458 == EOF || ((LA344_2458 >= ASCII_SYMBOL) && (LA344_2458 <= YEAR_SYMBOL)) || LA344_2458 == AND_SYMBOL || LA344_2458 == AS_SYMBOL || LA344_2458 == BACK_TICK_QUOTED_ID || LA344_2458 == BETWEEN_SYMBOL || LA344_2458 == BITWISE_AND_OPERATOR || ((LA344_2458 >= BITWISE_OR_OPERATOR) && (LA344_2458 <= BITWISE_XOR_OPERATOR)) || ((LA344_2458 >= CLOSE_CURLY_SYMBOL) && (LA344_2458 <= COLLATE_SYMBOL)) || LA344_2458 == COMMA_SYMBOL || LA344_2458 == CONCAT_PIPES_SYMBOL || LA344_2458 == CROSS_SYMBOL || ((LA344_2458 >= DIV_OPERATOR) && (LA344_2458 <= DIV_SYMBOL)) || LA344_2458 == DOUBLE_QUOTED_TEXT || LA344_2458 == EQUAL_OPERATOR || LA344_2458 == FOR_SYMBOL || LA344_2458 == FROM_SYMBOL || ((LA344_2458 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2458 <= GREATER_THAN_OPERATOR)) || ((LA344_2458 >= GROUP_SYMBOL) && (LA344_2458 <= HAVING_SYMBOL)) || LA344_2458 == IDENTIFIER || LA344_2458 == INNER_SYMBOL || LA344_2458 == INTO_SYMBOL || LA344_2458 == IN_SYMBOL || LA344_2458 == IS_SYMBOL || LA344_2458 == JOIN_SYMBOL || ((LA344_2458 >= LEFT_SYMBOL) && (LA344_2458 <= LESS_THAN_OPERATOR)) || ((LA344_2458 >= LIKE_SYMBOL) && (LA344_2458 <= LIMIT_SYMBOL)) || LA344_2458 == LOCK_SYMBOL || LA344_2458 == LOGICAL_AND_OPERATOR || LA344_2458 == LOGICAL_OR_OPERATOR || LA344_2458 == MINUS_OPERATOR || ((LA344_2458 >= MOD_OPERATOR) && (LA344_2458 <= MOD_SYMBOL)) || ((LA344_2458 >= MULT_OPERATOR) && (LA344_2458 <= NATURAL_SYMBOL)) || ((LA344_2458 >= NOT_EQUAL2_OPERATOR) && (LA344_2458 <= NOT_SYMBOL)) || LA344_2458 == NULL_SAFE_EQUAL_OPERATOR || LA344_2458 == ON_SYMBOL || LA344_2458 == OPEN_PAR_SYMBOL || ((LA344_2458 >= ORDER_SYMBOL) && (LA344_2458 <= OR_SYMBOL)) || LA344_2458 == PLUS_OPERATOR || LA344_2458 == PROCEDURE_SYMBOL || LA344_2458 == REGEXP_SYMBOL || LA344_2458 == RIGHT_SYMBOL || LA344_2458 == SEMICOLON_SYMBOL || LA344_2458 == SET_SYMBOL || ((LA344_2458 >= SHIFT_LEFT_OPERATOR) && (LA344_2458 <= SHIFT_RIGHT_OPERATOR)) || LA344_2458 == SINGLE_QUOTED_TEXT || LA344_2458 == STRAIGHT_JOIN_SYMBOL || LA344_2458 == UNION_SYMBOL || LA344_2458 == USING_SYMBOL || LA344_2458 == WHERE_SYMBOL || LA344_2458 == WITH_SYMBOL || LA344_2458 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2458;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1216 >= ASCII_SYMBOL) && (LA344_1216 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2459 = LA(4);
                                        if ( (LA344_2459 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8357 = LA(5);
                                                if ( (LA344_8357 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8357 >= ASCII_SYMBOL) && (LA344_8357 <= YEAR_SYMBOL)) || LA344_8357 == BACK_TICK_QUOTED_ID || LA344_8357 == DOUBLE_QUOTED_TEXT || LA344_8357 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8357;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2459 == EOF || ((LA344_2459 >= ASCII_SYMBOL) && (LA344_2459 <= YEAR_SYMBOL)) || LA344_2459 == AND_SYMBOL || LA344_2459 == AS_SYMBOL || LA344_2459 == BACK_TICK_QUOTED_ID || LA344_2459 == BETWEEN_SYMBOL || LA344_2459 == BITWISE_AND_OPERATOR || ((LA344_2459 >= BITWISE_OR_OPERATOR) && (LA344_2459 <= BITWISE_XOR_OPERATOR)) || ((LA344_2459 >= CLOSE_CURLY_SYMBOL) && (LA344_2459 <= COLLATE_SYMBOL)) || LA344_2459 == COMMA_SYMBOL || LA344_2459 == CONCAT_PIPES_SYMBOL || LA344_2459 == CROSS_SYMBOL || ((LA344_2459 >= DIV_OPERATOR) && (LA344_2459 <= DIV_SYMBOL)) || LA344_2459 == DOUBLE_QUOTED_TEXT || LA344_2459 == EQUAL_OPERATOR || LA344_2459 == FOR_SYMBOL || LA344_2459 == FROM_SYMBOL || ((LA344_2459 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2459 <= GREATER_THAN_OPERATOR)) || ((LA344_2459 >= GROUP_SYMBOL) && (LA344_2459 <= HAVING_SYMBOL)) || LA344_2459 == IDENTIFIER || LA344_2459 == INNER_SYMBOL || LA344_2459 == INTO_SYMBOL || LA344_2459 == IN_SYMBOL || LA344_2459 == IS_SYMBOL || LA344_2459 == JOIN_SYMBOL || ((LA344_2459 >= LEFT_SYMBOL) && (LA344_2459 <= LESS_THAN_OPERATOR)) || ((LA344_2459 >= LIKE_SYMBOL) && (LA344_2459 <= LIMIT_SYMBOL)) || LA344_2459 == LOCK_SYMBOL || LA344_2459 == LOGICAL_AND_OPERATOR || LA344_2459 == LOGICAL_OR_OPERATOR || LA344_2459 == MINUS_OPERATOR || ((LA344_2459 >= MOD_OPERATOR) && (LA344_2459 <= MOD_SYMBOL)) || ((LA344_2459 >= MULT_OPERATOR) && (LA344_2459 <= NATURAL_SYMBOL)) || ((LA344_2459 >= NOT_EQUAL2_OPERATOR) && (LA344_2459 <= NOT_SYMBOL)) || LA344_2459 == NULL_SAFE_EQUAL_OPERATOR || LA344_2459 == ON_SYMBOL || LA344_2459 == OPEN_PAR_SYMBOL || ((LA344_2459 >= ORDER_SYMBOL) && (LA344_2459 <= OR_SYMBOL)) || LA344_2459 == PLUS_OPERATOR || LA344_2459 == PROCEDURE_SYMBOL || LA344_2459 == REGEXP_SYMBOL || LA344_2459 == RIGHT_SYMBOL || LA344_2459 == SEMICOLON_SYMBOL || LA344_2459 == SET_SYMBOL || ((LA344_2459 >= SHIFT_LEFT_OPERATOR) && (LA344_2459 <= SHIFT_RIGHT_OPERATOR)) || LA344_2459 == SINGLE_QUOTED_TEXT || LA344_2459 == STRAIGHT_JOIN_SYMBOL || LA344_2459 == UNION_SYMBOL || LA344_2459 == USING_SYMBOL || LA344_2459 == WHERE_SYMBOL || LA344_2459 == WITH_SYMBOL || LA344_2459 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2459;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1216;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 52;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == TRUNCATE_SYMBOL))
                {
                    {
                        int LA344_55 = LA(2);
                        if ( (LA344_55 == EOF || ((LA344_55 >= ASCII_SYMBOL) && (LA344_55 <= YEAR_SYMBOL)) || LA344_55 == AND_SYMBOL || LA344_55 == AS_SYMBOL || LA344_55 == BACK_TICK_QUOTED_ID || LA344_55 == BETWEEN_SYMBOL || LA344_55 == BITWISE_AND_OPERATOR || ((LA344_55 >= BITWISE_OR_OPERATOR) && (LA344_55 <= BITWISE_XOR_OPERATOR)) || ((LA344_55 >= CLOSE_CURLY_SYMBOL) && (LA344_55 <= COLLATE_SYMBOL)) || LA344_55 == COMMA_SYMBOL || LA344_55 == CONCAT_PIPES_SYMBOL || LA344_55 == CROSS_SYMBOL || ((LA344_55 >= DIV_OPERATOR) && (LA344_55 <= DIV_SYMBOL)) || LA344_55 == DOUBLE_QUOTED_TEXT || LA344_55 == EQUAL_OPERATOR || LA344_55 == FOR_SYMBOL || LA344_55 == FROM_SYMBOL || ((LA344_55 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_55 <= GREATER_THAN_OPERATOR)) || ((LA344_55 >= GROUP_SYMBOL) && (LA344_55 <= HAVING_SYMBOL)) || LA344_55 == IDENTIFIER || LA344_55 == INNER_SYMBOL || LA344_55 == INTO_SYMBOL || LA344_55 == IN_SYMBOL || LA344_55 == IS_SYMBOL || LA344_55 == JOIN_SYMBOL || ((LA344_55 >= LEFT_SYMBOL) && (LA344_55 <= LESS_THAN_OPERATOR)) || ((LA344_55 >= LIKE_SYMBOL) && (LA344_55 <= LIMIT_SYMBOL)) || LA344_55 == LOCK_SYMBOL || LA344_55 == LOGICAL_AND_OPERATOR || LA344_55 == LOGICAL_OR_OPERATOR || LA344_55 == MINUS_OPERATOR || ((LA344_55 >= MOD_OPERATOR) && (LA344_55 <= MOD_SYMBOL)) || ((LA344_55 >= MULT_OPERATOR) && (LA344_55 <= NATURAL_SYMBOL)) || ((LA344_55 >= NOT_EQUAL2_OPERATOR) && (LA344_55 <= NOT_SYMBOL)) || LA344_55 == NULL_SAFE_EQUAL_OPERATOR || LA344_55 == ON_SYMBOL || LA344_55 == OPEN_PAR_SYMBOL || ((LA344_55 >= ORDER_SYMBOL) && (LA344_55 <= OR_SYMBOL)) || LA344_55 == PLUS_OPERATOR || LA344_55 == PROCEDURE_SYMBOL || LA344_55 == REGEXP_SYMBOL || LA344_55 == RIGHT_SYMBOL || LA344_55 == SEMICOLON_SYMBOL || LA344_55 == SET_SYMBOL || ((LA344_55 >= SHIFT_LEFT_OPERATOR) && (LA344_55 <= SHIFT_RIGHT_OPERATOR)) || LA344_55 == SINGLE_QUOTED_TEXT || LA344_55 == STRAIGHT_JOIN_SYMBOL || LA344_55 == UNION_SYMBOL || LA344_55 == USING_SYMBOL || LA344_55 == WHERE_SYMBOL || LA344_55 == WITH_SYMBOL || LA344_55 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_55 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1269 = LA(3);
                                if ( (LA344_1269 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1269 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2461 = LA(4);
                                        if ( (LA344_2461 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8410 = LA(5);
                                                if ( (LA344_8410 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8410 >= ASCII_SYMBOL) && (LA344_8410 <= YEAR_SYMBOL)) || LA344_8410 == BACK_TICK_QUOTED_ID || LA344_8410 == DOUBLE_QUOTED_TEXT || LA344_8410 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8410;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2461 == EOF || ((LA344_2461 >= ASCII_SYMBOL) && (LA344_2461 <= YEAR_SYMBOL)) || LA344_2461 == AND_SYMBOL || LA344_2461 == AS_SYMBOL || LA344_2461 == BACK_TICK_QUOTED_ID || LA344_2461 == BETWEEN_SYMBOL || LA344_2461 == BITWISE_AND_OPERATOR || ((LA344_2461 >= BITWISE_OR_OPERATOR) && (LA344_2461 <= BITWISE_XOR_OPERATOR)) || ((LA344_2461 >= CLOSE_CURLY_SYMBOL) && (LA344_2461 <= COLLATE_SYMBOL)) || LA344_2461 == COMMA_SYMBOL || LA344_2461 == CONCAT_PIPES_SYMBOL || LA344_2461 == CROSS_SYMBOL || ((LA344_2461 >= DIV_OPERATOR) && (LA344_2461 <= DIV_SYMBOL)) || LA344_2461 == DOUBLE_QUOTED_TEXT || LA344_2461 == EQUAL_OPERATOR || LA344_2461 == FOR_SYMBOL || LA344_2461 == FROM_SYMBOL || ((LA344_2461 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2461 <= GREATER_THAN_OPERATOR)) || ((LA344_2461 >= GROUP_SYMBOL) && (LA344_2461 <= HAVING_SYMBOL)) || LA344_2461 == IDENTIFIER || LA344_2461 == INNER_SYMBOL || LA344_2461 == INTO_SYMBOL || LA344_2461 == IN_SYMBOL || LA344_2461 == IS_SYMBOL || LA344_2461 == JOIN_SYMBOL || ((LA344_2461 >= LEFT_SYMBOL) && (LA344_2461 <= LESS_THAN_OPERATOR)) || ((LA344_2461 >= LIKE_SYMBOL) && (LA344_2461 <= LIMIT_SYMBOL)) || LA344_2461 == LOCK_SYMBOL || LA344_2461 == LOGICAL_AND_OPERATOR || LA344_2461 == LOGICAL_OR_OPERATOR || LA344_2461 == MINUS_OPERATOR || ((LA344_2461 >= MOD_OPERATOR) && (LA344_2461 <= MOD_SYMBOL)) || ((LA344_2461 >= MULT_OPERATOR) && (LA344_2461 <= NATURAL_SYMBOL)) || ((LA344_2461 >= NOT_EQUAL2_OPERATOR) && (LA344_2461 <= NOT_SYMBOL)) || LA344_2461 == NULL_SAFE_EQUAL_OPERATOR || LA344_2461 == ON_SYMBOL || LA344_2461 == OPEN_PAR_SYMBOL || ((LA344_2461 >= ORDER_SYMBOL) && (LA344_2461 <= OR_SYMBOL)) || LA344_2461 == PLUS_OPERATOR || LA344_2461 == PROCEDURE_SYMBOL || LA344_2461 == REGEXP_SYMBOL || LA344_2461 == RIGHT_SYMBOL || LA344_2461 == SEMICOLON_SYMBOL || LA344_2461 == SET_SYMBOL || ((LA344_2461 >= SHIFT_LEFT_OPERATOR) && (LA344_2461 <= SHIFT_RIGHT_OPERATOR)) || LA344_2461 == SINGLE_QUOTED_TEXT || LA344_2461 == STRAIGHT_JOIN_SYMBOL || LA344_2461 == UNION_SYMBOL || LA344_2461 == USING_SYMBOL || LA344_2461 == WHERE_SYMBOL || LA344_2461 == WITH_SYMBOL || LA344_2461 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2461;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1269 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2462 = LA(4);
                                        if ( (LA344_2462 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8463 = LA(5);
                                                if ( (LA344_8463 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8463 >= ASCII_SYMBOL) && (LA344_8463 <= YEAR_SYMBOL)) || LA344_8463 == BACK_TICK_QUOTED_ID || LA344_8463 == DOUBLE_QUOTED_TEXT || LA344_8463 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8463;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2462 == EOF || ((LA344_2462 >= ASCII_SYMBOL) && (LA344_2462 <= YEAR_SYMBOL)) || LA344_2462 == AND_SYMBOL || LA344_2462 == AS_SYMBOL || LA344_2462 == BACK_TICK_QUOTED_ID || LA344_2462 == BETWEEN_SYMBOL || LA344_2462 == BITWISE_AND_OPERATOR || ((LA344_2462 >= BITWISE_OR_OPERATOR) && (LA344_2462 <= BITWISE_XOR_OPERATOR)) || ((LA344_2462 >= CLOSE_CURLY_SYMBOL) && (LA344_2462 <= COLLATE_SYMBOL)) || LA344_2462 == COMMA_SYMBOL || LA344_2462 == CONCAT_PIPES_SYMBOL || LA344_2462 == CROSS_SYMBOL || ((LA344_2462 >= DIV_OPERATOR) && (LA344_2462 <= DIV_SYMBOL)) || LA344_2462 == DOUBLE_QUOTED_TEXT || LA344_2462 == EQUAL_OPERATOR || LA344_2462 == FOR_SYMBOL || LA344_2462 == FROM_SYMBOL || ((LA344_2462 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2462 <= GREATER_THAN_OPERATOR)) || ((LA344_2462 >= GROUP_SYMBOL) && (LA344_2462 <= HAVING_SYMBOL)) || LA344_2462 == IDENTIFIER || LA344_2462 == INNER_SYMBOL || LA344_2462 == INTO_SYMBOL || LA344_2462 == IN_SYMBOL || LA344_2462 == IS_SYMBOL || LA344_2462 == JOIN_SYMBOL || ((LA344_2462 >= LEFT_SYMBOL) && (LA344_2462 <= LESS_THAN_OPERATOR)) || ((LA344_2462 >= LIKE_SYMBOL) && (LA344_2462 <= LIMIT_SYMBOL)) || LA344_2462 == LOCK_SYMBOL || LA344_2462 == LOGICAL_AND_OPERATOR || LA344_2462 == LOGICAL_OR_OPERATOR || LA344_2462 == MINUS_OPERATOR || ((LA344_2462 >= MOD_OPERATOR) && (LA344_2462 <= MOD_SYMBOL)) || ((LA344_2462 >= MULT_OPERATOR) && (LA344_2462 <= NATURAL_SYMBOL)) || ((LA344_2462 >= NOT_EQUAL2_OPERATOR) && (LA344_2462 <= NOT_SYMBOL)) || LA344_2462 == NULL_SAFE_EQUAL_OPERATOR || LA344_2462 == ON_SYMBOL || LA344_2462 == OPEN_PAR_SYMBOL || ((LA344_2462 >= ORDER_SYMBOL) && (LA344_2462 <= OR_SYMBOL)) || LA344_2462 == PLUS_OPERATOR || LA344_2462 == PROCEDURE_SYMBOL || LA344_2462 == REGEXP_SYMBOL || LA344_2462 == RIGHT_SYMBOL || LA344_2462 == SEMICOLON_SYMBOL || LA344_2462 == SET_SYMBOL || ((LA344_2462 >= SHIFT_LEFT_OPERATOR) && (LA344_2462 <= SHIFT_RIGHT_OPERATOR)) || LA344_2462 == SINGLE_QUOTED_TEXT || LA344_2462 == STRAIGHT_JOIN_SYMBOL || LA344_2462 == UNION_SYMBOL || LA344_2462 == USING_SYMBOL || LA344_2462 == WHERE_SYMBOL || LA344_2462 == WITH_SYMBOL || LA344_2462 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2462;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1269 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2463 = LA(4);
                                        if ( (LA344_2463 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8516 = LA(5);
                                                if ( (LA344_8516 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8516 >= ASCII_SYMBOL) && (LA344_8516 <= YEAR_SYMBOL)) || LA344_8516 == BACK_TICK_QUOTED_ID || LA344_8516 == DOUBLE_QUOTED_TEXT || LA344_8516 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8516;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2463 == EOF || ((LA344_2463 >= ASCII_SYMBOL) && (LA344_2463 <= YEAR_SYMBOL)) || LA344_2463 == AND_SYMBOL || LA344_2463 == AS_SYMBOL || LA344_2463 == BACK_TICK_QUOTED_ID || LA344_2463 == BETWEEN_SYMBOL || LA344_2463 == BITWISE_AND_OPERATOR || ((LA344_2463 >= BITWISE_OR_OPERATOR) && (LA344_2463 <= BITWISE_XOR_OPERATOR)) || ((LA344_2463 >= CLOSE_CURLY_SYMBOL) && (LA344_2463 <= COLLATE_SYMBOL)) || LA344_2463 == COMMA_SYMBOL || LA344_2463 == CONCAT_PIPES_SYMBOL || LA344_2463 == CROSS_SYMBOL || ((LA344_2463 >= DIV_OPERATOR) && (LA344_2463 <= DIV_SYMBOL)) || LA344_2463 == DOUBLE_QUOTED_TEXT || LA344_2463 == EQUAL_OPERATOR || LA344_2463 == FOR_SYMBOL || LA344_2463 == FROM_SYMBOL || ((LA344_2463 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2463 <= GREATER_THAN_OPERATOR)) || ((LA344_2463 >= GROUP_SYMBOL) && (LA344_2463 <= HAVING_SYMBOL)) || LA344_2463 == IDENTIFIER || LA344_2463 == INNER_SYMBOL || LA344_2463 == INTO_SYMBOL || LA344_2463 == IN_SYMBOL || LA344_2463 == IS_SYMBOL || LA344_2463 == JOIN_SYMBOL || ((LA344_2463 >= LEFT_SYMBOL) && (LA344_2463 <= LESS_THAN_OPERATOR)) || ((LA344_2463 >= LIKE_SYMBOL) && (LA344_2463 <= LIMIT_SYMBOL)) || LA344_2463 == LOCK_SYMBOL || LA344_2463 == LOGICAL_AND_OPERATOR || LA344_2463 == LOGICAL_OR_OPERATOR || LA344_2463 == MINUS_OPERATOR || ((LA344_2463 >= MOD_OPERATOR) && (LA344_2463 <= MOD_SYMBOL)) || ((LA344_2463 >= MULT_OPERATOR) && (LA344_2463 <= NATURAL_SYMBOL)) || ((LA344_2463 >= NOT_EQUAL2_OPERATOR) && (LA344_2463 <= NOT_SYMBOL)) || LA344_2463 == NULL_SAFE_EQUAL_OPERATOR || LA344_2463 == ON_SYMBOL || LA344_2463 == OPEN_PAR_SYMBOL || ((LA344_2463 >= ORDER_SYMBOL) && (LA344_2463 <= OR_SYMBOL)) || LA344_2463 == PLUS_OPERATOR || LA344_2463 == PROCEDURE_SYMBOL || LA344_2463 == REGEXP_SYMBOL || LA344_2463 == RIGHT_SYMBOL || LA344_2463 == SEMICOLON_SYMBOL || LA344_2463 == SET_SYMBOL || ((LA344_2463 >= SHIFT_LEFT_OPERATOR) && (LA344_2463 <= SHIFT_RIGHT_OPERATOR)) || LA344_2463 == SINGLE_QUOTED_TEXT || LA344_2463 == STRAIGHT_JOIN_SYMBOL || LA344_2463 == UNION_SYMBOL || LA344_2463 == USING_SYMBOL || LA344_2463 == WHERE_SYMBOL || LA344_2463 == WITH_SYMBOL || LA344_2463 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2463;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1269 >= ACTION_SYMBOL) && (LA344_1269 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2464 = LA(4);
                                        if ( (LA344_2464 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8569 = LA(5);
                                                if ( (LA344_8569 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8569 >= ASCII_SYMBOL) && (LA344_8569 <= YEAR_SYMBOL)) || LA344_8569 == BACK_TICK_QUOTED_ID || LA344_8569 == DOUBLE_QUOTED_TEXT || LA344_8569 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8569;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2464 == EOF || ((LA344_2464 >= ASCII_SYMBOL) && (LA344_2464 <= YEAR_SYMBOL)) || LA344_2464 == AND_SYMBOL || LA344_2464 == AS_SYMBOL || LA344_2464 == BACK_TICK_QUOTED_ID || LA344_2464 == BETWEEN_SYMBOL || LA344_2464 == BITWISE_AND_OPERATOR || ((LA344_2464 >= BITWISE_OR_OPERATOR) && (LA344_2464 <= BITWISE_XOR_OPERATOR)) || ((LA344_2464 >= CLOSE_CURLY_SYMBOL) && (LA344_2464 <= COLLATE_SYMBOL)) || LA344_2464 == COMMA_SYMBOL || LA344_2464 == CONCAT_PIPES_SYMBOL || LA344_2464 == CROSS_SYMBOL || ((LA344_2464 >= DIV_OPERATOR) && (LA344_2464 <= DIV_SYMBOL)) || LA344_2464 == DOUBLE_QUOTED_TEXT || LA344_2464 == EQUAL_OPERATOR || LA344_2464 == FOR_SYMBOL || LA344_2464 == FROM_SYMBOL || ((LA344_2464 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2464 <= GREATER_THAN_OPERATOR)) || ((LA344_2464 >= GROUP_SYMBOL) && (LA344_2464 <= HAVING_SYMBOL)) || LA344_2464 == IDENTIFIER || LA344_2464 == INNER_SYMBOL || LA344_2464 == INTO_SYMBOL || LA344_2464 == IN_SYMBOL || LA344_2464 == IS_SYMBOL || LA344_2464 == JOIN_SYMBOL || ((LA344_2464 >= LEFT_SYMBOL) && (LA344_2464 <= LESS_THAN_OPERATOR)) || ((LA344_2464 >= LIKE_SYMBOL) && (LA344_2464 <= LIMIT_SYMBOL)) || LA344_2464 == LOCK_SYMBOL || LA344_2464 == LOGICAL_AND_OPERATOR || LA344_2464 == LOGICAL_OR_OPERATOR || LA344_2464 == MINUS_OPERATOR || ((LA344_2464 >= MOD_OPERATOR) && (LA344_2464 <= MOD_SYMBOL)) || ((LA344_2464 >= MULT_OPERATOR) && (LA344_2464 <= NATURAL_SYMBOL)) || ((LA344_2464 >= NOT_EQUAL2_OPERATOR) && (LA344_2464 <= NOT_SYMBOL)) || LA344_2464 == NULL_SAFE_EQUAL_OPERATOR || LA344_2464 == ON_SYMBOL || LA344_2464 == OPEN_PAR_SYMBOL || ((LA344_2464 >= ORDER_SYMBOL) && (LA344_2464 <= OR_SYMBOL)) || LA344_2464 == PLUS_OPERATOR || LA344_2464 == PROCEDURE_SYMBOL || LA344_2464 == REGEXP_SYMBOL || LA344_2464 == RIGHT_SYMBOL || LA344_2464 == SEMICOLON_SYMBOL || LA344_2464 == SET_SYMBOL || ((LA344_2464 >= SHIFT_LEFT_OPERATOR) && (LA344_2464 <= SHIFT_RIGHT_OPERATOR)) || LA344_2464 == SINGLE_QUOTED_TEXT || LA344_2464 == STRAIGHT_JOIN_SYMBOL || LA344_2464 == UNION_SYMBOL || LA344_2464 == USING_SYMBOL || LA344_2464 == WHERE_SYMBOL || LA344_2464 == WITH_SYMBOL || LA344_2464 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2464;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1269 >= ASCII_SYMBOL) && (LA344_1269 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2465 = LA(4);
                                        if ( (LA344_2465 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8622 = LA(5);
                                                if ( (LA344_8622 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8622 >= ASCII_SYMBOL) && (LA344_8622 <= YEAR_SYMBOL)) || LA344_8622 == BACK_TICK_QUOTED_ID || LA344_8622 == DOUBLE_QUOTED_TEXT || LA344_8622 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8622;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2465 == EOF || ((LA344_2465 >= ASCII_SYMBOL) && (LA344_2465 <= YEAR_SYMBOL)) || LA344_2465 == AND_SYMBOL || LA344_2465 == AS_SYMBOL || LA344_2465 == BACK_TICK_QUOTED_ID || LA344_2465 == BETWEEN_SYMBOL || LA344_2465 == BITWISE_AND_OPERATOR || ((LA344_2465 >= BITWISE_OR_OPERATOR) && (LA344_2465 <= BITWISE_XOR_OPERATOR)) || ((LA344_2465 >= CLOSE_CURLY_SYMBOL) && (LA344_2465 <= COLLATE_SYMBOL)) || LA344_2465 == COMMA_SYMBOL || LA344_2465 == CONCAT_PIPES_SYMBOL || LA344_2465 == CROSS_SYMBOL || ((LA344_2465 >= DIV_OPERATOR) && (LA344_2465 <= DIV_SYMBOL)) || LA344_2465 == DOUBLE_QUOTED_TEXT || LA344_2465 == EQUAL_OPERATOR || LA344_2465 == FOR_SYMBOL || LA344_2465 == FROM_SYMBOL || ((LA344_2465 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2465 <= GREATER_THAN_OPERATOR)) || ((LA344_2465 >= GROUP_SYMBOL) && (LA344_2465 <= HAVING_SYMBOL)) || LA344_2465 == IDENTIFIER || LA344_2465 == INNER_SYMBOL || LA344_2465 == INTO_SYMBOL || LA344_2465 == IN_SYMBOL || LA344_2465 == IS_SYMBOL || LA344_2465 == JOIN_SYMBOL || ((LA344_2465 >= LEFT_SYMBOL) && (LA344_2465 <= LESS_THAN_OPERATOR)) || ((LA344_2465 >= LIKE_SYMBOL) && (LA344_2465 <= LIMIT_SYMBOL)) || LA344_2465 == LOCK_SYMBOL || LA344_2465 == LOGICAL_AND_OPERATOR || LA344_2465 == LOGICAL_OR_OPERATOR || LA344_2465 == MINUS_OPERATOR || ((LA344_2465 >= MOD_OPERATOR) && (LA344_2465 <= MOD_SYMBOL)) || ((LA344_2465 >= MULT_OPERATOR) && (LA344_2465 <= NATURAL_SYMBOL)) || ((LA344_2465 >= NOT_EQUAL2_OPERATOR) && (LA344_2465 <= NOT_SYMBOL)) || LA344_2465 == NULL_SAFE_EQUAL_OPERATOR || LA344_2465 == ON_SYMBOL || LA344_2465 == OPEN_PAR_SYMBOL || ((LA344_2465 >= ORDER_SYMBOL) && (LA344_2465 <= OR_SYMBOL)) || LA344_2465 == PLUS_OPERATOR || LA344_2465 == PROCEDURE_SYMBOL || LA344_2465 == REGEXP_SYMBOL || LA344_2465 == RIGHT_SYMBOL || LA344_2465 == SEMICOLON_SYMBOL || LA344_2465 == SET_SYMBOL || ((LA344_2465 >= SHIFT_LEFT_OPERATOR) && (LA344_2465 <= SHIFT_RIGHT_OPERATOR)) || LA344_2465 == SINGLE_QUOTED_TEXT || LA344_2465 == STRAIGHT_JOIN_SYMBOL || LA344_2465 == UNION_SYMBOL || LA344_2465 == USING_SYMBOL || LA344_2465 == WHERE_SYMBOL || LA344_2465 == WITH_SYMBOL || LA344_2465 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2465;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1269;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 55;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == OLD_PASSWORD_SYMBOL))
                {
                    {
                        int LA344_56 = LA(2);
                        if ( (LA344_56 == EOF || ((LA344_56 >= ASCII_SYMBOL) && (LA344_56 <= YEAR_SYMBOL)) || LA344_56 == AND_SYMBOL || LA344_56 == AS_SYMBOL || LA344_56 == BACK_TICK_QUOTED_ID || LA344_56 == BETWEEN_SYMBOL || LA344_56 == BITWISE_AND_OPERATOR || ((LA344_56 >= BITWISE_OR_OPERATOR) && (LA344_56 <= BITWISE_XOR_OPERATOR)) || ((LA344_56 >= CLOSE_CURLY_SYMBOL) && (LA344_56 <= COLLATE_SYMBOL)) || LA344_56 == COMMA_SYMBOL || LA344_56 == CONCAT_PIPES_SYMBOL || LA344_56 == CROSS_SYMBOL || ((LA344_56 >= DIV_OPERATOR) && (LA344_56 <= DIV_SYMBOL)) || LA344_56 == DOUBLE_QUOTED_TEXT || LA344_56 == EQUAL_OPERATOR || LA344_56 == FOR_SYMBOL || LA344_56 == FROM_SYMBOL || ((LA344_56 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_56 <= GREATER_THAN_OPERATOR)) || ((LA344_56 >= GROUP_SYMBOL) && (LA344_56 <= HAVING_SYMBOL)) || LA344_56 == IDENTIFIER || LA344_56 == INNER_SYMBOL || LA344_56 == INTO_SYMBOL || LA344_56 == IN_SYMBOL || LA344_56 == IS_SYMBOL || LA344_56 == JOIN_SYMBOL || ((LA344_56 >= LEFT_SYMBOL) && (LA344_56 <= LESS_THAN_OPERATOR)) || ((LA344_56 >= LIKE_SYMBOL) && (LA344_56 <= LIMIT_SYMBOL)) || LA344_56 == LOCK_SYMBOL || LA344_56 == LOGICAL_AND_OPERATOR || LA344_56 == LOGICAL_OR_OPERATOR || LA344_56 == MINUS_OPERATOR || ((LA344_56 >= MOD_OPERATOR) && (LA344_56 <= MOD_SYMBOL)) || ((LA344_56 >= MULT_OPERATOR) && (LA344_56 <= NATURAL_SYMBOL)) || ((LA344_56 >= NOT_EQUAL2_OPERATOR) && (LA344_56 <= NOT_SYMBOL)) || LA344_56 == NULL_SAFE_EQUAL_OPERATOR || LA344_56 == ON_SYMBOL || LA344_56 == OPEN_PAR_SYMBOL || ((LA344_56 >= ORDER_SYMBOL) && (LA344_56 <= OR_SYMBOL)) || LA344_56 == PLUS_OPERATOR || LA344_56 == PROCEDURE_SYMBOL || LA344_56 == REGEXP_SYMBOL || LA344_56 == RIGHT_SYMBOL || LA344_56 == SEMICOLON_SYMBOL || LA344_56 == SET_SYMBOL || ((LA344_56 >= SHIFT_LEFT_OPERATOR) && (LA344_56 <= SHIFT_RIGHT_OPERATOR)) || LA344_56 == SINGLE_QUOTED_TEXT || LA344_56 == STRAIGHT_JOIN_SYMBOL || LA344_56 == UNION_SYMBOL || LA344_56 == USING_SYMBOL || LA344_56 == WHERE_SYMBOL || LA344_56 == WITH_SYMBOL || LA344_56 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_56 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1322 = LA(3);
                                if ( (LA344_1322 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1322 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2467 = LA(4);
                                        if ( (LA344_2467 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8675 = LA(5);
                                                if ( (LA344_8675 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8675 >= ASCII_SYMBOL) && (LA344_8675 <= YEAR_SYMBOL)) || LA344_8675 == BACK_TICK_QUOTED_ID || LA344_8675 == DOUBLE_QUOTED_TEXT || LA344_8675 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8675;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2467 == EOF || ((LA344_2467 >= ASCII_SYMBOL) && (LA344_2467 <= YEAR_SYMBOL)) || LA344_2467 == AND_SYMBOL || LA344_2467 == AS_SYMBOL || LA344_2467 == BACK_TICK_QUOTED_ID || LA344_2467 == BETWEEN_SYMBOL || LA344_2467 == BITWISE_AND_OPERATOR || ((LA344_2467 >= BITWISE_OR_OPERATOR) && (LA344_2467 <= BITWISE_XOR_OPERATOR)) || ((LA344_2467 >= CLOSE_CURLY_SYMBOL) && (LA344_2467 <= COLLATE_SYMBOL)) || LA344_2467 == COMMA_SYMBOL || LA344_2467 == CONCAT_PIPES_SYMBOL || LA344_2467 == CROSS_SYMBOL || ((LA344_2467 >= DIV_OPERATOR) && (LA344_2467 <= DIV_SYMBOL)) || LA344_2467 == DOUBLE_QUOTED_TEXT || LA344_2467 == EQUAL_OPERATOR || LA344_2467 == FOR_SYMBOL || LA344_2467 == FROM_SYMBOL || ((LA344_2467 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2467 <= GREATER_THAN_OPERATOR)) || ((LA344_2467 >= GROUP_SYMBOL) && (LA344_2467 <= HAVING_SYMBOL)) || LA344_2467 == IDENTIFIER || LA344_2467 == INNER_SYMBOL || LA344_2467 == INTO_SYMBOL || LA344_2467 == IN_SYMBOL || LA344_2467 == IS_SYMBOL || LA344_2467 == JOIN_SYMBOL || ((LA344_2467 >= LEFT_SYMBOL) && (LA344_2467 <= LESS_THAN_OPERATOR)) || ((LA344_2467 >= LIKE_SYMBOL) && (LA344_2467 <= LIMIT_SYMBOL)) || LA344_2467 == LOCK_SYMBOL || LA344_2467 == LOGICAL_AND_OPERATOR || LA344_2467 == LOGICAL_OR_OPERATOR || LA344_2467 == MINUS_OPERATOR || ((LA344_2467 >= MOD_OPERATOR) && (LA344_2467 <= MOD_SYMBOL)) || ((LA344_2467 >= MULT_OPERATOR) && (LA344_2467 <= NATURAL_SYMBOL)) || ((LA344_2467 >= NOT_EQUAL2_OPERATOR) && (LA344_2467 <= NOT_SYMBOL)) || LA344_2467 == NULL_SAFE_EQUAL_OPERATOR || LA344_2467 == ON_SYMBOL || LA344_2467 == OPEN_PAR_SYMBOL || ((LA344_2467 >= ORDER_SYMBOL) && (LA344_2467 <= OR_SYMBOL)) || LA344_2467 == PLUS_OPERATOR || LA344_2467 == PROCEDURE_SYMBOL || LA344_2467 == REGEXP_SYMBOL || LA344_2467 == RIGHT_SYMBOL || LA344_2467 == SEMICOLON_SYMBOL || LA344_2467 == SET_SYMBOL || ((LA344_2467 >= SHIFT_LEFT_OPERATOR) && (LA344_2467 <= SHIFT_RIGHT_OPERATOR)) || LA344_2467 == SINGLE_QUOTED_TEXT || LA344_2467 == STRAIGHT_JOIN_SYMBOL || LA344_2467 == UNION_SYMBOL || LA344_2467 == USING_SYMBOL || LA344_2467 == WHERE_SYMBOL || LA344_2467 == WITH_SYMBOL || LA344_2467 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2467;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1322 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2468 = LA(4);
                                        if ( (LA344_2468 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8728 = LA(5);
                                                if ( (LA344_8728 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8728 >= ASCII_SYMBOL) && (LA344_8728 <= YEAR_SYMBOL)) || LA344_8728 == BACK_TICK_QUOTED_ID || LA344_8728 == DOUBLE_QUOTED_TEXT || LA344_8728 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8728;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2468 == EOF || ((LA344_2468 >= ASCII_SYMBOL) && (LA344_2468 <= YEAR_SYMBOL)) || LA344_2468 == AND_SYMBOL || LA344_2468 == AS_SYMBOL || LA344_2468 == BACK_TICK_QUOTED_ID || LA344_2468 == BETWEEN_SYMBOL || LA344_2468 == BITWISE_AND_OPERATOR || ((LA344_2468 >= BITWISE_OR_OPERATOR) && (LA344_2468 <= BITWISE_XOR_OPERATOR)) || ((LA344_2468 >= CLOSE_CURLY_SYMBOL) && (LA344_2468 <= COLLATE_SYMBOL)) || LA344_2468 == COMMA_SYMBOL || LA344_2468 == CONCAT_PIPES_SYMBOL || LA344_2468 == CROSS_SYMBOL || ((LA344_2468 >= DIV_OPERATOR) && (LA344_2468 <= DIV_SYMBOL)) || LA344_2468 == DOUBLE_QUOTED_TEXT || LA344_2468 == EQUAL_OPERATOR || LA344_2468 == FOR_SYMBOL || LA344_2468 == FROM_SYMBOL || ((LA344_2468 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2468 <= GREATER_THAN_OPERATOR)) || ((LA344_2468 >= GROUP_SYMBOL) && (LA344_2468 <= HAVING_SYMBOL)) || LA344_2468 == IDENTIFIER || LA344_2468 == INNER_SYMBOL || LA344_2468 == INTO_SYMBOL || LA344_2468 == IN_SYMBOL || LA344_2468 == IS_SYMBOL || LA344_2468 == JOIN_SYMBOL || ((LA344_2468 >= LEFT_SYMBOL) && (LA344_2468 <= LESS_THAN_OPERATOR)) || ((LA344_2468 >= LIKE_SYMBOL) && (LA344_2468 <= LIMIT_SYMBOL)) || LA344_2468 == LOCK_SYMBOL || LA344_2468 == LOGICAL_AND_OPERATOR || LA344_2468 == LOGICAL_OR_OPERATOR || LA344_2468 == MINUS_OPERATOR || ((LA344_2468 >= MOD_OPERATOR) && (LA344_2468 <= MOD_SYMBOL)) || ((LA344_2468 >= MULT_OPERATOR) && (LA344_2468 <= NATURAL_SYMBOL)) || ((LA344_2468 >= NOT_EQUAL2_OPERATOR) && (LA344_2468 <= NOT_SYMBOL)) || LA344_2468 == NULL_SAFE_EQUAL_OPERATOR || LA344_2468 == ON_SYMBOL || LA344_2468 == OPEN_PAR_SYMBOL || ((LA344_2468 >= ORDER_SYMBOL) && (LA344_2468 <= OR_SYMBOL)) || LA344_2468 == PLUS_OPERATOR || LA344_2468 == PROCEDURE_SYMBOL || LA344_2468 == REGEXP_SYMBOL || LA344_2468 == RIGHT_SYMBOL || LA344_2468 == SEMICOLON_SYMBOL || LA344_2468 == SET_SYMBOL || ((LA344_2468 >= SHIFT_LEFT_OPERATOR) && (LA344_2468 <= SHIFT_RIGHT_OPERATOR)) || LA344_2468 == SINGLE_QUOTED_TEXT || LA344_2468 == STRAIGHT_JOIN_SYMBOL || LA344_2468 == UNION_SYMBOL || LA344_2468 == USING_SYMBOL || LA344_2468 == WHERE_SYMBOL || LA344_2468 == WITH_SYMBOL || LA344_2468 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2468;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1322 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2469 = LA(4);
                                        if ( (LA344_2469 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8781 = LA(5);
                                                if ( (LA344_8781 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8781 >= ASCII_SYMBOL) && (LA344_8781 <= YEAR_SYMBOL)) || LA344_8781 == BACK_TICK_QUOTED_ID || LA344_8781 == DOUBLE_QUOTED_TEXT || LA344_8781 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8781;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2469 == EOF || ((LA344_2469 >= ASCII_SYMBOL) && (LA344_2469 <= YEAR_SYMBOL)) || LA344_2469 == AND_SYMBOL || LA344_2469 == AS_SYMBOL || LA344_2469 == BACK_TICK_QUOTED_ID || LA344_2469 == BETWEEN_SYMBOL || LA344_2469 == BITWISE_AND_OPERATOR || ((LA344_2469 >= BITWISE_OR_OPERATOR) && (LA344_2469 <= BITWISE_XOR_OPERATOR)) || ((LA344_2469 >= CLOSE_CURLY_SYMBOL) && (LA344_2469 <= COLLATE_SYMBOL)) || LA344_2469 == COMMA_SYMBOL || LA344_2469 == CONCAT_PIPES_SYMBOL || LA344_2469 == CROSS_SYMBOL || ((LA344_2469 >= DIV_OPERATOR) && (LA344_2469 <= DIV_SYMBOL)) || LA344_2469 == DOUBLE_QUOTED_TEXT || LA344_2469 == EQUAL_OPERATOR || LA344_2469 == FOR_SYMBOL || LA344_2469 == FROM_SYMBOL || ((LA344_2469 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2469 <= GREATER_THAN_OPERATOR)) || ((LA344_2469 >= GROUP_SYMBOL) && (LA344_2469 <= HAVING_SYMBOL)) || LA344_2469 == IDENTIFIER || LA344_2469 == INNER_SYMBOL || LA344_2469 == INTO_SYMBOL || LA344_2469 == IN_SYMBOL || LA344_2469 == IS_SYMBOL || LA344_2469 == JOIN_SYMBOL || ((LA344_2469 >= LEFT_SYMBOL) && (LA344_2469 <= LESS_THAN_OPERATOR)) || ((LA344_2469 >= LIKE_SYMBOL) && (LA344_2469 <= LIMIT_SYMBOL)) || LA344_2469 == LOCK_SYMBOL || LA344_2469 == LOGICAL_AND_OPERATOR || LA344_2469 == LOGICAL_OR_OPERATOR || LA344_2469 == MINUS_OPERATOR || ((LA344_2469 >= MOD_OPERATOR) && (LA344_2469 <= MOD_SYMBOL)) || ((LA344_2469 >= MULT_OPERATOR) && (LA344_2469 <= NATURAL_SYMBOL)) || ((LA344_2469 >= NOT_EQUAL2_OPERATOR) && (LA344_2469 <= NOT_SYMBOL)) || LA344_2469 == NULL_SAFE_EQUAL_OPERATOR || LA344_2469 == ON_SYMBOL || LA344_2469 == OPEN_PAR_SYMBOL || ((LA344_2469 >= ORDER_SYMBOL) && (LA344_2469 <= OR_SYMBOL)) || LA344_2469 == PLUS_OPERATOR || LA344_2469 == PROCEDURE_SYMBOL || LA344_2469 == REGEXP_SYMBOL || LA344_2469 == RIGHT_SYMBOL || LA344_2469 == SEMICOLON_SYMBOL || LA344_2469 == SET_SYMBOL || ((LA344_2469 >= SHIFT_LEFT_OPERATOR) && (LA344_2469 <= SHIFT_RIGHT_OPERATOR)) || LA344_2469 == SINGLE_QUOTED_TEXT || LA344_2469 == STRAIGHT_JOIN_SYMBOL || LA344_2469 == UNION_SYMBOL || LA344_2469 == USING_SYMBOL || LA344_2469 == WHERE_SYMBOL || LA344_2469 == WITH_SYMBOL || LA344_2469 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2469;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1322 >= ACTION_SYMBOL) && (LA344_1322 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2470 = LA(4);
                                        if ( (LA344_2470 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8834 = LA(5);
                                                if ( (LA344_8834 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8834 >= ASCII_SYMBOL) && (LA344_8834 <= YEAR_SYMBOL)) || LA344_8834 == BACK_TICK_QUOTED_ID || LA344_8834 == DOUBLE_QUOTED_TEXT || LA344_8834 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8834;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2470 == EOF || ((LA344_2470 >= ASCII_SYMBOL) && (LA344_2470 <= YEAR_SYMBOL)) || LA344_2470 == AND_SYMBOL || LA344_2470 == AS_SYMBOL || LA344_2470 == BACK_TICK_QUOTED_ID || LA344_2470 == BETWEEN_SYMBOL || LA344_2470 == BITWISE_AND_OPERATOR || ((LA344_2470 >= BITWISE_OR_OPERATOR) && (LA344_2470 <= BITWISE_XOR_OPERATOR)) || ((LA344_2470 >= CLOSE_CURLY_SYMBOL) && (LA344_2470 <= COLLATE_SYMBOL)) || LA344_2470 == COMMA_SYMBOL || LA344_2470 == CONCAT_PIPES_SYMBOL || LA344_2470 == CROSS_SYMBOL || ((LA344_2470 >= DIV_OPERATOR) && (LA344_2470 <= DIV_SYMBOL)) || LA344_2470 == DOUBLE_QUOTED_TEXT || LA344_2470 == EQUAL_OPERATOR || LA344_2470 == FOR_SYMBOL || LA344_2470 == FROM_SYMBOL || ((LA344_2470 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2470 <= GREATER_THAN_OPERATOR)) || ((LA344_2470 >= GROUP_SYMBOL) && (LA344_2470 <= HAVING_SYMBOL)) || LA344_2470 == IDENTIFIER || LA344_2470 == INNER_SYMBOL || LA344_2470 == INTO_SYMBOL || LA344_2470 == IN_SYMBOL || LA344_2470 == IS_SYMBOL || LA344_2470 == JOIN_SYMBOL || ((LA344_2470 >= LEFT_SYMBOL) && (LA344_2470 <= LESS_THAN_OPERATOR)) || ((LA344_2470 >= LIKE_SYMBOL) && (LA344_2470 <= LIMIT_SYMBOL)) || LA344_2470 == LOCK_SYMBOL || LA344_2470 == LOGICAL_AND_OPERATOR || LA344_2470 == LOGICAL_OR_OPERATOR || LA344_2470 == MINUS_OPERATOR || ((LA344_2470 >= MOD_OPERATOR) && (LA344_2470 <= MOD_SYMBOL)) || ((LA344_2470 >= MULT_OPERATOR) && (LA344_2470 <= NATURAL_SYMBOL)) || ((LA344_2470 >= NOT_EQUAL2_OPERATOR) && (LA344_2470 <= NOT_SYMBOL)) || LA344_2470 == NULL_SAFE_EQUAL_OPERATOR || LA344_2470 == ON_SYMBOL || LA344_2470 == OPEN_PAR_SYMBOL || ((LA344_2470 >= ORDER_SYMBOL) && (LA344_2470 <= OR_SYMBOL)) || LA344_2470 == PLUS_OPERATOR || LA344_2470 == PROCEDURE_SYMBOL || LA344_2470 == REGEXP_SYMBOL || LA344_2470 == RIGHT_SYMBOL || LA344_2470 == SEMICOLON_SYMBOL || LA344_2470 == SET_SYMBOL || ((LA344_2470 >= SHIFT_LEFT_OPERATOR) && (LA344_2470 <= SHIFT_RIGHT_OPERATOR)) || LA344_2470 == SINGLE_QUOTED_TEXT || LA344_2470 == STRAIGHT_JOIN_SYMBOL || LA344_2470 == UNION_SYMBOL || LA344_2470 == USING_SYMBOL || LA344_2470 == WHERE_SYMBOL || LA344_2470 == WITH_SYMBOL || LA344_2470 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2470;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1322 >= ASCII_SYMBOL) && (LA344_1322 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2471 = LA(4);
                                        if ( (LA344_2471 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8887 = LA(5);
                                                if ( (LA344_8887 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8887 >= ASCII_SYMBOL) && (LA344_8887 <= YEAR_SYMBOL)) || LA344_8887 == BACK_TICK_QUOTED_ID || LA344_8887 == DOUBLE_QUOTED_TEXT || LA344_8887 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8887;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2471 == EOF || ((LA344_2471 >= ASCII_SYMBOL) && (LA344_2471 <= YEAR_SYMBOL)) || LA344_2471 == AND_SYMBOL || LA344_2471 == AS_SYMBOL || LA344_2471 == BACK_TICK_QUOTED_ID || LA344_2471 == BETWEEN_SYMBOL || LA344_2471 == BITWISE_AND_OPERATOR || ((LA344_2471 >= BITWISE_OR_OPERATOR) && (LA344_2471 <= BITWISE_XOR_OPERATOR)) || ((LA344_2471 >= CLOSE_CURLY_SYMBOL) && (LA344_2471 <= COLLATE_SYMBOL)) || LA344_2471 == COMMA_SYMBOL || LA344_2471 == CONCAT_PIPES_SYMBOL || LA344_2471 == CROSS_SYMBOL || ((LA344_2471 >= DIV_OPERATOR) && (LA344_2471 <= DIV_SYMBOL)) || LA344_2471 == DOUBLE_QUOTED_TEXT || LA344_2471 == EQUAL_OPERATOR || LA344_2471 == FOR_SYMBOL || LA344_2471 == FROM_SYMBOL || ((LA344_2471 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2471 <= GREATER_THAN_OPERATOR)) || ((LA344_2471 >= GROUP_SYMBOL) && (LA344_2471 <= HAVING_SYMBOL)) || LA344_2471 == IDENTIFIER || LA344_2471 == INNER_SYMBOL || LA344_2471 == INTO_SYMBOL || LA344_2471 == IN_SYMBOL || LA344_2471 == IS_SYMBOL || LA344_2471 == JOIN_SYMBOL || ((LA344_2471 >= LEFT_SYMBOL) && (LA344_2471 <= LESS_THAN_OPERATOR)) || ((LA344_2471 >= LIKE_SYMBOL) && (LA344_2471 <= LIMIT_SYMBOL)) || LA344_2471 == LOCK_SYMBOL || LA344_2471 == LOGICAL_AND_OPERATOR || LA344_2471 == LOGICAL_OR_OPERATOR || LA344_2471 == MINUS_OPERATOR || ((LA344_2471 >= MOD_OPERATOR) && (LA344_2471 <= MOD_SYMBOL)) || ((LA344_2471 >= MULT_OPERATOR) && (LA344_2471 <= NATURAL_SYMBOL)) || ((LA344_2471 >= NOT_EQUAL2_OPERATOR) && (LA344_2471 <= NOT_SYMBOL)) || LA344_2471 == NULL_SAFE_EQUAL_OPERATOR || LA344_2471 == ON_SYMBOL || LA344_2471 == OPEN_PAR_SYMBOL || ((LA344_2471 >= ORDER_SYMBOL) && (LA344_2471 <= OR_SYMBOL)) || LA344_2471 == PLUS_OPERATOR || LA344_2471 == PROCEDURE_SYMBOL || LA344_2471 == REGEXP_SYMBOL || LA344_2471 == RIGHT_SYMBOL || LA344_2471 == SEMICOLON_SYMBOL || LA344_2471 == SET_SYMBOL || ((LA344_2471 >= SHIFT_LEFT_OPERATOR) && (LA344_2471 <= SHIFT_RIGHT_OPERATOR)) || LA344_2471 == SINGLE_QUOTED_TEXT || LA344_2471 == STRAIGHT_JOIN_SYMBOL || LA344_2471 == UNION_SYMBOL || LA344_2471 == USING_SYMBOL || LA344_2471 == WHERE_SYMBOL || LA344_2471 == WITH_SYMBOL || LA344_2471 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2471;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1322;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 56;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == PASSWORD_SYMBOL))
                {
                    {
                        int LA344_58 = LA(2);
                        if ( (LA344_58 == EOF || ((LA344_58 >= ASCII_SYMBOL) && (LA344_58 <= YEAR_SYMBOL)) || LA344_58 == AND_SYMBOL || LA344_58 == AS_SYMBOL || LA344_58 == BACK_TICK_QUOTED_ID || LA344_58 == BETWEEN_SYMBOL || LA344_58 == BITWISE_AND_OPERATOR || ((LA344_58 >= BITWISE_OR_OPERATOR) && (LA344_58 <= BITWISE_XOR_OPERATOR)) || ((LA344_58 >= CLOSE_CURLY_SYMBOL) && (LA344_58 <= COLLATE_SYMBOL)) || LA344_58 == COMMA_SYMBOL || LA344_58 == CONCAT_PIPES_SYMBOL || LA344_58 == CROSS_SYMBOL || ((LA344_58 >= DIV_OPERATOR) && (LA344_58 <= DIV_SYMBOL)) || LA344_58 == DOUBLE_QUOTED_TEXT || LA344_58 == EQUAL_OPERATOR || LA344_58 == FOR_SYMBOL || LA344_58 == FROM_SYMBOL || ((LA344_58 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_58 <= GREATER_THAN_OPERATOR)) || ((LA344_58 >= GROUP_SYMBOL) && (LA344_58 <= HAVING_SYMBOL)) || LA344_58 == IDENTIFIER || LA344_58 == INNER_SYMBOL || LA344_58 == INTO_SYMBOL || LA344_58 == IN_SYMBOL || LA344_58 == IS_SYMBOL || LA344_58 == JOIN_SYMBOL || ((LA344_58 >= LEFT_SYMBOL) && (LA344_58 <= LESS_THAN_OPERATOR)) || ((LA344_58 >= LIKE_SYMBOL) && (LA344_58 <= LIMIT_SYMBOL)) || LA344_58 == LOCK_SYMBOL || LA344_58 == LOGICAL_AND_OPERATOR || LA344_58 == LOGICAL_OR_OPERATOR || LA344_58 == MINUS_OPERATOR || ((LA344_58 >= MOD_OPERATOR) && (LA344_58 <= MOD_SYMBOL)) || ((LA344_58 >= MULT_OPERATOR) && (LA344_58 <= NATURAL_SYMBOL)) || ((LA344_58 >= NOT_EQUAL2_OPERATOR) && (LA344_58 <= NOT_SYMBOL)) || LA344_58 == NULL_SAFE_EQUAL_OPERATOR || LA344_58 == ON_SYMBOL || LA344_58 == OPEN_PAR_SYMBOL || ((LA344_58 >= ORDER_SYMBOL) && (LA344_58 <= OR_SYMBOL)) || LA344_58 == PLUS_OPERATOR || LA344_58 == PROCEDURE_SYMBOL || LA344_58 == REGEXP_SYMBOL || LA344_58 == RIGHT_SYMBOL || LA344_58 == SEMICOLON_SYMBOL || LA344_58 == SET_SYMBOL || ((LA344_58 >= SHIFT_LEFT_OPERATOR) && (LA344_58 <= SHIFT_RIGHT_OPERATOR)) || LA344_58 == SINGLE_QUOTED_TEXT || LA344_58 == STRAIGHT_JOIN_SYMBOL || LA344_58 == UNION_SYMBOL || LA344_58 == USING_SYMBOL || LA344_58 == WHERE_SYMBOL || LA344_58 == WITH_SYMBOL || LA344_58 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_58 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1375 = LA(3);
                                if ( (LA344_1375 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1375 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2473 = LA(4);
                                        if ( (LA344_2473 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8940 = LA(5);
                                                if ( (LA344_8940 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8940 >= ASCII_SYMBOL) && (LA344_8940 <= YEAR_SYMBOL)) || LA344_8940 == BACK_TICK_QUOTED_ID || LA344_8940 == DOUBLE_QUOTED_TEXT || LA344_8940 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8940;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2473 == EOF || ((LA344_2473 >= ASCII_SYMBOL) && (LA344_2473 <= YEAR_SYMBOL)) || LA344_2473 == AND_SYMBOL || LA344_2473 == AS_SYMBOL || LA344_2473 == BACK_TICK_QUOTED_ID || LA344_2473 == BETWEEN_SYMBOL || LA344_2473 == BITWISE_AND_OPERATOR || ((LA344_2473 >= BITWISE_OR_OPERATOR) && (LA344_2473 <= BITWISE_XOR_OPERATOR)) || ((LA344_2473 >= CLOSE_CURLY_SYMBOL) && (LA344_2473 <= COLLATE_SYMBOL)) || LA344_2473 == COMMA_SYMBOL || LA344_2473 == CONCAT_PIPES_SYMBOL || LA344_2473 == CROSS_SYMBOL || ((LA344_2473 >= DIV_OPERATOR) && (LA344_2473 <= DIV_SYMBOL)) || LA344_2473 == DOUBLE_QUOTED_TEXT || LA344_2473 == EQUAL_OPERATOR || LA344_2473 == FOR_SYMBOL || LA344_2473 == FROM_SYMBOL || ((LA344_2473 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2473 <= GREATER_THAN_OPERATOR)) || ((LA344_2473 >= GROUP_SYMBOL) && (LA344_2473 <= HAVING_SYMBOL)) || LA344_2473 == IDENTIFIER || LA344_2473 == INNER_SYMBOL || LA344_2473 == INTO_SYMBOL || LA344_2473 == IN_SYMBOL || LA344_2473 == IS_SYMBOL || LA344_2473 == JOIN_SYMBOL || ((LA344_2473 >= LEFT_SYMBOL) && (LA344_2473 <= LESS_THAN_OPERATOR)) || ((LA344_2473 >= LIKE_SYMBOL) && (LA344_2473 <= LIMIT_SYMBOL)) || LA344_2473 == LOCK_SYMBOL || LA344_2473 == LOGICAL_AND_OPERATOR || LA344_2473 == LOGICAL_OR_OPERATOR || LA344_2473 == MINUS_OPERATOR || ((LA344_2473 >= MOD_OPERATOR) && (LA344_2473 <= MOD_SYMBOL)) || ((LA344_2473 >= MULT_OPERATOR) && (LA344_2473 <= NATURAL_SYMBOL)) || ((LA344_2473 >= NOT_EQUAL2_OPERATOR) && (LA344_2473 <= NOT_SYMBOL)) || LA344_2473 == NULL_SAFE_EQUAL_OPERATOR || LA344_2473 == ON_SYMBOL || LA344_2473 == OPEN_PAR_SYMBOL || ((LA344_2473 >= ORDER_SYMBOL) && (LA344_2473 <= OR_SYMBOL)) || LA344_2473 == PLUS_OPERATOR || LA344_2473 == PROCEDURE_SYMBOL || LA344_2473 == REGEXP_SYMBOL || LA344_2473 == RIGHT_SYMBOL || LA344_2473 == SEMICOLON_SYMBOL || LA344_2473 == SET_SYMBOL || ((LA344_2473 >= SHIFT_LEFT_OPERATOR) && (LA344_2473 <= SHIFT_RIGHT_OPERATOR)) || LA344_2473 == SINGLE_QUOTED_TEXT || LA344_2473 == STRAIGHT_JOIN_SYMBOL || LA344_2473 == UNION_SYMBOL || LA344_2473 == USING_SYMBOL || LA344_2473 == WHERE_SYMBOL || LA344_2473 == WITH_SYMBOL || LA344_2473 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2473;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1375 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2474 = LA(4);
                                        if ( (LA344_2474 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_8993 = LA(5);
                                                if ( (LA344_8993 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_8993 >= ASCII_SYMBOL) && (LA344_8993 <= YEAR_SYMBOL)) || LA344_8993 == BACK_TICK_QUOTED_ID || LA344_8993 == DOUBLE_QUOTED_TEXT || LA344_8993 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 8993;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2474 == EOF || ((LA344_2474 >= ASCII_SYMBOL) && (LA344_2474 <= YEAR_SYMBOL)) || LA344_2474 == AND_SYMBOL || LA344_2474 == AS_SYMBOL || LA344_2474 == BACK_TICK_QUOTED_ID || LA344_2474 == BETWEEN_SYMBOL || LA344_2474 == BITWISE_AND_OPERATOR || ((LA344_2474 >= BITWISE_OR_OPERATOR) && (LA344_2474 <= BITWISE_XOR_OPERATOR)) || ((LA344_2474 >= CLOSE_CURLY_SYMBOL) && (LA344_2474 <= COLLATE_SYMBOL)) || LA344_2474 == COMMA_SYMBOL || LA344_2474 == CONCAT_PIPES_SYMBOL || LA344_2474 == CROSS_SYMBOL || ((LA344_2474 >= DIV_OPERATOR) && (LA344_2474 <= DIV_SYMBOL)) || LA344_2474 == DOUBLE_QUOTED_TEXT || LA344_2474 == EQUAL_OPERATOR || LA344_2474 == FOR_SYMBOL || LA344_2474 == FROM_SYMBOL || ((LA344_2474 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2474 <= GREATER_THAN_OPERATOR)) || ((LA344_2474 >= GROUP_SYMBOL) && (LA344_2474 <= HAVING_SYMBOL)) || LA344_2474 == IDENTIFIER || LA344_2474 == INNER_SYMBOL || LA344_2474 == INTO_SYMBOL || LA344_2474 == IN_SYMBOL || LA344_2474 == IS_SYMBOL || LA344_2474 == JOIN_SYMBOL || ((LA344_2474 >= LEFT_SYMBOL) && (LA344_2474 <= LESS_THAN_OPERATOR)) || ((LA344_2474 >= LIKE_SYMBOL) && (LA344_2474 <= LIMIT_SYMBOL)) || LA344_2474 == LOCK_SYMBOL || LA344_2474 == LOGICAL_AND_OPERATOR || LA344_2474 == LOGICAL_OR_OPERATOR || LA344_2474 == MINUS_OPERATOR || ((LA344_2474 >= MOD_OPERATOR) && (LA344_2474 <= MOD_SYMBOL)) || ((LA344_2474 >= MULT_OPERATOR) && (LA344_2474 <= NATURAL_SYMBOL)) || ((LA344_2474 >= NOT_EQUAL2_OPERATOR) && (LA344_2474 <= NOT_SYMBOL)) || LA344_2474 == NULL_SAFE_EQUAL_OPERATOR || LA344_2474 == ON_SYMBOL || LA344_2474 == OPEN_PAR_SYMBOL || ((LA344_2474 >= ORDER_SYMBOL) && (LA344_2474 <= OR_SYMBOL)) || LA344_2474 == PLUS_OPERATOR || LA344_2474 == PROCEDURE_SYMBOL || LA344_2474 == REGEXP_SYMBOL || LA344_2474 == RIGHT_SYMBOL || LA344_2474 == SEMICOLON_SYMBOL || LA344_2474 == SET_SYMBOL || ((LA344_2474 >= SHIFT_LEFT_OPERATOR) && (LA344_2474 <= SHIFT_RIGHT_OPERATOR)) || LA344_2474 == SINGLE_QUOTED_TEXT || LA344_2474 == STRAIGHT_JOIN_SYMBOL || LA344_2474 == UNION_SYMBOL || LA344_2474 == USING_SYMBOL || LA344_2474 == WHERE_SYMBOL || LA344_2474 == WITH_SYMBOL || LA344_2474 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2474;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1375 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2475 = LA(4);
                                        if ( (LA344_2475 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9046 = LA(5);
                                                if ( (LA344_9046 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9046 >= ASCII_SYMBOL) && (LA344_9046 <= YEAR_SYMBOL)) || LA344_9046 == BACK_TICK_QUOTED_ID || LA344_9046 == DOUBLE_QUOTED_TEXT || LA344_9046 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9046;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2475 == EOF || ((LA344_2475 >= ASCII_SYMBOL) && (LA344_2475 <= YEAR_SYMBOL)) || LA344_2475 == AND_SYMBOL || LA344_2475 == AS_SYMBOL || LA344_2475 == BACK_TICK_QUOTED_ID || LA344_2475 == BETWEEN_SYMBOL || LA344_2475 == BITWISE_AND_OPERATOR || ((LA344_2475 >= BITWISE_OR_OPERATOR) && (LA344_2475 <= BITWISE_XOR_OPERATOR)) || ((LA344_2475 >= CLOSE_CURLY_SYMBOL) && (LA344_2475 <= COLLATE_SYMBOL)) || LA344_2475 == COMMA_SYMBOL || LA344_2475 == CONCAT_PIPES_SYMBOL || LA344_2475 == CROSS_SYMBOL || ((LA344_2475 >= DIV_OPERATOR) && (LA344_2475 <= DIV_SYMBOL)) || LA344_2475 == DOUBLE_QUOTED_TEXT || LA344_2475 == EQUAL_OPERATOR || LA344_2475 == FOR_SYMBOL || LA344_2475 == FROM_SYMBOL || ((LA344_2475 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2475 <= GREATER_THAN_OPERATOR)) || ((LA344_2475 >= GROUP_SYMBOL) && (LA344_2475 <= HAVING_SYMBOL)) || LA344_2475 == IDENTIFIER || LA344_2475 == INNER_SYMBOL || LA344_2475 == INTO_SYMBOL || LA344_2475 == IN_SYMBOL || LA344_2475 == IS_SYMBOL || LA344_2475 == JOIN_SYMBOL || ((LA344_2475 >= LEFT_SYMBOL) && (LA344_2475 <= LESS_THAN_OPERATOR)) || ((LA344_2475 >= LIKE_SYMBOL) && (LA344_2475 <= LIMIT_SYMBOL)) || LA344_2475 == LOCK_SYMBOL || LA344_2475 == LOGICAL_AND_OPERATOR || LA344_2475 == LOGICAL_OR_OPERATOR || LA344_2475 == MINUS_OPERATOR || ((LA344_2475 >= MOD_OPERATOR) && (LA344_2475 <= MOD_SYMBOL)) || ((LA344_2475 >= MULT_OPERATOR) && (LA344_2475 <= NATURAL_SYMBOL)) || ((LA344_2475 >= NOT_EQUAL2_OPERATOR) && (LA344_2475 <= NOT_SYMBOL)) || LA344_2475 == NULL_SAFE_EQUAL_OPERATOR || LA344_2475 == ON_SYMBOL || LA344_2475 == OPEN_PAR_SYMBOL || ((LA344_2475 >= ORDER_SYMBOL) && (LA344_2475 <= OR_SYMBOL)) || LA344_2475 == PLUS_OPERATOR || LA344_2475 == PROCEDURE_SYMBOL || LA344_2475 == REGEXP_SYMBOL || LA344_2475 == RIGHT_SYMBOL || LA344_2475 == SEMICOLON_SYMBOL || LA344_2475 == SET_SYMBOL || ((LA344_2475 >= SHIFT_LEFT_OPERATOR) && (LA344_2475 <= SHIFT_RIGHT_OPERATOR)) || LA344_2475 == SINGLE_QUOTED_TEXT || LA344_2475 == STRAIGHT_JOIN_SYMBOL || LA344_2475 == UNION_SYMBOL || LA344_2475 == USING_SYMBOL || LA344_2475 == WHERE_SYMBOL || LA344_2475 == WITH_SYMBOL || LA344_2475 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2475;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1375 >= ACTION_SYMBOL) && (LA344_1375 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2476 = LA(4);
                                        if ( (LA344_2476 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9099 = LA(5);
                                                if ( (LA344_9099 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9099 >= ASCII_SYMBOL) && (LA344_9099 <= YEAR_SYMBOL)) || LA344_9099 == BACK_TICK_QUOTED_ID || LA344_9099 == DOUBLE_QUOTED_TEXT || LA344_9099 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9099;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2476 == EOF || ((LA344_2476 >= ASCII_SYMBOL) && (LA344_2476 <= YEAR_SYMBOL)) || LA344_2476 == AND_SYMBOL || LA344_2476 == AS_SYMBOL || LA344_2476 == BACK_TICK_QUOTED_ID || LA344_2476 == BETWEEN_SYMBOL || LA344_2476 == BITWISE_AND_OPERATOR || ((LA344_2476 >= BITWISE_OR_OPERATOR) && (LA344_2476 <= BITWISE_XOR_OPERATOR)) || ((LA344_2476 >= CLOSE_CURLY_SYMBOL) && (LA344_2476 <= COLLATE_SYMBOL)) || LA344_2476 == COMMA_SYMBOL || LA344_2476 == CONCAT_PIPES_SYMBOL || LA344_2476 == CROSS_SYMBOL || ((LA344_2476 >= DIV_OPERATOR) && (LA344_2476 <= DIV_SYMBOL)) || LA344_2476 == DOUBLE_QUOTED_TEXT || LA344_2476 == EQUAL_OPERATOR || LA344_2476 == FOR_SYMBOL || LA344_2476 == FROM_SYMBOL || ((LA344_2476 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2476 <= GREATER_THAN_OPERATOR)) || ((LA344_2476 >= GROUP_SYMBOL) && (LA344_2476 <= HAVING_SYMBOL)) || LA344_2476 == IDENTIFIER || LA344_2476 == INNER_SYMBOL || LA344_2476 == INTO_SYMBOL || LA344_2476 == IN_SYMBOL || LA344_2476 == IS_SYMBOL || LA344_2476 == JOIN_SYMBOL || ((LA344_2476 >= LEFT_SYMBOL) && (LA344_2476 <= LESS_THAN_OPERATOR)) || ((LA344_2476 >= LIKE_SYMBOL) && (LA344_2476 <= LIMIT_SYMBOL)) || LA344_2476 == LOCK_SYMBOL || LA344_2476 == LOGICAL_AND_OPERATOR || LA344_2476 == LOGICAL_OR_OPERATOR || LA344_2476 == MINUS_OPERATOR || ((LA344_2476 >= MOD_OPERATOR) && (LA344_2476 <= MOD_SYMBOL)) || ((LA344_2476 >= MULT_OPERATOR) && (LA344_2476 <= NATURAL_SYMBOL)) || ((LA344_2476 >= NOT_EQUAL2_OPERATOR) && (LA344_2476 <= NOT_SYMBOL)) || LA344_2476 == NULL_SAFE_EQUAL_OPERATOR || LA344_2476 == ON_SYMBOL || LA344_2476 == OPEN_PAR_SYMBOL || ((LA344_2476 >= ORDER_SYMBOL) && (LA344_2476 <= OR_SYMBOL)) || LA344_2476 == PLUS_OPERATOR || LA344_2476 == PROCEDURE_SYMBOL || LA344_2476 == REGEXP_SYMBOL || LA344_2476 == RIGHT_SYMBOL || LA344_2476 == SEMICOLON_SYMBOL || LA344_2476 == SET_SYMBOL || ((LA344_2476 >= SHIFT_LEFT_OPERATOR) && (LA344_2476 <= SHIFT_RIGHT_OPERATOR)) || LA344_2476 == SINGLE_QUOTED_TEXT || LA344_2476 == STRAIGHT_JOIN_SYMBOL || LA344_2476 == UNION_SYMBOL || LA344_2476 == USING_SYMBOL || LA344_2476 == WHERE_SYMBOL || LA344_2476 == WITH_SYMBOL || LA344_2476 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2476;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1375 >= ASCII_SYMBOL) && (LA344_1375 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2477 = LA(4);
                                        if ( (LA344_2477 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9152 = LA(5);
                                                if ( (LA344_9152 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9152 >= ASCII_SYMBOL) && (LA344_9152 <= YEAR_SYMBOL)) || LA344_9152 == BACK_TICK_QUOTED_ID || LA344_9152 == DOUBLE_QUOTED_TEXT || LA344_9152 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9152;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2477 == EOF || ((LA344_2477 >= ASCII_SYMBOL) && (LA344_2477 <= YEAR_SYMBOL)) || LA344_2477 == AND_SYMBOL || LA344_2477 == AS_SYMBOL || LA344_2477 == BACK_TICK_QUOTED_ID || LA344_2477 == BETWEEN_SYMBOL || LA344_2477 == BITWISE_AND_OPERATOR || ((LA344_2477 >= BITWISE_OR_OPERATOR) && (LA344_2477 <= BITWISE_XOR_OPERATOR)) || ((LA344_2477 >= CLOSE_CURLY_SYMBOL) && (LA344_2477 <= COLLATE_SYMBOL)) || LA344_2477 == COMMA_SYMBOL || LA344_2477 == CONCAT_PIPES_SYMBOL || LA344_2477 == CROSS_SYMBOL || ((LA344_2477 >= DIV_OPERATOR) && (LA344_2477 <= DIV_SYMBOL)) || LA344_2477 == DOUBLE_QUOTED_TEXT || LA344_2477 == EQUAL_OPERATOR || LA344_2477 == FOR_SYMBOL || LA344_2477 == FROM_SYMBOL || ((LA344_2477 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2477 <= GREATER_THAN_OPERATOR)) || ((LA344_2477 >= GROUP_SYMBOL) && (LA344_2477 <= HAVING_SYMBOL)) || LA344_2477 == IDENTIFIER || LA344_2477 == INNER_SYMBOL || LA344_2477 == INTO_SYMBOL || LA344_2477 == IN_SYMBOL || LA344_2477 == IS_SYMBOL || LA344_2477 == JOIN_SYMBOL || ((LA344_2477 >= LEFT_SYMBOL) && (LA344_2477 <= LESS_THAN_OPERATOR)) || ((LA344_2477 >= LIKE_SYMBOL) && (LA344_2477 <= LIMIT_SYMBOL)) || LA344_2477 == LOCK_SYMBOL || LA344_2477 == LOGICAL_AND_OPERATOR || LA344_2477 == LOGICAL_OR_OPERATOR || LA344_2477 == MINUS_OPERATOR || ((LA344_2477 >= MOD_OPERATOR) && (LA344_2477 <= MOD_SYMBOL)) || ((LA344_2477 >= MULT_OPERATOR) && (LA344_2477 <= NATURAL_SYMBOL)) || ((LA344_2477 >= NOT_EQUAL2_OPERATOR) && (LA344_2477 <= NOT_SYMBOL)) || LA344_2477 == NULL_SAFE_EQUAL_OPERATOR || LA344_2477 == ON_SYMBOL || LA344_2477 == OPEN_PAR_SYMBOL || ((LA344_2477 >= ORDER_SYMBOL) && (LA344_2477 <= OR_SYMBOL)) || LA344_2477 == PLUS_OPERATOR || LA344_2477 == PROCEDURE_SYMBOL || LA344_2477 == REGEXP_SYMBOL || LA344_2477 == RIGHT_SYMBOL || LA344_2477 == SEMICOLON_SYMBOL || LA344_2477 == SET_SYMBOL || ((LA344_2477 >= SHIFT_LEFT_OPERATOR) && (LA344_2477 <= SHIFT_RIGHT_OPERATOR)) || LA344_2477 == SINGLE_QUOTED_TEXT || LA344_2477 == STRAIGHT_JOIN_SYMBOL || LA344_2477 == UNION_SYMBOL || LA344_2477 == USING_SYMBOL || LA344_2477 == WHERE_SYMBOL || LA344_2477 == WITH_SYMBOL || LA344_2477 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2477;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1375;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 58;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == QUARTER_SYMBOL))
                {
                    {
                        int LA344_59 = LA(2);
                        if ( (LA344_59 == EOF || ((LA344_59 >= ASCII_SYMBOL) && (LA344_59 <= YEAR_SYMBOL)) || LA344_59 == AND_SYMBOL || LA344_59 == AS_SYMBOL || LA344_59 == BACK_TICK_QUOTED_ID || LA344_59 == BETWEEN_SYMBOL || LA344_59 == BITWISE_AND_OPERATOR || ((LA344_59 >= BITWISE_OR_OPERATOR) && (LA344_59 <= BITWISE_XOR_OPERATOR)) || ((LA344_59 >= CLOSE_CURLY_SYMBOL) && (LA344_59 <= COLLATE_SYMBOL)) || LA344_59 == COMMA_SYMBOL || LA344_59 == CONCAT_PIPES_SYMBOL || LA344_59 == CROSS_SYMBOL || ((LA344_59 >= DIV_OPERATOR) && (LA344_59 <= DIV_SYMBOL)) || LA344_59 == DOUBLE_QUOTED_TEXT || LA344_59 == EQUAL_OPERATOR || LA344_59 == FOR_SYMBOL || LA344_59 == FROM_SYMBOL || ((LA344_59 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_59 <= GREATER_THAN_OPERATOR)) || ((LA344_59 >= GROUP_SYMBOL) && (LA344_59 <= HAVING_SYMBOL)) || LA344_59 == IDENTIFIER || LA344_59 == INNER_SYMBOL || LA344_59 == INTO_SYMBOL || LA344_59 == IN_SYMBOL || LA344_59 == IS_SYMBOL || LA344_59 == JOIN_SYMBOL || ((LA344_59 >= LEFT_SYMBOL) && (LA344_59 <= LESS_THAN_OPERATOR)) || ((LA344_59 >= LIKE_SYMBOL) && (LA344_59 <= LIMIT_SYMBOL)) || LA344_59 == LOCK_SYMBOL || LA344_59 == LOGICAL_AND_OPERATOR || LA344_59 == LOGICAL_OR_OPERATOR || LA344_59 == MINUS_OPERATOR || ((LA344_59 >= MOD_OPERATOR) && (LA344_59 <= MOD_SYMBOL)) || ((LA344_59 >= MULT_OPERATOR) && (LA344_59 <= NATURAL_SYMBOL)) || ((LA344_59 >= NOT_EQUAL2_OPERATOR) && (LA344_59 <= NOT_SYMBOL)) || LA344_59 == NULL_SAFE_EQUAL_OPERATOR || LA344_59 == ON_SYMBOL || LA344_59 == OPEN_PAR_SYMBOL || ((LA344_59 >= ORDER_SYMBOL) && (LA344_59 <= OR_SYMBOL)) || LA344_59 == PLUS_OPERATOR || LA344_59 == PROCEDURE_SYMBOL || LA344_59 == REGEXP_SYMBOL || LA344_59 == RIGHT_SYMBOL || LA344_59 == SEMICOLON_SYMBOL || LA344_59 == SET_SYMBOL || ((LA344_59 >= SHIFT_LEFT_OPERATOR) && (LA344_59 <= SHIFT_RIGHT_OPERATOR)) || LA344_59 == SINGLE_QUOTED_TEXT || LA344_59 == STRAIGHT_JOIN_SYMBOL || LA344_59 == UNION_SYMBOL || LA344_59 == USING_SYMBOL || LA344_59 == WHERE_SYMBOL || LA344_59 == WITH_SYMBOL || LA344_59 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_59 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1428 = LA(3);
                                if ( (LA344_1428 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1428 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2479 = LA(4);
                                        if ( (LA344_2479 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9205 = LA(5);
                                                if ( (LA344_9205 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9205 >= ASCII_SYMBOL) && (LA344_9205 <= YEAR_SYMBOL)) || LA344_9205 == BACK_TICK_QUOTED_ID || LA344_9205 == DOUBLE_QUOTED_TEXT || LA344_9205 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9205;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2479 == EOF || ((LA344_2479 >= ASCII_SYMBOL) && (LA344_2479 <= YEAR_SYMBOL)) || LA344_2479 == AND_SYMBOL || LA344_2479 == AS_SYMBOL || LA344_2479 == BACK_TICK_QUOTED_ID || LA344_2479 == BETWEEN_SYMBOL || LA344_2479 == BITWISE_AND_OPERATOR || ((LA344_2479 >= BITWISE_OR_OPERATOR) && (LA344_2479 <= BITWISE_XOR_OPERATOR)) || ((LA344_2479 >= CLOSE_CURLY_SYMBOL) && (LA344_2479 <= COLLATE_SYMBOL)) || LA344_2479 == COMMA_SYMBOL || LA344_2479 == CONCAT_PIPES_SYMBOL || LA344_2479 == CROSS_SYMBOL || ((LA344_2479 >= DIV_OPERATOR) && (LA344_2479 <= DIV_SYMBOL)) || LA344_2479 == DOUBLE_QUOTED_TEXT || LA344_2479 == EQUAL_OPERATOR || LA344_2479 == FOR_SYMBOL || LA344_2479 == FROM_SYMBOL || ((LA344_2479 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2479 <= GREATER_THAN_OPERATOR)) || ((LA344_2479 >= GROUP_SYMBOL) && (LA344_2479 <= HAVING_SYMBOL)) || LA344_2479 == IDENTIFIER || LA344_2479 == INNER_SYMBOL || LA344_2479 == INTO_SYMBOL || LA344_2479 == IN_SYMBOL || LA344_2479 == IS_SYMBOL || LA344_2479 == JOIN_SYMBOL || ((LA344_2479 >= LEFT_SYMBOL) && (LA344_2479 <= LESS_THAN_OPERATOR)) || ((LA344_2479 >= LIKE_SYMBOL) && (LA344_2479 <= LIMIT_SYMBOL)) || LA344_2479 == LOCK_SYMBOL || LA344_2479 == LOGICAL_AND_OPERATOR || LA344_2479 == LOGICAL_OR_OPERATOR || LA344_2479 == MINUS_OPERATOR || ((LA344_2479 >= MOD_OPERATOR) && (LA344_2479 <= MOD_SYMBOL)) || ((LA344_2479 >= MULT_OPERATOR) && (LA344_2479 <= NATURAL_SYMBOL)) || ((LA344_2479 >= NOT_EQUAL2_OPERATOR) && (LA344_2479 <= NOT_SYMBOL)) || LA344_2479 == NULL_SAFE_EQUAL_OPERATOR || LA344_2479 == ON_SYMBOL || LA344_2479 == OPEN_PAR_SYMBOL || ((LA344_2479 >= ORDER_SYMBOL) && (LA344_2479 <= OR_SYMBOL)) || LA344_2479 == PLUS_OPERATOR || LA344_2479 == PROCEDURE_SYMBOL || LA344_2479 == REGEXP_SYMBOL || LA344_2479 == RIGHT_SYMBOL || LA344_2479 == SEMICOLON_SYMBOL || LA344_2479 == SET_SYMBOL || ((LA344_2479 >= SHIFT_LEFT_OPERATOR) && (LA344_2479 <= SHIFT_RIGHT_OPERATOR)) || LA344_2479 == SINGLE_QUOTED_TEXT || LA344_2479 == STRAIGHT_JOIN_SYMBOL || LA344_2479 == UNION_SYMBOL || LA344_2479 == USING_SYMBOL || LA344_2479 == WHERE_SYMBOL || LA344_2479 == WITH_SYMBOL || LA344_2479 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2479;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1428 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2480 = LA(4);
                                        if ( (LA344_2480 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9258 = LA(5);
                                                if ( (LA344_9258 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9258 >= ASCII_SYMBOL) && (LA344_9258 <= YEAR_SYMBOL)) || LA344_9258 == BACK_TICK_QUOTED_ID || LA344_9258 == DOUBLE_QUOTED_TEXT || LA344_9258 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9258;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2480 == EOF || ((LA344_2480 >= ASCII_SYMBOL) && (LA344_2480 <= YEAR_SYMBOL)) || LA344_2480 == AND_SYMBOL || LA344_2480 == AS_SYMBOL || LA344_2480 == BACK_TICK_QUOTED_ID || LA344_2480 == BETWEEN_SYMBOL || LA344_2480 == BITWISE_AND_OPERATOR || ((LA344_2480 >= BITWISE_OR_OPERATOR) && (LA344_2480 <= BITWISE_XOR_OPERATOR)) || ((LA344_2480 >= CLOSE_CURLY_SYMBOL) && (LA344_2480 <= COLLATE_SYMBOL)) || LA344_2480 == COMMA_SYMBOL || LA344_2480 == CONCAT_PIPES_SYMBOL || LA344_2480 == CROSS_SYMBOL || ((LA344_2480 >= DIV_OPERATOR) && (LA344_2480 <= DIV_SYMBOL)) || LA344_2480 == DOUBLE_QUOTED_TEXT || LA344_2480 == EQUAL_OPERATOR || LA344_2480 == FOR_SYMBOL || LA344_2480 == FROM_SYMBOL || ((LA344_2480 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2480 <= GREATER_THAN_OPERATOR)) || ((LA344_2480 >= GROUP_SYMBOL) && (LA344_2480 <= HAVING_SYMBOL)) || LA344_2480 == IDENTIFIER || LA344_2480 == INNER_SYMBOL || LA344_2480 == INTO_SYMBOL || LA344_2480 == IN_SYMBOL || LA344_2480 == IS_SYMBOL || LA344_2480 == JOIN_SYMBOL || ((LA344_2480 >= LEFT_SYMBOL) && (LA344_2480 <= LESS_THAN_OPERATOR)) || ((LA344_2480 >= LIKE_SYMBOL) && (LA344_2480 <= LIMIT_SYMBOL)) || LA344_2480 == LOCK_SYMBOL || LA344_2480 == LOGICAL_AND_OPERATOR || LA344_2480 == LOGICAL_OR_OPERATOR || LA344_2480 == MINUS_OPERATOR || ((LA344_2480 >= MOD_OPERATOR) && (LA344_2480 <= MOD_SYMBOL)) || ((LA344_2480 >= MULT_OPERATOR) && (LA344_2480 <= NATURAL_SYMBOL)) || ((LA344_2480 >= NOT_EQUAL2_OPERATOR) && (LA344_2480 <= NOT_SYMBOL)) || LA344_2480 == NULL_SAFE_EQUAL_OPERATOR || LA344_2480 == ON_SYMBOL || LA344_2480 == OPEN_PAR_SYMBOL || ((LA344_2480 >= ORDER_SYMBOL) && (LA344_2480 <= OR_SYMBOL)) || LA344_2480 == PLUS_OPERATOR || LA344_2480 == PROCEDURE_SYMBOL || LA344_2480 == REGEXP_SYMBOL || LA344_2480 == RIGHT_SYMBOL || LA344_2480 == SEMICOLON_SYMBOL || LA344_2480 == SET_SYMBOL || ((LA344_2480 >= SHIFT_LEFT_OPERATOR) && (LA344_2480 <= SHIFT_RIGHT_OPERATOR)) || LA344_2480 == SINGLE_QUOTED_TEXT || LA344_2480 == STRAIGHT_JOIN_SYMBOL || LA344_2480 == UNION_SYMBOL || LA344_2480 == USING_SYMBOL || LA344_2480 == WHERE_SYMBOL || LA344_2480 == WITH_SYMBOL || LA344_2480 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2480;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1428 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2481 = LA(4);
                                        if ( (LA344_2481 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9311 = LA(5);
                                                if ( (LA344_9311 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9311 >= ASCII_SYMBOL) && (LA344_9311 <= YEAR_SYMBOL)) || LA344_9311 == BACK_TICK_QUOTED_ID || LA344_9311 == DOUBLE_QUOTED_TEXT || LA344_9311 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9311;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2481 == EOF || ((LA344_2481 >= ASCII_SYMBOL) && (LA344_2481 <= YEAR_SYMBOL)) || LA344_2481 == AND_SYMBOL || LA344_2481 == AS_SYMBOL || LA344_2481 == BACK_TICK_QUOTED_ID || LA344_2481 == BETWEEN_SYMBOL || LA344_2481 == BITWISE_AND_OPERATOR || ((LA344_2481 >= BITWISE_OR_OPERATOR) && (LA344_2481 <= BITWISE_XOR_OPERATOR)) || ((LA344_2481 >= CLOSE_CURLY_SYMBOL) && (LA344_2481 <= COLLATE_SYMBOL)) || LA344_2481 == COMMA_SYMBOL || LA344_2481 == CONCAT_PIPES_SYMBOL || LA344_2481 == CROSS_SYMBOL || ((LA344_2481 >= DIV_OPERATOR) && (LA344_2481 <= DIV_SYMBOL)) || LA344_2481 == DOUBLE_QUOTED_TEXT || LA344_2481 == EQUAL_OPERATOR || LA344_2481 == FOR_SYMBOL || LA344_2481 == FROM_SYMBOL || ((LA344_2481 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2481 <= GREATER_THAN_OPERATOR)) || ((LA344_2481 >= GROUP_SYMBOL) && (LA344_2481 <= HAVING_SYMBOL)) || LA344_2481 == IDENTIFIER || LA344_2481 == INNER_SYMBOL || LA344_2481 == INTO_SYMBOL || LA344_2481 == IN_SYMBOL || LA344_2481 == IS_SYMBOL || LA344_2481 == JOIN_SYMBOL || ((LA344_2481 >= LEFT_SYMBOL) && (LA344_2481 <= LESS_THAN_OPERATOR)) || ((LA344_2481 >= LIKE_SYMBOL) && (LA344_2481 <= LIMIT_SYMBOL)) || LA344_2481 == LOCK_SYMBOL || LA344_2481 == LOGICAL_AND_OPERATOR || LA344_2481 == LOGICAL_OR_OPERATOR || LA344_2481 == MINUS_OPERATOR || ((LA344_2481 >= MOD_OPERATOR) && (LA344_2481 <= MOD_SYMBOL)) || ((LA344_2481 >= MULT_OPERATOR) && (LA344_2481 <= NATURAL_SYMBOL)) || ((LA344_2481 >= NOT_EQUAL2_OPERATOR) && (LA344_2481 <= NOT_SYMBOL)) || LA344_2481 == NULL_SAFE_EQUAL_OPERATOR || LA344_2481 == ON_SYMBOL || LA344_2481 == OPEN_PAR_SYMBOL || ((LA344_2481 >= ORDER_SYMBOL) && (LA344_2481 <= OR_SYMBOL)) || LA344_2481 == PLUS_OPERATOR || LA344_2481 == PROCEDURE_SYMBOL || LA344_2481 == REGEXP_SYMBOL || LA344_2481 == RIGHT_SYMBOL || LA344_2481 == SEMICOLON_SYMBOL || LA344_2481 == SET_SYMBOL || ((LA344_2481 >= SHIFT_LEFT_OPERATOR) && (LA344_2481 <= SHIFT_RIGHT_OPERATOR)) || LA344_2481 == SINGLE_QUOTED_TEXT || LA344_2481 == STRAIGHT_JOIN_SYMBOL || LA344_2481 == UNION_SYMBOL || LA344_2481 == USING_SYMBOL || LA344_2481 == WHERE_SYMBOL || LA344_2481 == WITH_SYMBOL || LA344_2481 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2481;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1428 >= ACTION_SYMBOL) && (LA344_1428 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2482 = LA(4);
                                        if ( (LA344_2482 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9364 = LA(5);
                                                if ( (LA344_9364 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9364 >= ASCII_SYMBOL) && (LA344_9364 <= YEAR_SYMBOL)) || LA344_9364 == BACK_TICK_QUOTED_ID || LA344_9364 == DOUBLE_QUOTED_TEXT || LA344_9364 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9364;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2482 == EOF || ((LA344_2482 >= ASCII_SYMBOL) && (LA344_2482 <= YEAR_SYMBOL)) || LA344_2482 == AND_SYMBOL || LA344_2482 == AS_SYMBOL || LA344_2482 == BACK_TICK_QUOTED_ID || LA344_2482 == BETWEEN_SYMBOL || LA344_2482 == BITWISE_AND_OPERATOR || ((LA344_2482 >= BITWISE_OR_OPERATOR) && (LA344_2482 <= BITWISE_XOR_OPERATOR)) || ((LA344_2482 >= CLOSE_CURLY_SYMBOL) && (LA344_2482 <= COLLATE_SYMBOL)) || LA344_2482 == COMMA_SYMBOL || LA344_2482 == CONCAT_PIPES_SYMBOL || LA344_2482 == CROSS_SYMBOL || ((LA344_2482 >= DIV_OPERATOR) && (LA344_2482 <= DIV_SYMBOL)) || LA344_2482 == DOUBLE_QUOTED_TEXT || LA344_2482 == EQUAL_OPERATOR || LA344_2482 == FOR_SYMBOL || LA344_2482 == FROM_SYMBOL || ((LA344_2482 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2482 <= GREATER_THAN_OPERATOR)) || ((LA344_2482 >= GROUP_SYMBOL) && (LA344_2482 <= HAVING_SYMBOL)) || LA344_2482 == IDENTIFIER || LA344_2482 == INNER_SYMBOL || LA344_2482 == INTO_SYMBOL || LA344_2482 == IN_SYMBOL || LA344_2482 == IS_SYMBOL || LA344_2482 == JOIN_SYMBOL || ((LA344_2482 >= LEFT_SYMBOL) && (LA344_2482 <= LESS_THAN_OPERATOR)) || ((LA344_2482 >= LIKE_SYMBOL) && (LA344_2482 <= LIMIT_SYMBOL)) || LA344_2482 == LOCK_SYMBOL || LA344_2482 == LOGICAL_AND_OPERATOR || LA344_2482 == LOGICAL_OR_OPERATOR || LA344_2482 == MINUS_OPERATOR || ((LA344_2482 >= MOD_OPERATOR) && (LA344_2482 <= MOD_SYMBOL)) || ((LA344_2482 >= MULT_OPERATOR) && (LA344_2482 <= NATURAL_SYMBOL)) || ((LA344_2482 >= NOT_EQUAL2_OPERATOR) && (LA344_2482 <= NOT_SYMBOL)) || LA344_2482 == NULL_SAFE_EQUAL_OPERATOR || LA344_2482 == ON_SYMBOL || LA344_2482 == OPEN_PAR_SYMBOL || ((LA344_2482 >= ORDER_SYMBOL) && (LA344_2482 <= OR_SYMBOL)) || LA344_2482 == PLUS_OPERATOR || LA344_2482 == PROCEDURE_SYMBOL || LA344_2482 == REGEXP_SYMBOL || LA344_2482 == RIGHT_SYMBOL || LA344_2482 == SEMICOLON_SYMBOL || LA344_2482 == SET_SYMBOL || ((LA344_2482 >= SHIFT_LEFT_OPERATOR) && (LA344_2482 <= SHIFT_RIGHT_OPERATOR)) || LA344_2482 == SINGLE_QUOTED_TEXT || LA344_2482 == STRAIGHT_JOIN_SYMBOL || LA344_2482 == UNION_SYMBOL || LA344_2482 == USING_SYMBOL || LA344_2482 == WHERE_SYMBOL || LA344_2482 == WITH_SYMBOL || LA344_2482 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2482;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1428 >= ASCII_SYMBOL) && (LA344_1428 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2483 = LA(4);
                                        if ( (LA344_2483 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9417 = LA(5);
                                                if ( (LA344_9417 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9417 >= ASCII_SYMBOL) && (LA344_9417 <= YEAR_SYMBOL)) || LA344_9417 == BACK_TICK_QUOTED_ID || LA344_9417 == DOUBLE_QUOTED_TEXT || LA344_9417 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9417;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2483 == EOF || ((LA344_2483 >= ASCII_SYMBOL) && (LA344_2483 <= YEAR_SYMBOL)) || LA344_2483 == AND_SYMBOL || LA344_2483 == AS_SYMBOL || LA344_2483 == BACK_TICK_QUOTED_ID || LA344_2483 == BETWEEN_SYMBOL || LA344_2483 == BITWISE_AND_OPERATOR || ((LA344_2483 >= BITWISE_OR_OPERATOR) && (LA344_2483 <= BITWISE_XOR_OPERATOR)) || ((LA344_2483 >= CLOSE_CURLY_SYMBOL) && (LA344_2483 <= COLLATE_SYMBOL)) || LA344_2483 == COMMA_SYMBOL || LA344_2483 == CONCAT_PIPES_SYMBOL || LA344_2483 == CROSS_SYMBOL || ((LA344_2483 >= DIV_OPERATOR) && (LA344_2483 <= DIV_SYMBOL)) || LA344_2483 == DOUBLE_QUOTED_TEXT || LA344_2483 == EQUAL_OPERATOR || LA344_2483 == FOR_SYMBOL || LA344_2483 == FROM_SYMBOL || ((LA344_2483 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2483 <= GREATER_THAN_OPERATOR)) || ((LA344_2483 >= GROUP_SYMBOL) && (LA344_2483 <= HAVING_SYMBOL)) || LA344_2483 == IDENTIFIER || LA344_2483 == INNER_SYMBOL || LA344_2483 == INTO_SYMBOL || LA344_2483 == IN_SYMBOL || LA344_2483 == IS_SYMBOL || LA344_2483 == JOIN_SYMBOL || ((LA344_2483 >= LEFT_SYMBOL) && (LA344_2483 <= LESS_THAN_OPERATOR)) || ((LA344_2483 >= LIKE_SYMBOL) && (LA344_2483 <= LIMIT_SYMBOL)) || LA344_2483 == LOCK_SYMBOL || LA344_2483 == LOGICAL_AND_OPERATOR || LA344_2483 == LOGICAL_OR_OPERATOR || LA344_2483 == MINUS_OPERATOR || ((LA344_2483 >= MOD_OPERATOR) && (LA344_2483 <= MOD_SYMBOL)) || ((LA344_2483 >= MULT_OPERATOR) && (LA344_2483 <= NATURAL_SYMBOL)) || ((LA344_2483 >= NOT_EQUAL2_OPERATOR) && (LA344_2483 <= NOT_SYMBOL)) || LA344_2483 == NULL_SAFE_EQUAL_OPERATOR || LA344_2483 == ON_SYMBOL || LA344_2483 == OPEN_PAR_SYMBOL || ((LA344_2483 >= ORDER_SYMBOL) && (LA344_2483 <= OR_SYMBOL)) || LA344_2483 == PLUS_OPERATOR || LA344_2483 == PROCEDURE_SYMBOL || LA344_2483 == REGEXP_SYMBOL || LA344_2483 == RIGHT_SYMBOL || LA344_2483 == SEMICOLON_SYMBOL || LA344_2483 == SET_SYMBOL || ((LA344_2483 >= SHIFT_LEFT_OPERATOR) && (LA344_2483 <= SHIFT_RIGHT_OPERATOR)) || LA344_2483 == SINGLE_QUOTED_TEXT || LA344_2483 == STRAIGHT_JOIN_SYMBOL || LA344_2483 == UNION_SYMBOL || LA344_2483 == USING_SYMBOL || LA344_2483 == WHERE_SYMBOL || LA344_2483 == WITH_SYMBOL || LA344_2483 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2483;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1428;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 59;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == REVERSE_SYMBOL))
                {
                    {
                        int LA344_60 = LA(2);
                        if ( (LA344_60 == EOF || ((LA344_60 >= ASCII_SYMBOL) && (LA344_60 <= YEAR_SYMBOL)) || LA344_60 == AND_SYMBOL || LA344_60 == AS_SYMBOL || LA344_60 == BACK_TICK_QUOTED_ID || LA344_60 == BETWEEN_SYMBOL || LA344_60 == BITWISE_AND_OPERATOR || ((LA344_60 >= BITWISE_OR_OPERATOR) && (LA344_60 <= BITWISE_XOR_OPERATOR)) || ((LA344_60 >= CLOSE_CURLY_SYMBOL) && (LA344_60 <= COLLATE_SYMBOL)) || LA344_60 == COMMA_SYMBOL || LA344_60 == CONCAT_PIPES_SYMBOL || LA344_60 == CROSS_SYMBOL || ((LA344_60 >= DIV_OPERATOR) && (LA344_60 <= DIV_SYMBOL)) || LA344_60 == DOUBLE_QUOTED_TEXT || LA344_60 == EQUAL_OPERATOR || LA344_60 == FOR_SYMBOL || LA344_60 == FROM_SYMBOL || ((LA344_60 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_60 <= GREATER_THAN_OPERATOR)) || ((LA344_60 >= GROUP_SYMBOL) && (LA344_60 <= HAVING_SYMBOL)) || LA344_60 == IDENTIFIER || LA344_60 == INNER_SYMBOL || LA344_60 == INTO_SYMBOL || LA344_60 == IN_SYMBOL || LA344_60 == IS_SYMBOL || LA344_60 == JOIN_SYMBOL || ((LA344_60 >= LEFT_SYMBOL) && (LA344_60 <= LESS_THAN_OPERATOR)) || ((LA344_60 >= LIKE_SYMBOL) && (LA344_60 <= LIMIT_SYMBOL)) || LA344_60 == LOCK_SYMBOL || LA344_60 == LOGICAL_AND_OPERATOR || LA344_60 == LOGICAL_OR_OPERATOR || LA344_60 == MINUS_OPERATOR || ((LA344_60 >= MOD_OPERATOR) && (LA344_60 <= MOD_SYMBOL)) || ((LA344_60 >= MULT_OPERATOR) && (LA344_60 <= NATURAL_SYMBOL)) || ((LA344_60 >= NOT_EQUAL2_OPERATOR) && (LA344_60 <= NOT_SYMBOL)) || LA344_60 == NULL_SAFE_EQUAL_OPERATOR || LA344_60 == ON_SYMBOL || LA344_60 == OPEN_PAR_SYMBOL || ((LA344_60 >= ORDER_SYMBOL) && (LA344_60 <= OR_SYMBOL)) || LA344_60 == PLUS_OPERATOR || LA344_60 == PROCEDURE_SYMBOL || LA344_60 == REGEXP_SYMBOL || LA344_60 == RIGHT_SYMBOL || LA344_60 == SEMICOLON_SYMBOL || LA344_60 == SET_SYMBOL || ((LA344_60 >= SHIFT_LEFT_OPERATOR) && (LA344_60 <= SHIFT_RIGHT_OPERATOR)) || LA344_60 == SINGLE_QUOTED_TEXT || LA344_60 == STRAIGHT_JOIN_SYMBOL || LA344_60 == UNION_SYMBOL || LA344_60 == USING_SYMBOL || LA344_60 == WHERE_SYMBOL || LA344_60 == WITH_SYMBOL || LA344_60 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_60 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1481 = LA(3);
                                if ( (LA344_1481 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1481 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2485 = LA(4);
                                        if ( (LA344_2485 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9470 = LA(5);
                                                if ( (LA344_9470 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9470 >= ASCII_SYMBOL) && (LA344_9470 <= YEAR_SYMBOL)) || LA344_9470 == BACK_TICK_QUOTED_ID || LA344_9470 == DOUBLE_QUOTED_TEXT || LA344_9470 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9470;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2485 == EOF || ((LA344_2485 >= ASCII_SYMBOL) && (LA344_2485 <= YEAR_SYMBOL)) || LA344_2485 == AND_SYMBOL || LA344_2485 == AS_SYMBOL || LA344_2485 == BACK_TICK_QUOTED_ID || LA344_2485 == BETWEEN_SYMBOL || LA344_2485 == BITWISE_AND_OPERATOR || ((LA344_2485 >= BITWISE_OR_OPERATOR) && (LA344_2485 <= BITWISE_XOR_OPERATOR)) || ((LA344_2485 >= CLOSE_CURLY_SYMBOL) && (LA344_2485 <= COLLATE_SYMBOL)) || LA344_2485 == COMMA_SYMBOL || LA344_2485 == CONCAT_PIPES_SYMBOL || LA344_2485 == CROSS_SYMBOL || ((LA344_2485 >= DIV_OPERATOR) && (LA344_2485 <= DIV_SYMBOL)) || LA344_2485 == DOUBLE_QUOTED_TEXT || LA344_2485 == EQUAL_OPERATOR || LA344_2485 == FOR_SYMBOL || LA344_2485 == FROM_SYMBOL || ((LA344_2485 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2485 <= GREATER_THAN_OPERATOR)) || ((LA344_2485 >= GROUP_SYMBOL) && (LA344_2485 <= HAVING_SYMBOL)) || LA344_2485 == IDENTIFIER || LA344_2485 == INNER_SYMBOL || LA344_2485 == INTO_SYMBOL || LA344_2485 == IN_SYMBOL || LA344_2485 == IS_SYMBOL || LA344_2485 == JOIN_SYMBOL || ((LA344_2485 >= LEFT_SYMBOL) && (LA344_2485 <= LESS_THAN_OPERATOR)) || ((LA344_2485 >= LIKE_SYMBOL) && (LA344_2485 <= LIMIT_SYMBOL)) || LA344_2485 == LOCK_SYMBOL || LA344_2485 == LOGICAL_AND_OPERATOR || LA344_2485 == LOGICAL_OR_OPERATOR || LA344_2485 == MINUS_OPERATOR || ((LA344_2485 >= MOD_OPERATOR) && (LA344_2485 <= MOD_SYMBOL)) || ((LA344_2485 >= MULT_OPERATOR) && (LA344_2485 <= NATURAL_SYMBOL)) || ((LA344_2485 >= NOT_EQUAL2_OPERATOR) && (LA344_2485 <= NOT_SYMBOL)) || LA344_2485 == NULL_SAFE_EQUAL_OPERATOR || LA344_2485 == ON_SYMBOL || LA344_2485 == OPEN_PAR_SYMBOL || ((LA344_2485 >= ORDER_SYMBOL) && (LA344_2485 <= OR_SYMBOL)) || LA344_2485 == PLUS_OPERATOR || LA344_2485 == PROCEDURE_SYMBOL || LA344_2485 == REGEXP_SYMBOL || LA344_2485 == RIGHT_SYMBOL || LA344_2485 == SEMICOLON_SYMBOL || LA344_2485 == SET_SYMBOL || ((LA344_2485 >= SHIFT_LEFT_OPERATOR) && (LA344_2485 <= SHIFT_RIGHT_OPERATOR)) || LA344_2485 == SINGLE_QUOTED_TEXT || LA344_2485 == STRAIGHT_JOIN_SYMBOL || LA344_2485 == UNION_SYMBOL || LA344_2485 == USING_SYMBOL || LA344_2485 == WHERE_SYMBOL || LA344_2485 == WITH_SYMBOL || LA344_2485 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2485;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1481 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2486 = LA(4);
                                        if ( (LA344_2486 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9523 = LA(5);
                                                if ( (LA344_9523 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9523 >= ASCII_SYMBOL) && (LA344_9523 <= YEAR_SYMBOL)) || LA344_9523 == BACK_TICK_QUOTED_ID || LA344_9523 == DOUBLE_QUOTED_TEXT || LA344_9523 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9523;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2486 == EOF || ((LA344_2486 >= ASCII_SYMBOL) && (LA344_2486 <= YEAR_SYMBOL)) || LA344_2486 == AND_SYMBOL || LA344_2486 == AS_SYMBOL || LA344_2486 == BACK_TICK_QUOTED_ID || LA344_2486 == BETWEEN_SYMBOL || LA344_2486 == BITWISE_AND_OPERATOR || ((LA344_2486 >= BITWISE_OR_OPERATOR) && (LA344_2486 <= BITWISE_XOR_OPERATOR)) || ((LA344_2486 >= CLOSE_CURLY_SYMBOL) && (LA344_2486 <= COLLATE_SYMBOL)) || LA344_2486 == COMMA_SYMBOL || LA344_2486 == CONCAT_PIPES_SYMBOL || LA344_2486 == CROSS_SYMBOL || ((LA344_2486 >= DIV_OPERATOR) && (LA344_2486 <= DIV_SYMBOL)) || LA344_2486 == DOUBLE_QUOTED_TEXT || LA344_2486 == EQUAL_OPERATOR || LA344_2486 == FOR_SYMBOL || LA344_2486 == FROM_SYMBOL || ((LA344_2486 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2486 <= GREATER_THAN_OPERATOR)) || ((LA344_2486 >= GROUP_SYMBOL) && (LA344_2486 <= HAVING_SYMBOL)) || LA344_2486 == IDENTIFIER || LA344_2486 == INNER_SYMBOL || LA344_2486 == INTO_SYMBOL || LA344_2486 == IN_SYMBOL || LA344_2486 == IS_SYMBOL || LA344_2486 == JOIN_SYMBOL || ((LA344_2486 >= LEFT_SYMBOL) && (LA344_2486 <= LESS_THAN_OPERATOR)) || ((LA344_2486 >= LIKE_SYMBOL) && (LA344_2486 <= LIMIT_SYMBOL)) || LA344_2486 == LOCK_SYMBOL || LA344_2486 == LOGICAL_AND_OPERATOR || LA344_2486 == LOGICAL_OR_OPERATOR || LA344_2486 == MINUS_OPERATOR || ((LA344_2486 >= MOD_OPERATOR) && (LA344_2486 <= MOD_SYMBOL)) || ((LA344_2486 >= MULT_OPERATOR) && (LA344_2486 <= NATURAL_SYMBOL)) || ((LA344_2486 >= NOT_EQUAL2_OPERATOR) && (LA344_2486 <= NOT_SYMBOL)) || LA344_2486 == NULL_SAFE_EQUAL_OPERATOR || LA344_2486 == ON_SYMBOL || LA344_2486 == OPEN_PAR_SYMBOL || ((LA344_2486 >= ORDER_SYMBOL) && (LA344_2486 <= OR_SYMBOL)) || LA344_2486 == PLUS_OPERATOR || LA344_2486 == PROCEDURE_SYMBOL || LA344_2486 == REGEXP_SYMBOL || LA344_2486 == RIGHT_SYMBOL || LA344_2486 == SEMICOLON_SYMBOL || LA344_2486 == SET_SYMBOL || ((LA344_2486 >= SHIFT_LEFT_OPERATOR) && (LA344_2486 <= SHIFT_RIGHT_OPERATOR)) || LA344_2486 == SINGLE_QUOTED_TEXT || LA344_2486 == STRAIGHT_JOIN_SYMBOL || LA344_2486 == UNION_SYMBOL || LA344_2486 == USING_SYMBOL || LA344_2486 == WHERE_SYMBOL || LA344_2486 == WITH_SYMBOL || LA344_2486 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2486;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1481 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2487 = LA(4);
                                        if ( (LA344_2487 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9576 = LA(5);
                                                if ( (LA344_9576 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9576 >= ASCII_SYMBOL) && (LA344_9576 <= YEAR_SYMBOL)) || LA344_9576 == BACK_TICK_QUOTED_ID || LA344_9576 == DOUBLE_QUOTED_TEXT || LA344_9576 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9576;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2487 == EOF || ((LA344_2487 >= ASCII_SYMBOL) && (LA344_2487 <= YEAR_SYMBOL)) || LA344_2487 == AND_SYMBOL || LA344_2487 == AS_SYMBOL || LA344_2487 == BACK_TICK_QUOTED_ID || LA344_2487 == BETWEEN_SYMBOL || LA344_2487 == BITWISE_AND_OPERATOR || ((LA344_2487 >= BITWISE_OR_OPERATOR) && (LA344_2487 <= BITWISE_XOR_OPERATOR)) || ((LA344_2487 >= CLOSE_CURLY_SYMBOL) && (LA344_2487 <= COLLATE_SYMBOL)) || LA344_2487 == COMMA_SYMBOL || LA344_2487 == CONCAT_PIPES_SYMBOL || LA344_2487 == CROSS_SYMBOL || ((LA344_2487 >= DIV_OPERATOR) && (LA344_2487 <= DIV_SYMBOL)) || LA344_2487 == DOUBLE_QUOTED_TEXT || LA344_2487 == EQUAL_OPERATOR || LA344_2487 == FOR_SYMBOL || LA344_2487 == FROM_SYMBOL || ((LA344_2487 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2487 <= GREATER_THAN_OPERATOR)) || ((LA344_2487 >= GROUP_SYMBOL) && (LA344_2487 <= HAVING_SYMBOL)) || LA344_2487 == IDENTIFIER || LA344_2487 == INNER_SYMBOL || LA344_2487 == INTO_SYMBOL || LA344_2487 == IN_SYMBOL || LA344_2487 == IS_SYMBOL || LA344_2487 == JOIN_SYMBOL || ((LA344_2487 >= LEFT_SYMBOL) && (LA344_2487 <= LESS_THAN_OPERATOR)) || ((LA344_2487 >= LIKE_SYMBOL) && (LA344_2487 <= LIMIT_SYMBOL)) || LA344_2487 == LOCK_SYMBOL || LA344_2487 == LOGICAL_AND_OPERATOR || LA344_2487 == LOGICAL_OR_OPERATOR || LA344_2487 == MINUS_OPERATOR || ((LA344_2487 >= MOD_OPERATOR) && (LA344_2487 <= MOD_SYMBOL)) || ((LA344_2487 >= MULT_OPERATOR) && (LA344_2487 <= NATURAL_SYMBOL)) || ((LA344_2487 >= NOT_EQUAL2_OPERATOR) && (LA344_2487 <= NOT_SYMBOL)) || LA344_2487 == NULL_SAFE_EQUAL_OPERATOR || LA344_2487 == ON_SYMBOL || LA344_2487 == OPEN_PAR_SYMBOL || ((LA344_2487 >= ORDER_SYMBOL) && (LA344_2487 <= OR_SYMBOL)) || LA344_2487 == PLUS_OPERATOR || LA344_2487 == PROCEDURE_SYMBOL || LA344_2487 == REGEXP_SYMBOL || LA344_2487 == RIGHT_SYMBOL || LA344_2487 == SEMICOLON_SYMBOL || LA344_2487 == SET_SYMBOL || ((LA344_2487 >= SHIFT_LEFT_OPERATOR) && (LA344_2487 <= SHIFT_RIGHT_OPERATOR)) || LA344_2487 == SINGLE_QUOTED_TEXT || LA344_2487 == STRAIGHT_JOIN_SYMBOL || LA344_2487 == UNION_SYMBOL || LA344_2487 == USING_SYMBOL || LA344_2487 == WHERE_SYMBOL || LA344_2487 == WITH_SYMBOL || LA344_2487 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2487;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1481 >= ACTION_SYMBOL) && (LA344_1481 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2488 = LA(4);
                                        if ( (LA344_2488 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9629 = LA(5);
                                                if ( (LA344_9629 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9629 >= ASCII_SYMBOL) && (LA344_9629 <= YEAR_SYMBOL)) || LA344_9629 == BACK_TICK_QUOTED_ID || LA344_9629 == DOUBLE_QUOTED_TEXT || LA344_9629 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9629;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2488 == EOF || ((LA344_2488 >= ASCII_SYMBOL) && (LA344_2488 <= YEAR_SYMBOL)) || LA344_2488 == AND_SYMBOL || LA344_2488 == AS_SYMBOL || LA344_2488 == BACK_TICK_QUOTED_ID || LA344_2488 == BETWEEN_SYMBOL || LA344_2488 == BITWISE_AND_OPERATOR || ((LA344_2488 >= BITWISE_OR_OPERATOR) && (LA344_2488 <= BITWISE_XOR_OPERATOR)) || ((LA344_2488 >= CLOSE_CURLY_SYMBOL) && (LA344_2488 <= COLLATE_SYMBOL)) || LA344_2488 == COMMA_SYMBOL || LA344_2488 == CONCAT_PIPES_SYMBOL || LA344_2488 == CROSS_SYMBOL || ((LA344_2488 >= DIV_OPERATOR) && (LA344_2488 <= DIV_SYMBOL)) || LA344_2488 == DOUBLE_QUOTED_TEXT || LA344_2488 == EQUAL_OPERATOR || LA344_2488 == FOR_SYMBOL || LA344_2488 == FROM_SYMBOL || ((LA344_2488 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2488 <= GREATER_THAN_OPERATOR)) || ((LA344_2488 >= GROUP_SYMBOL) && (LA344_2488 <= HAVING_SYMBOL)) || LA344_2488 == IDENTIFIER || LA344_2488 == INNER_SYMBOL || LA344_2488 == INTO_SYMBOL || LA344_2488 == IN_SYMBOL || LA344_2488 == IS_SYMBOL || LA344_2488 == JOIN_SYMBOL || ((LA344_2488 >= LEFT_SYMBOL) && (LA344_2488 <= LESS_THAN_OPERATOR)) || ((LA344_2488 >= LIKE_SYMBOL) && (LA344_2488 <= LIMIT_SYMBOL)) || LA344_2488 == LOCK_SYMBOL || LA344_2488 == LOGICAL_AND_OPERATOR || LA344_2488 == LOGICAL_OR_OPERATOR || LA344_2488 == MINUS_OPERATOR || ((LA344_2488 >= MOD_OPERATOR) && (LA344_2488 <= MOD_SYMBOL)) || ((LA344_2488 >= MULT_OPERATOR) && (LA344_2488 <= NATURAL_SYMBOL)) || ((LA344_2488 >= NOT_EQUAL2_OPERATOR) && (LA344_2488 <= NOT_SYMBOL)) || LA344_2488 == NULL_SAFE_EQUAL_OPERATOR || LA344_2488 == ON_SYMBOL || LA344_2488 == OPEN_PAR_SYMBOL || ((LA344_2488 >= ORDER_SYMBOL) && (LA344_2488 <= OR_SYMBOL)) || LA344_2488 == PLUS_OPERATOR || LA344_2488 == PROCEDURE_SYMBOL || LA344_2488 == REGEXP_SYMBOL || LA344_2488 == RIGHT_SYMBOL || LA344_2488 == SEMICOLON_SYMBOL || LA344_2488 == SET_SYMBOL || ((LA344_2488 >= SHIFT_LEFT_OPERATOR) && (LA344_2488 <= SHIFT_RIGHT_OPERATOR)) || LA344_2488 == SINGLE_QUOTED_TEXT || LA344_2488 == STRAIGHT_JOIN_SYMBOL || LA344_2488 == UNION_SYMBOL || LA344_2488 == USING_SYMBOL || LA344_2488 == WHERE_SYMBOL || LA344_2488 == WITH_SYMBOL || LA344_2488 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2488;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1481 >= ASCII_SYMBOL) && (LA344_1481 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2489 = LA(4);
                                        if ( (LA344_2489 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9682 = LA(5);
                                                if ( (LA344_9682 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9682 >= ASCII_SYMBOL) && (LA344_9682 <= YEAR_SYMBOL)) || LA344_9682 == BACK_TICK_QUOTED_ID || LA344_9682 == DOUBLE_QUOTED_TEXT || LA344_9682 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9682;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2489 == EOF || ((LA344_2489 >= ASCII_SYMBOL) && (LA344_2489 <= YEAR_SYMBOL)) || LA344_2489 == AND_SYMBOL || LA344_2489 == AS_SYMBOL || LA344_2489 == BACK_TICK_QUOTED_ID || LA344_2489 == BETWEEN_SYMBOL || LA344_2489 == BITWISE_AND_OPERATOR || ((LA344_2489 >= BITWISE_OR_OPERATOR) && (LA344_2489 <= BITWISE_XOR_OPERATOR)) || ((LA344_2489 >= CLOSE_CURLY_SYMBOL) && (LA344_2489 <= COLLATE_SYMBOL)) || LA344_2489 == COMMA_SYMBOL || LA344_2489 == CONCAT_PIPES_SYMBOL || LA344_2489 == CROSS_SYMBOL || ((LA344_2489 >= DIV_OPERATOR) && (LA344_2489 <= DIV_SYMBOL)) || LA344_2489 == DOUBLE_QUOTED_TEXT || LA344_2489 == EQUAL_OPERATOR || LA344_2489 == FOR_SYMBOL || LA344_2489 == FROM_SYMBOL || ((LA344_2489 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2489 <= GREATER_THAN_OPERATOR)) || ((LA344_2489 >= GROUP_SYMBOL) && (LA344_2489 <= HAVING_SYMBOL)) || LA344_2489 == IDENTIFIER || LA344_2489 == INNER_SYMBOL || LA344_2489 == INTO_SYMBOL || LA344_2489 == IN_SYMBOL || LA344_2489 == IS_SYMBOL || LA344_2489 == JOIN_SYMBOL || ((LA344_2489 >= LEFT_SYMBOL) && (LA344_2489 <= LESS_THAN_OPERATOR)) || ((LA344_2489 >= LIKE_SYMBOL) && (LA344_2489 <= LIMIT_SYMBOL)) || LA344_2489 == LOCK_SYMBOL || LA344_2489 == LOGICAL_AND_OPERATOR || LA344_2489 == LOGICAL_OR_OPERATOR || LA344_2489 == MINUS_OPERATOR || ((LA344_2489 >= MOD_OPERATOR) && (LA344_2489 <= MOD_SYMBOL)) || ((LA344_2489 >= MULT_OPERATOR) && (LA344_2489 <= NATURAL_SYMBOL)) || ((LA344_2489 >= NOT_EQUAL2_OPERATOR) && (LA344_2489 <= NOT_SYMBOL)) || LA344_2489 == NULL_SAFE_EQUAL_OPERATOR || LA344_2489 == ON_SYMBOL || LA344_2489 == OPEN_PAR_SYMBOL || ((LA344_2489 >= ORDER_SYMBOL) && (LA344_2489 <= OR_SYMBOL)) || LA344_2489 == PLUS_OPERATOR || LA344_2489 == PROCEDURE_SYMBOL || LA344_2489 == REGEXP_SYMBOL || LA344_2489 == RIGHT_SYMBOL || LA344_2489 == SEMICOLON_SYMBOL || LA344_2489 == SET_SYMBOL || ((LA344_2489 >= SHIFT_LEFT_OPERATOR) && (LA344_2489 <= SHIFT_RIGHT_OPERATOR)) || LA344_2489 == SINGLE_QUOTED_TEXT || LA344_2489 == STRAIGHT_JOIN_SYMBOL || LA344_2489 == UNION_SYMBOL || LA344_2489 == USING_SYMBOL || LA344_2489 == WHERE_SYMBOL || LA344_2489 == WITH_SYMBOL || LA344_2489 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2489;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1481;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 60;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == ROW_COUNT_SYMBOL))
                {
                    {
                        int LA344_63 = LA(2);
                        if ( (LA344_63 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1533 = LA(3);
                                if ( (LA344_1533 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1533 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2491 = LA(4);
                                        if ( (LA344_2491 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9735 = LA(5);
                                                if ( (LA344_9735 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9735 >= ASCII_SYMBOL) && (LA344_9735 <= YEAR_SYMBOL)) || LA344_9735 == BACK_TICK_QUOTED_ID || LA344_9735 == DOUBLE_QUOTED_TEXT || LA344_9735 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9735;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2491 == EOF || ((LA344_2491 >= ASCII_SYMBOL) && (LA344_2491 <= YEAR_SYMBOL)) || LA344_2491 == AND_SYMBOL || LA344_2491 == AS_SYMBOL || LA344_2491 == BACK_TICK_QUOTED_ID || LA344_2491 == BETWEEN_SYMBOL || LA344_2491 == BITWISE_AND_OPERATOR || ((LA344_2491 >= BITWISE_OR_OPERATOR) && (LA344_2491 <= BITWISE_XOR_OPERATOR)) || ((LA344_2491 >= CLOSE_CURLY_SYMBOL) && (LA344_2491 <= COLLATE_SYMBOL)) || LA344_2491 == COMMA_SYMBOL || LA344_2491 == CONCAT_PIPES_SYMBOL || LA344_2491 == CROSS_SYMBOL || ((LA344_2491 >= DIV_OPERATOR) && (LA344_2491 <= DIV_SYMBOL)) || LA344_2491 == DOUBLE_QUOTED_TEXT || LA344_2491 == EQUAL_OPERATOR || LA344_2491 == FOR_SYMBOL || LA344_2491 == FROM_SYMBOL || ((LA344_2491 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2491 <= GREATER_THAN_OPERATOR)) || ((LA344_2491 >= GROUP_SYMBOL) && (LA344_2491 <= HAVING_SYMBOL)) || LA344_2491 == IDENTIFIER || LA344_2491 == INNER_SYMBOL || LA344_2491 == INTO_SYMBOL || LA344_2491 == IN_SYMBOL || LA344_2491 == IS_SYMBOL || LA344_2491 == JOIN_SYMBOL || ((LA344_2491 >= LEFT_SYMBOL) && (LA344_2491 <= LESS_THAN_OPERATOR)) || ((LA344_2491 >= LIKE_SYMBOL) && (LA344_2491 <= LIMIT_SYMBOL)) || LA344_2491 == LOCK_SYMBOL || LA344_2491 == LOGICAL_AND_OPERATOR || LA344_2491 == LOGICAL_OR_OPERATOR || LA344_2491 == MINUS_OPERATOR || ((LA344_2491 >= MOD_OPERATOR) && (LA344_2491 <= MOD_SYMBOL)) || ((LA344_2491 >= MULT_OPERATOR) && (LA344_2491 <= NATURAL_SYMBOL)) || ((LA344_2491 >= NOT_EQUAL2_OPERATOR) && (LA344_2491 <= NOT_SYMBOL)) || LA344_2491 == NULL_SAFE_EQUAL_OPERATOR || LA344_2491 == ON_SYMBOL || LA344_2491 == OPEN_PAR_SYMBOL || ((LA344_2491 >= ORDER_SYMBOL) && (LA344_2491 <= OR_SYMBOL)) || LA344_2491 == PLUS_OPERATOR || LA344_2491 == PROCEDURE_SYMBOL || LA344_2491 == REGEXP_SYMBOL || LA344_2491 == RIGHT_SYMBOL || LA344_2491 == SEMICOLON_SYMBOL || LA344_2491 == SET_SYMBOL || ((LA344_2491 >= SHIFT_LEFT_OPERATOR) && (LA344_2491 <= SHIFT_RIGHT_OPERATOR)) || LA344_2491 == SINGLE_QUOTED_TEXT || LA344_2491 == STRAIGHT_JOIN_SYMBOL || LA344_2491 == UNION_SYMBOL || LA344_2491 == USING_SYMBOL || LA344_2491 == WHERE_SYMBOL || LA344_2491 == WITH_SYMBOL || LA344_2491 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2491;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1533 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2492 = LA(4);
                                        if ( (LA344_2492 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9788 = LA(5);
                                                if ( (LA344_9788 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9788 >= ASCII_SYMBOL) && (LA344_9788 <= YEAR_SYMBOL)) || LA344_9788 == BACK_TICK_QUOTED_ID || LA344_9788 == DOUBLE_QUOTED_TEXT || LA344_9788 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9788;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2492 == EOF || ((LA344_2492 >= ASCII_SYMBOL) && (LA344_2492 <= YEAR_SYMBOL)) || LA344_2492 == AND_SYMBOL || LA344_2492 == AS_SYMBOL || LA344_2492 == BACK_TICK_QUOTED_ID || LA344_2492 == BETWEEN_SYMBOL || LA344_2492 == BITWISE_AND_OPERATOR || ((LA344_2492 >= BITWISE_OR_OPERATOR) && (LA344_2492 <= BITWISE_XOR_OPERATOR)) || ((LA344_2492 >= CLOSE_CURLY_SYMBOL) && (LA344_2492 <= COLLATE_SYMBOL)) || LA344_2492 == COMMA_SYMBOL || LA344_2492 == CONCAT_PIPES_SYMBOL || LA344_2492 == CROSS_SYMBOL || ((LA344_2492 >= DIV_OPERATOR) && (LA344_2492 <= DIV_SYMBOL)) || LA344_2492 == DOUBLE_QUOTED_TEXT || LA344_2492 == EQUAL_OPERATOR || LA344_2492 == FOR_SYMBOL || LA344_2492 == FROM_SYMBOL || ((LA344_2492 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2492 <= GREATER_THAN_OPERATOR)) || ((LA344_2492 >= GROUP_SYMBOL) && (LA344_2492 <= HAVING_SYMBOL)) || LA344_2492 == IDENTIFIER || LA344_2492 == INNER_SYMBOL || LA344_2492 == INTO_SYMBOL || LA344_2492 == IN_SYMBOL || LA344_2492 == IS_SYMBOL || LA344_2492 == JOIN_SYMBOL || ((LA344_2492 >= LEFT_SYMBOL) && (LA344_2492 <= LESS_THAN_OPERATOR)) || ((LA344_2492 >= LIKE_SYMBOL) && (LA344_2492 <= LIMIT_SYMBOL)) || LA344_2492 == LOCK_SYMBOL || LA344_2492 == LOGICAL_AND_OPERATOR || LA344_2492 == LOGICAL_OR_OPERATOR || LA344_2492 == MINUS_OPERATOR || ((LA344_2492 >= MOD_OPERATOR) && (LA344_2492 <= MOD_SYMBOL)) || ((LA344_2492 >= MULT_OPERATOR) && (LA344_2492 <= NATURAL_SYMBOL)) || ((LA344_2492 >= NOT_EQUAL2_OPERATOR) && (LA344_2492 <= NOT_SYMBOL)) || LA344_2492 == NULL_SAFE_EQUAL_OPERATOR || LA344_2492 == ON_SYMBOL || LA344_2492 == OPEN_PAR_SYMBOL || ((LA344_2492 >= ORDER_SYMBOL) && (LA344_2492 <= OR_SYMBOL)) || LA344_2492 == PLUS_OPERATOR || LA344_2492 == PROCEDURE_SYMBOL || LA344_2492 == REGEXP_SYMBOL || LA344_2492 == RIGHT_SYMBOL || LA344_2492 == SEMICOLON_SYMBOL || LA344_2492 == SET_SYMBOL || ((LA344_2492 >= SHIFT_LEFT_OPERATOR) && (LA344_2492 <= SHIFT_RIGHT_OPERATOR)) || LA344_2492 == SINGLE_QUOTED_TEXT || LA344_2492 == STRAIGHT_JOIN_SYMBOL || LA344_2492 == UNION_SYMBOL || LA344_2492 == USING_SYMBOL || LA344_2492 == WHERE_SYMBOL || LA344_2492 == WITH_SYMBOL || LA344_2492 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2492;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1533 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2493 = LA(4);
                                        if ( (LA344_2493 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9841 = LA(5);
                                                if ( (LA344_9841 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9841 >= ASCII_SYMBOL) && (LA344_9841 <= YEAR_SYMBOL)) || LA344_9841 == BACK_TICK_QUOTED_ID || LA344_9841 == DOUBLE_QUOTED_TEXT || LA344_9841 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9841;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2493 == EOF || ((LA344_2493 >= ASCII_SYMBOL) && (LA344_2493 <= YEAR_SYMBOL)) || LA344_2493 == AND_SYMBOL || LA344_2493 == AS_SYMBOL || LA344_2493 == BACK_TICK_QUOTED_ID || LA344_2493 == BETWEEN_SYMBOL || LA344_2493 == BITWISE_AND_OPERATOR || ((LA344_2493 >= BITWISE_OR_OPERATOR) && (LA344_2493 <= BITWISE_XOR_OPERATOR)) || ((LA344_2493 >= CLOSE_CURLY_SYMBOL) && (LA344_2493 <= COLLATE_SYMBOL)) || LA344_2493 == COMMA_SYMBOL || LA344_2493 == CONCAT_PIPES_SYMBOL || LA344_2493 == CROSS_SYMBOL || ((LA344_2493 >= DIV_OPERATOR) && (LA344_2493 <= DIV_SYMBOL)) || LA344_2493 == DOUBLE_QUOTED_TEXT || LA344_2493 == EQUAL_OPERATOR || LA344_2493 == FOR_SYMBOL || LA344_2493 == FROM_SYMBOL || ((LA344_2493 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2493 <= GREATER_THAN_OPERATOR)) || ((LA344_2493 >= GROUP_SYMBOL) && (LA344_2493 <= HAVING_SYMBOL)) || LA344_2493 == IDENTIFIER || LA344_2493 == INNER_SYMBOL || LA344_2493 == INTO_SYMBOL || LA344_2493 == IN_SYMBOL || LA344_2493 == IS_SYMBOL || LA344_2493 == JOIN_SYMBOL || ((LA344_2493 >= LEFT_SYMBOL) && (LA344_2493 <= LESS_THAN_OPERATOR)) || ((LA344_2493 >= LIKE_SYMBOL) && (LA344_2493 <= LIMIT_SYMBOL)) || LA344_2493 == LOCK_SYMBOL || LA344_2493 == LOGICAL_AND_OPERATOR || LA344_2493 == LOGICAL_OR_OPERATOR || LA344_2493 == MINUS_OPERATOR || ((LA344_2493 >= MOD_OPERATOR) && (LA344_2493 <= MOD_SYMBOL)) || ((LA344_2493 >= MULT_OPERATOR) && (LA344_2493 <= NATURAL_SYMBOL)) || ((LA344_2493 >= NOT_EQUAL2_OPERATOR) && (LA344_2493 <= NOT_SYMBOL)) || LA344_2493 == NULL_SAFE_EQUAL_OPERATOR || LA344_2493 == ON_SYMBOL || LA344_2493 == OPEN_PAR_SYMBOL || ((LA344_2493 >= ORDER_SYMBOL) && (LA344_2493 <= OR_SYMBOL)) || LA344_2493 == PLUS_OPERATOR || LA344_2493 == PROCEDURE_SYMBOL || LA344_2493 == REGEXP_SYMBOL || LA344_2493 == RIGHT_SYMBOL || LA344_2493 == SEMICOLON_SYMBOL || LA344_2493 == SET_SYMBOL || ((LA344_2493 >= SHIFT_LEFT_OPERATOR) && (LA344_2493 <= SHIFT_RIGHT_OPERATOR)) || LA344_2493 == SINGLE_QUOTED_TEXT || LA344_2493 == STRAIGHT_JOIN_SYMBOL || LA344_2493 == UNION_SYMBOL || LA344_2493 == USING_SYMBOL || LA344_2493 == WHERE_SYMBOL || LA344_2493 == WITH_SYMBOL || LA344_2493 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2493;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1533 >= ACTION_SYMBOL) && (LA344_1533 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2494 = LA(4);
                                        if ( (LA344_2494 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9894 = LA(5);
                                                if ( (LA344_9894 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9894 >= ASCII_SYMBOL) && (LA344_9894 <= YEAR_SYMBOL)) || LA344_9894 == BACK_TICK_QUOTED_ID || LA344_9894 == DOUBLE_QUOTED_TEXT || LA344_9894 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9894;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2494 == EOF || ((LA344_2494 >= ASCII_SYMBOL) && (LA344_2494 <= YEAR_SYMBOL)) || LA344_2494 == AND_SYMBOL || LA344_2494 == AS_SYMBOL || LA344_2494 == BACK_TICK_QUOTED_ID || LA344_2494 == BETWEEN_SYMBOL || LA344_2494 == BITWISE_AND_OPERATOR || ((LA344_2494 >= BITWISE_OR_OPERATOR) && (LA344_2494 <= BITWISE_XOR_OPERATOR)) || ((LA344_2494 >= CLOSE_CURLY_SYMBOL) && (LA344_2494 <= COLLATE_SYMBOL)) || LA344_2494 == COMMA_SYMBOL || LA344_2494 == CONCAT_PIPES_SYMBOL || LA344_2494 == CROSS_SYMBOL || ((LA344_2494 >= DIV_OPERATOR) && (LA344_2494 <= DIV_SYMBOL)) || LA344_2494 == DOUBLE_QUOTED_TEXT || LA344_2494 == EQUAL_OPERATOR || LA344_2494 == FOR_SYMBOL || LA344_2494 == FROM_SYMBOL || ((LA344_2494 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2494 <= GREATER_THAN_OPERATOR)) || ((LA344_2494 >= GROUP_SYMBOL) && (LA344_2494 <= HAVING_SYMBOL)) || LA344_2494 == IDENTIFIER || LA344_2494 == INNER_SYMBOL || LA344_2494 == INTO_SYMBOL || LA344_2494 == IN_SYMBOL || LA344_2494 == IS_SYMBOL || LA344_2494 == JOIN_SYMBOL || ((LA344_2494 >= LEFT_SYMBOL) && (LA344_2494 <= LESS_THAN_OPERATOR)) || ((LA344_2494 >= LIKE_SYMBOL) && (LA344_2494 <= LIMIT_SYMBOL)) || LA344_2494 == LOCK_SYMBOL || LA344_2494 == LOGICAL_AND_OPERATOR || LA344_2494 == LOGICAL_OR_OPERATOR || LA344_2494 == MINUS_OPERATOR || ((LA344_2494 >= MOD_OPERATOR) && (LA344_2494 <= MOD_SYMBOL)) || ((LA344_2494 >= MULT_OPERATOR) && (LA344_2494 <= NATURAL_SYMBOL)) || ((LA344_2494 >= NOT_EQUAL2_OPERATOR) && (LA344_2494 <= NOT_SYMBOL)) || LA344_2494 == NULL_SAFE_EQUAL_OPERATOR || LA344_2494 == ON_SYMBOL || LA344_2494 == OPEN_PAR_SYMBOL || ((LA344_2494 >= ORDER_SYMBOL) && (LA344_2494 <= OR_SYMBOL)) || LA344_2494 == PLUS_OPERATOR || LA344_2494 == PROCEDURE_SYMBOL || LA344_2494 == REGEXP_SYMBOL || LA344_2494 == RIGHT_SYMBOL || LA344_2494 == SEMICOLON_SYMBOL || LA344_2494 == SET_SYMBOL || ((LA344_2494 >= SHIFT_LEFT_OPERATOR) && (LA344_2494 <= SHIFT_RIGHT_OPERATOR)) || LA344_2494 == SINGLE_QUOTED_TEXT || LA344_2494 == STRAIGHT_JOIN_SYMBOL || LA344_2494 == UNION_SYMBOL || LA344_2494 == USING_SYMBOL || LA344_2494 == WHERE_SYMBOL || LA344_2494 == WITH_SYMBOL || LA344_2494 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2494;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1533 >= ASCII_SYMBOL) && (LA344_1533 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2495 = LA(4);
                                        if ( (LA344_2495 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_9947 = LA(5);
                                                if ( (LA344_9947 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_9947 >= ASCII_SYMBOL) && (LA344_9947 <= YEAR_SYMBOL)) || LA344_9947 == BACK_TICK_QUOTED_ID || LA344_9947 == DOUBLE_QUOTED_TEXT || LA344_9947 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 9947;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2495 == EOF || ((LA344_2495 >= ASCII_SYMBOL) && (LA344_2495 <= YEAR_SYMBOL)) || LA344_2495 == AND_SYMBOL || LA344_2495 == AS_SYMBOL || LA344_2495 == BACK_TICK_QUOTED_ID || LA344_2495 == BETWEEN_SYMBOL || LA344_2495 == BITWISE_AND_OPERATOR || ((LA344_2495 >= BITWISE_OR_OPERATOR) && (LA344_2495 <= BITWISE_XOR_OPERATOR)) || ((LA344_2495 >= CLOSE_CURLY_SYMBOL) && (LA344_2495 <= COLLATE_SYMBOL)) || LA344_2495 == COMMA_SYMBOL || LA344_2495 == CONCAT_PIPES_SYMBOL || LA344_2495 == CROSS_SYMBOL || ((LA344_2495 >= DIV_OPERATOR) && (LA344_2495 <= DIV_SYMBOL)) || LA344_2495 == DOUBLE_QUOTED_TEXT || LA344_2495 == EQUAL_OPERATOR || LA344_2495 == FOR_SYMBOL || LA344_2495 == FROM_SYMBOL || ((LA344_2495 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2495 <= GREATER_THAN_OPERATOR)) || ((LA344_2495 >= GROUP_SYMBOL) && (LA344_2495 <= HAVING_SYMBOL)) || LA344_2495 == IDENTIFIER || LA344_2495 == INNER_SYMBOL || LA344_2495 == INTO_SYMBOL || LA344_2495 == IN_SYMBOL || LA344_2495 == IS_SYMBOL || LA344_2495 == JOIN_SYMBOL || ((LA344_2495 >= LEFT_SYMBOL) && (LA344_2495 <= LESS_THAN_OPERATOR)) || ((LA344_2495 >= LIKE_SYMBOL) && (LA344_2495 <= LIMIT_SYMBOL)) || LA344_2495 == LOCK_SYMBOL || LA344_2495 == LOGICAL_AND_OPERATOR || LA344_2495 == LOGICAL_OR_OPERATOR || LA344_2495 == MINUS_OPERATOR || ((LA344_2495 >= MOD_OPERATOR) && (LA344_2495 <= MOD_SYMBOL)) || ((LA344_2495 >= MULT_OPERATOR) && (LA344_2495 <= NATURAL_SYMBOL)) || ((LA344_2495 >= NOT_EQUAL2_OPERATOR) && (LA344_2495 <= NOT_SYMBOL)) || LA344_2495 == NULL_SAFE_EQUAL_OPERATOR || LA344_2495 == ON_SYMBOL || LA344_2495 == OPEN_PAR_SYMBOL || ((LA344_2495 >= ORDER_SYMBOL) && (LA344_2495 <= OR_SYMBOL)) || LA344_2495 == PLUS_OPERATOR || LA344_2495 == PROCEDURE_SYMBOL || LA344_2495 == REGEXP_SYMBOL || LA344_2495 == RIGHT_SYMBOL || LA344_2495 == SEMICOLON_SYMBOL || LA344_2495 == SET_SYMBOL || ((LA344_2495 >= SHIFT_LEFT_OPERATOR) && (LA344_2495 <= SHIFT_RIGHT_OPERATOR)) || LA344_2495 == SINGLE_QUOTED_TEXT || LA344_2495 == STRAIGHT_JOIN_SYMBOL || LA344_2495 == UNION_SYMBOL || LA344_2495 == USING_SYMBOL || LA344_2495 == WHERE_SYMBOL || LA344_2495 == WITH_SYMBOL || LA344_2495 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2495;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1533;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_63 == EOF || ((LA344_63 >= ASCII_SYMBOL) && (LA344_63 <= YEAR_SYMBOL)) || LA344_63 == AND_SYMBOL || LA344_63 == AS_SYMBOL || LA344_63 == BACK_TICK_QUOTED_ID || LA344_63 == BETWEEN_SYMBOL || LA344_63 == BITWISE_AND_OPERATOR || ((LA344_63 >= BITWISE_OR_OPERATOR) && (LA344_63 <= BITWISE_XOR_OPERATOR)) || ((LA344_63 >= CLOSE_CURLY_SYMBOL) && (LA344_63 <= COLLATE_SYMBOL)) || LA344_63 == COMMA_SYMBOL || LA344_63 == CONCAT_PIPES_SYMBOL || LA344_63 == CROSS_SYMBOL || ((LA344_63 >= DIV_OPERATOR) && (LA344_63 <= DIV_SYMBOL)) || LA344_63 == DOUBLE_QUOTED_TEXT || LA344_63 == EQUAL_OPERATOR || LA344_63 == FOR_SYMBOL || LA344_63 == FROM_SYMBOL || ((LA344_63 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_63 <= GREATER_THAN_OPERATOR)) || ((LA344_63 >= GROUP_SYMBOL) && (LA344_63 <= HAVING_SYMBOL)) || LA344_63 == IDENTIFIER || LA344_63 == INNER_SYMBOL || LA344_63 == INTO_SYMBOL || LA344_63 == IN_SYMBOL || LA344_63 == IS_SYMBOL || LA344_63 == JOIN_SYMBOL || ((LA344_63 >= LEFT_SYMBOL) && (LA344_63 <= LESS_THAN_OPERATOR)) || ((LA344_63 >= LIKE_SYMBOL) && (LA344_63 <= LIMIT_SYMBOL)) || LA344_63 == LOCK_SYMBOL || LA344_63 == LOGICAL_AND_OPERATOR || LA344_63 == LOGICAL_OR_OPERATOR || LA344_63 == MINUS_OPERATOR || ((LA344_63 >= MOD_OPERATOR) && (LA344_63 <= MOD_SYMBOL)) || ((LA344_63 >= MULT_OPERATOR) && (LA344_63 <= NATURAL_SYMBOL)) || ((LA344_63 >= NOT_EQUAL2_OPERATOR) && (LA344_63 <= NOT_SYMBOL)) || LA344_63 == NULL_SAFE_EQUAL_OPERATOR || LA344_63 == ON_SYMBOL || LA344_63 == OPEN_PAR_SYMBOL || ((LA344_63 >= ORDER_SYMBOL) && (LA344_63 <= OR_SYMBOL)) || LA344_63 == PLUS_OPERATOR || LA344_63 == PROCEDURE_SYMBOL || LA344_63 == REGEXP_SYMBOL || LA344_63 == RIGHT_SYMBOL || LA344_63 == SEMICOLON_SYMBOL || LA344_63 == SET_SYMBOL || ((LA344_63 >= SHIFT_LEFT_OPERATOR) && (LA344_63 <= SHIFT_RIGHT_OPERATOR)) || LA344_63 == SINGLE_QUOTED_TEXT || LA344_63 == STRAIGHT_JOIN_SYMBOL || LA344_63 == UNION_SYMBOL || LA344_63 == USING_SYMBOL || LA344_63 == WHERE_SYMBOL || LA344_63 == WITH_SYMBOL || LA344_63 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 63;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == WEEK_SYMBOL))
                {
                    {
                        int LA344_64 = LA(2);
                        if ( (LA344_64 == EOF || ((LA344_64 >= ASCII_SYMBOL) && (LA344_64 <= YEAR_SYMBOL)) || LA344_64 == AND_SYMBOL || LA344_64 == AS_SYMBOL || LA344_64 == BACK_TICK_QUOTED_ID || LA344_64 == BETWEEN_SYMBOL || LA344_64 == BITWISE_AND_OPERATOR || ((LA344_64 >= BITWISE_OR_OPERATOR) && (LA344_64 <= BITWISE_XOR_OPERATOR)) || ((LA344_64 >= CLOSE_CURLY_SYMBOL) && (LA344_64 <= COLLATE_SYMBOL)) || LA344_64 == COMMA_SYMBOL || LA344_64 == CONCAT_PIPES_SYMBOL || LA344_64 == CROSS_SYMBOL || ((LA344_64 >= DIV_OPERATOR) && (LA344_64 <= DIV_SYMBOL)) || LA344_64 == DOUBLE_QUOTED_TEXT || LA344_64 == EQUAL_OPERATOR || LA344_64 == FOR_SYMBOL || LA344_64 == FROM_SYMBOL || ((LA344_64 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_64 <= GREATER_THAN_OPERATOR)) || ((LA344_64 >= GROUP_SYMBOL) && (LA344_64 <= HAVING_SYMBOL)) || LA344_64 == IDENTIFIER || LA344_64 == INNER_SYMBOL || LA344_64 == INTO_SYMBOL || LA344_64 == IN_SYMBOL || LA344_64 == IS_SYMBOL || LA344_64 == JOIN_SYMBOL || ((LA344_64 >= LEFT_SYMBOL) && (LA344_64 <= LESS_THAN_OPERATOR)) || ((LA344_64 >= LIKE_SYMBOL) && (LA344_64 <= LIMIT_SYMBOL)) || LA344_64 == LOCK_SYMBOL || LA344_64 == LOGICAL_AND_OPERATOR || LA344_64 == LOGICAL_OR_OPERATOR || LA344_64 == MINUS_OPERATOR || ((LA344_64 >= MOD_OPERATOR) && (LA344_64 <= MOD_SYMBOL)) || ((LA344_64 >= MULT_OPERATOR) && (LA344_64 <= NATURAL_SYMBOL)) || ((LA344_64 >= NOT_EQUAL2_OPERATOR) && (LA344_64 <= NOT_SYMBOL)) || LA344_64 == NULL_SAFE_EQUAL_OPERATOR || LA344_64 == ON_SYMBOL || LA344_64 == OPEN_PAR_SYMBOL || ((LA344_64 >= ORDER_SYMBOL) && (LA344_64 <= OR_SYMBOL)) || LA344_64 == PLUS_OPERATOR || LA344_64 == PROCEDURE_SYMBOL || LA344_64 == REGEXP_SYMBOL || LA344_64 == RIGHT_SYMBOL || LA344_64 == SEMICOLON_SYMBOL || LA344_64 == SET_SYMBOL || ((LA344_64 >= SHIFT_LEFT_OPERATOR) && (LA344_64 <= SHIFT_RIGHT_OPERATOR)) || LA344_64 == SINGLE_QUOTED_TEXT || LA344_64 == STRAIGHT_JOIN_SYMBOL || LA344_64 == UNION_SYMBOL || LA344_64 == USING_SYMBOL || LA344_64 == WHERE_SYMBOL || LA344_64 == WITH_SYMBOL || LA344_64 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_64 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1587 = LA(3);
                                if ( (LA344_1587 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1587 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2497 = LA(4);
                                        if ( (LA344_2497 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10000 = LA(5);
                                                if ( (LA344_10000 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10000 >= ASCII_SYMBOL) && (LA344_10000 <= YEAR_SYMBOL)) || LA344_10000 == BACK_TICK_QUOTED_ID || LA344_10000 == DOUBLE_QUOTED_TEXT || LA344_10000 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10000;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2497 == EOF || ((LA344_2497 >= ASCII_SYMBOL) && (LA344_2497 <= YEAR_SYMBOL)) || LA344_2497 == AND_SYMBOL || LA344_2497 == AS_SYMBOL || LA344_2497 == BACK_TICK_QUOTED_ID || LA344_2497 == BETWEEN_SYMBOL || LA344_2497 == BITWISE_AND_OPERATOR || ((LA344_2497 >= BITWISE_OR_OPERATOR) && (LA344_2497 <= BITWISE_XOR_OPERATOR)) || ((LA344_2497 >= CLOSE_CURLY_SYMBOL) && (LA344_2497 <= COLLATE_SYMBOL)) || LA344_2497 == COMMA_SYMBOL || LA344_2497 == CONCAT_PIPES_SYMBOL || LA344_2497 == CROSS_SYMBOL || ((LA344_2497 >= DIV_OPERATOR) && (LA344_2497 <= DIV_SYMBOL)) || LA344_2497 == DOUBLE_QUOTED_TEXT || LA344_2497 == EQUAL_OPERATOR || LA344_2497 == FOR_SYMBOL || LA344_2497 == FROM_SYMBOL || ((LA344_2497 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2497 <= GREATER_THAN_OPERATOR)) || ((LA344_2497 >= GROUP_SYMBOL) && (LA344_2497 <= HAVING_SYMBOL)) || LA344_2497 == IDENTIFIER || LA344_2497 == INNER_SYMBOL || LA344_2497 == INTO_SYMBOL || LA344_2497 == IN_SYMBOL || LA344_2497 == IS_SYMBOL || LA344_2497 == JOIN_SYMBOL || ((LA344_2497 >= LEFT_SYMBOL) && (LA344_2497 <= LESS_THAN_OPERATOR)) || ((LA344_2497 >= LIKE_SYMBOL) && (LA344_2497 <= LIMIT_SYMBOL)) || LA344_2497 == LOCK_SYMBOL || LA344_2497 == LOGICAL_AND_OPERATOR || LA344_2497 == LOGICAL_OR_OPERATOR || LA344_2497 == MINUS_OPERATOR || ((LA344_2497 >= MOD_OPERATOR) && (LA344_2497 <= MOD_SYMBOL)) || ((LA344_2497 >= MULT_OPERATOR) && (LA344_2497 <= NATURAL_SYMBOL)) || ((LA344_2497 >= NOT_EQUAL2_OPERATOR) && (LA344_2497 <= NOT_SYMBOL)) || LA344_2497 == NULL_SAFE_EQUAL_OPERATOR || LA344_2497 == ON_SYMBOL || LA344_2497 == OPEN_PAR_SYMBOL || ((LA344_2497 >= ORDER_SYMBOL) && (LA344_2497 <= OR_SYMBOL)) || LA344_2497 == PLUS_OPERATOR || LA344_2497 == PROCEDURE_SYMBOL || LA344_2497 == REGEXP_SYMBOL || LA344_2497 == RIGHT_SYMBOL || LA344_2497 == SEMICOLON_SYMBOL || LA344_2497 == SET_SYMBOL || ((LA344_2497 >= SHIFT_LEFT_OPERATOR) && (LA344_2497 <= SHIFT_RIGHT_OPERATOR)) || LA344_2497 == SINGLE_QUOTED_TEXT || LA344_2497 == STRAIGHT_JOIN_SYMBOL || LA344_2497 == UNION_SYMBOL || LA344_2497 == USING_SYMBOL || LA344_2497 == WHERE_SYMBOL || LA344_2497 == WITH_SYMBOL || LA344_2497 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2497;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1587 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2498 = LA(4);
                                        if ( (LA344_2498 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10053 = LA(5);
                                                if ( (LA344_10053 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10053 >= ASCII_SYMBOL) && (LA344_10053 <= YEAR_SYMBOL)) || LA344_10053 == BACK_TICK_QUOTED_ID || LA344_10053 == DOUBLE_QUOTED_TEXT || LA344_10053 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10053;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2498 == EOF || ((LA344_2498 >= ASCII_SYMBOL) && (LA344_2498 <= YEAR_SYMBOL)) || LA344_2498 == AND_SYMBOL || LA344_2498 == AS_SYMBOL || LA344_2498 == BACK_TICK_QUOTED_ID || LA344_2498 == BETWEEN_SYMBOL || LA344_2498 == BITWISE_AND_OPERATOR || ((LA344_2498 >= BITWISE_OR_OPERATOR) && (LA344_2498 <= BITWISE_XOR_OPERATOR)) || ((LA344_2498 >= CLOSE_CURLY_SYMBOL) && (LA344_2498 <= COLLATE_SYMBOL)) || LA344_2498 == COMMA_SYMBOL || LA344_2498 == CONCAT_PIPES_SYMBOL || LA344_2498 == CROSS_SYMBOL || ((LA344_2498 >= DIV_OPERATOR) && (LA344_2498 <= DIV_SYMBOL)) || LA344_2498 == DOUBLE_QUOTED_TEXT || LA344_2498 == EQUAL_OPERATOR || LA344_2498 == FOR_SYMBOL || LA344_2498 == FROM_SYMBOL || ((LA344_2498 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2498 <= GREATER_THAN_OPERATOR)) || ((LA344_2498 >= GROUP_SYMBOL) && (LA344_2498 <= HAVING_SYMBOL)) || LA344_2498 == IDENTIFIER || LA344_2498 == INNER_SYMBOL || LA344_2498 == INTO_SYMBOL || LA344_2498 == IN_SYMBOL || LA344_2498 == IS_SYMBOL || LA344_2498 == JOIN_SYMBOL || ((LA344_2498 >= LEFT_SYMBOL) && (LA344_2498 <= LESS_THAN_OPERATOR)) || ((LA344_2498 >= LIKE_SYMBOL) && (LA344_2498 <= LIMIT_SYMBOL)) || LA344_2498 == LOCK_SYMBOL || LA344_2498 == LOGICAL_AND_OPERATOR || LA344_2498 == LOGICAL_OR_OPERATOR || LA344_2498 == MINUS_OPERATOR || ((LA344_2498 >= MOD_OPERATOR) && (LA344_2498 <= MOD_SYMBOL)) || ((LA344_2498 >= MULT_OPERATOR) && (LA344_2498 <= NATURAL_SYMBOL)) || ((LA344_2498 >= NOT_EQUAL2_OPERATOR) && (LA344_2498 <= NOT_SYMBOL)) || LA344_2498 == NULL_SAFE_EQUAL_OPERATOR || LA344_2498 == ON_SYMBOL || LA344_2498 == OPEN_PAR_SYMBOL || ((LA344_2498 >= ORDER_SYMBOL) && (LA344_2498 <= OR_SYMBOL)) || LA344_2498 == PLUS_OPERATOR || LA344_2498 == PROCEDURE_SYMBOL || LA344_2498 == REGEXP_SYMBOL || LA344_2498 == RIGHT_SYMBOL || LA344_2498 == SEMICOLON_SYMBOL || LA344_2498 == SET_SYMBOL || ((LA344_2498 >= SHIFT_LEFT_OPERATOR) && (LA344_2498 <= SHIFT_RIGHT_OPERATOR)) || LA344_2498 == SINGLE_QUOTED_TEXT || LA344_2498 == STRAIGHT_JOIN_SYMBOL || LA344_2498 == UNION_SYMBOL || LA344_2498 == USING_SYMBOL || LA344_2498 == WHERE_SYMBOL || LA344_2498 == WITH_SYMBOL || LA344_2498 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2498;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1587 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2499 = LA(4);
                                        if ( (LA344_2499 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10106 = LA(5);
                                                if ( (LA344_10106 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10106 >= ASCII_SYMBOL) && (LA344_10106 <= YEAR_SYMBOL)) || LA344_10106 == BACK_TICK_QUOTED_ID || LA344_10106 == DOUBLE_QUOTED_TEXT || LA344_10106 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10106;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2499 == EOF || ((LA344_2499 >= ASCII_SYMBOL) && (LA344_2499 <= YEAR_SYMBOL)) || LA344_2499 == AND_SYMBOL || LA344_2499 == AS_SYMBOL || LA344_2499 == BACK_TICK_QUOTED_ID || LA344_2499 == BETWEEN_SYMBOL || LA344_2499 == BITWISE_AND_OPERATOR || ((LA344_2499 >= BITWISE_OR_OPERATOR) && (LA344_2499 <= BITWISE_XOR_OPERATOR)) || ((LA344_2499 >= CLOSE_CURLY_SYMBOL) && (LA344_2499 <= COLLATE_SYMBOL)) || LA344_2499 == COMMA_SYMBOL || LA344_2499 == CONCAT_PIPES_SYMBOL || LA344_2499 == CROSS_SYMBOL || ((LA344_2499 >= DIV_OPERATOR) && (LA344_2499 <= DIV_SYMBOL)) || LA344_2499 == DOUBLE_QUOTED_TEXT || LA344_2499 == EQUAL_OPERATOR || LA344_2499 == FOR_SYMBOL || LA344_2499 == FROM_SYMBOL || ((LA344_2499 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2499 <= GREATER_THAN_OPERATOR)) || ((LA344_2499 >= GROUP_SYMBOL) && (LA344_2499 <= HAVING_SYMBOL)) || LA344_2499 == IDENTIFIER || LA344_2499 == INNER_SYMBOL || LA344_2499 == INTO_SYMBOL || LA344_2499 == IN_SYMBOL || LA344_2499 == IS_SYMBOL || LA344_2499 == JOIN_SYMBOL || ((LA344_2499 >= LEFT_SYMBOL) && (LA344_2499 <= LESS_THAN_OPERATOR)) || ((LA344_2499 >= LIKE_SYMBOL) && (LA344_2499 <= LIMIT_SYMBOL)) || LA344_2499 == LOCK_SYMBOL || LA344_2499 == LOGICAL_AND_OPERATOR || LA344_2499 == LOGICAL_OR_OPERATOR || LA344_2499 == MINUS_OPERATOR || ((LA344_2499 >= MOD_OPERATOR) && (LA344_2499 <= MOD_SYMBOL)) || ((LA344_2499 >= MULT_OPERATOR) && (LA344_2499 <= NATURAL_SYMBOL)) || ((LA344_2499 >= NOT_EQUAL2_OPERATOR) && (LA344_2499 <= NOT_SYMBOL)) || LA344_2499 == NULL_SAFE_EQUAL_OPERATOR || LA344_2499 == ON_SYMBOL || LA344_2499 == OPEN_PAR_SYMBOL || ((LA344_2499 >= ORDER_SYMBOL) && (LA344_2499 <= OR_SYMBOL)) || LA344_2499 == PLUS_OPERATOR || LA344_2499 == PROCEDURE_SYMBOL || LA344_2499 == REGEXP_SYMBOL || LA344_2499 == RIGHT_SYMBOL || LA344_2499 == SEMICOLON_SYMBOL || LA344_2499 == SET_SYMBOL || ((LA344_2499 >= SHIFT_LEFT_OPERATOR) && (LA344_2499 <= SHIFT_RIGHT_OPERATOR)) || LA344_2499 == SINGLE_QUOTED_TEXT || LA344_2499 == STRAIGHT_JOIN_SYMBOL || LA344_2499 == UNION_SYMBOL || LA344_2499 == USING_SYMBOL || LA344_2499 == WHERE_SYMBOL || LA344_2499 == WITH_SYMBOL || LA344_2499 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2499;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1587 >= ACTION_SYMBOL) && (LA344_1587 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2500 = LA(4);
                                        if ( (LA344_2500 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10159 = LA(5);
                                                if ( (LA344_10159 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10159 >= ASCII_SYMBOL) && (LA344_10159 <= YEAR_SYMBOL)) || LA344_10159 == BACK_TICK_QUOTED_ID || LA344_10159 == DOUBLE_QUOTED_TEXT || LA344_10159 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10159;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2500 == EOF || ((LA344_2500 >= ASCII_SYMBOL) && (LA344_2500 <= YEAR_SYMBOL)) || LA344_2500 == AND_SYMBOL || LA344_2500 == AS_SYMBOL || LA344_2500 == BACK_TICK_QUOTED_ID || LA344_2500 == BETWEEN_SYMBOL || LA344_2500 == BITWISE_AND_OPERATOR || ((LA344_2500 >= BITWISE_OR_OPERATOR) && (LA344_2500 <= BITWISE_XOR_OPERATOR)) || ((LA344_2500 >= CLOSE_CURLY_SYMBOL) && (LA344_2500 <= COLLATE_SYMBOL)) || LA344_2500 == COMMA_SYMBOL || LA344_2500 == CONCAT_PIPES_SYMBOL || LA344_2500 == CROSS_SYMBOL || ((LA344_2500 >= DIV_OPERATOR) && (LA344_2500 <= DIV_SYMBOL)) || LA344_2500 == DOUBLE_QUOTED_TEXT || LA344_2500 == EQUAL_OPERATOR || LA344_2500 == FOR_SYMBOL || LA344_2500 == FROM_SYMBOL || ((LA344_2500 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2500 <= GREATER_THAN_OPERATOR)) || ((LA344_2500 >= GROUP_SYMBOL) && (LA344_2500 <= HAVING_SYMBOL)) || LA344_2500 == IDENTIFIER || LA344_2500 == INNER_SYMBOL || LA344_2500 == INTO_SYMBOL || LA344_2500 == IN_SYMBOL || LA344_2500 == IS_SYMBOL || LA344_2500 == JOIN_SYMBOL || ((LA344_2500 >= LEFT_SYMBOL) && (LA344_2500 <= LESS_THAN_OPERATOR)) || ((LA344_2500 >= LIKE_SYMBOL) && (LA344_2500 <= LIMIT_SYMBOL)) || LA344_2500 == LOCK_SYMBOL || LA344_2500 == LOGICAL_AND_OPERATOR || LA344_2500 == LOGICAL_OR_OPERATOR || LA344_2500 == MINUS_OPERATOR || ((LA344_2500 >= MOD_OPERATOR) && (LA344_2500 <= MOD_SYMBOL)) || ((LA344_2500 >= MULT_OPERATOR) && (LA344_2500 <= NATURAL_SYMBOL)) || ((LA344_2500 >= NOT_EQUAL2_OPERATOR) && (LA344_2500 <= NOT_SYMBOL)) || LA344_2500 == NULL_SAFE_EQUAL_OPERATOR || LA344_2500 == ON_SYMBOL || LA344_2500 == OPEN_PAR_SYMBOL || ((LA344_2500 >= ORDER_SYMBOL) && (LA344_2500 <= OR_SYMBOL)) || LA344_2500 == PLUS_OPERATOR || LA344_2500 == PROCEDURE_SYMBOL || LA344_2500 == REGEXP_SYMBOL || LA344_2500 == RIGHT_SYMBOL || LA344_2500 == SEMICOLON_SYMBOL || LA344_2500 == SET_SYMBOL || ((LA344_2500 >= SHIFT_LEFT_OPERATOR) && (LA344_2500 <= SHIFT_RIGHT_OPERATOR)) || LA344_2500 == SINGLE_QUOTED_TEXT || LA344_2500 == STRAIGHT_JOIN_SYMBOL || LA344_2500 == UNION_SYMBOL || LA344_2500 == USING_SYMBOL || LA344_2500 == WHERE_SYMBOL || LA344_2500 == WITH_SYMBOL || LA344_2500 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2500;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1587 >= ASCII_SYMBOL) && (LA344_1587 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2501 = LA(4);
                                        if ( (LA344_2501 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10212 = LA(5);
                                                if ( (LA344_10212 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10212 >= ASCII_SYMBOL) && (LA344_10212 <= YEAR_SYMBOL)) || LA344_10212 == BACK_TICK_QUOTED_ID || LA344_10212 == DOUBLE_QUOTED_TEXT || LA344_10212 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10212;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2501 == EOF || ((LA344_2501 >= ASCII_SYMBOL) && (LA344_2501 <= YEAR_SYMBOL)) || LA344_2501 == AND_SYMBOL || LA344_2501 == AS_SYMBOL || LA344_2501 == BACK_TICK_QUOTED_ID || LA344_2501 == BETWEEN_SYMBOL || LA344_2501 == BITWISE_AND_OPERATOR || ((LA344_2501 >= BITWISE_OR_OPERATOR) && (LA344_2501 <= BITWISE_XOR_OPERATOR)) || ((LA344_2501 >= CLOSE_CURLY_SYMBOL) && (LA344_2501 <= COLLATE_SYMBOL)) || LA344_2501 == COMMA_SYMBOL || LA344_2501 == CONCAT_PIPES_SYMBOL || LA344_2501 == CROSS_SYMBOL || ((LA344_2501 >= DIV_OPERATOR) && (LA344_2501 <= DIV_SYMBOL)) || LA344_2501 == DOUBLE_QUOTED_TEXT || LA344_2501 == EQUAL_OPERATOR || LA344_2501 == FOR_SYMBOL || LA344_2501 == FROM_SYMBOL || ((LA344_2501 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2501 <= GREATER_THAN_OPERATOR)) || ((LA344_2501 >= GROUP_SYMBOL) && (LA344_2501 <= HAVING_SYMBOL)) || LA344_2501 == IDENTIFIER || LA344_2501 == INNER_SYMBOL || LA344_2501 == INTO_SYMBOL || LA344_2501 == IN_SYMBOL || LA344_2501 == IS_SYMBOL || LA344_2501 == JOIN_SYMBOL || ((LA344_2501 >= LEFT_SYMBOL) && (LA344_2501 <= LESS_THAN_OPERATOR)) || ((LA344_2501 >= LIKE_SYMBOL) && (LA344_2501 <= LIMIT_SYMBOL)) || LA344_2501 == LOCK_SYMBOL || LA344_2501 == LOGICAL_AND_OPERATOR || LA344_2501 == LOGICAL_OR_OPERATOR || LA344_2501 == MINUS_OPERATOR || ((LA344_2501 >= MOD_OPERATOR) && (LA344_2501 <= MOD_SYMBOL)) || ((LA344_2501 >= MULT_OPERATOR) && (LA344_2501 <= NATURAL_SYMBOL)) || ((LA344_2501 >= NOT_EQUAL2_OPERATOR) && (LA344_2501 <= NOT_SYMBOL)) || LA344_2501 == NULL_SAFE_EQUAL_OPERATOR || LA344_2501 == ON_SYMBOL || LA344_2501 == OPEN_PAR_SYMBOL || ((LA344_2501 >= ORDER_SYMBOL) && (LA344_2501 <= OR_SYMBOL)) || LA344_2501 == PLUS_OPERATOR || LA344_2501 == PROCEDURE_SYMBOL || LA344_2501 == REGEXP_SYMBOL || LA344_2501 == RIGHT_SYMBOL || LA344_2501 == SEMICOLON_SYMBOL || LA344_2501 == SET_SYMBOL || ((LA344_2501 >= SHIFT_LEFT_OPERATOR) && (LA344_2501 <= SHIFT_RIGHT_OPERATOR)) || LA344_2501 == SINGLE_QUOTED_TEXT || LA344_2501 == STRAIGHT_JOIN_SYMBOL || LA344_2501 == UNION_SYMBOL || LA344_2501 == USING_SYMBOL || LA344_2501 == WHERE_SYMBOL || LA344_2501 == WITH_SYMBOL || LA344_2501 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2501;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1587;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 64;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == CONTAINS_SYMBOL))
                {
                    {
                        int LA344_65 = LA(2);
                        if ( (LA344_65 == EOF || ((LA344_65 >= ASCII_SYMBOL) && (LA344_65 <= YEAR_SYMBOL)) || LA344_65 == AND_SYMBOL || LA344_65 == AS_SYMBOL || LA344_65 == BACK_TICK_QUOTED_ID || LA344_65 == BETWEEN_SYMBOL || LA344_65 == BITWISE_AND_OPERATOR || ((LA344_65 >= BITWISE_OR_OPERATOR) && (LA344_65 <= BITWISE_XOR_OPERATOR)) || ((LA344_65 >= CLOSE_CURLY_SYMBOL) && (LA344_65 <= COLLATE_SYMBOL)) || LA344_65 == COMMA_SYMBOL || LA344_65 == CONCAT_PIPES_SYMBOL || LA344_65 == CROSS_SYMBOL || ((LA344_65 >= DIV_OPERATOR) && (LA344_65 <= DIV_SYMBOL)) || LA344_65 == DOUBLE_QUOTED_TEXT || LA344_65 == EQUAL_OPERATOR || LA344_65 == FOR_SYMBOL || LA344_65 == FROM_SYMBOL || ((LA344_65 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_65 <= GREATER_THAN_OPERATOR)) || ((LA344_65 >= GROUP_SYMBOL) && (LA344_65 <= HAVING_SYMBOL)) || LA344_65 == IDENTIFIER || LA344_65 == INNER_SYMBOL || LA344_65 == INTO_SYMBOL || LA344_65 == IN_SYMBOL || LA344_65 == IS_SYMBOL || LA344_65 == JOIN_SYMBOL || ((LA344_65 >= LEFT_SYMBOL) && (LA344_65 <= LESS_THAN_OPERATOR)) || ((LA344_65 >= LIKE_SYMBOL) && (LA344_65 <= LIMIT_SYMBOL)) || LA344_65 == LOCK_SYMBOL || LA344_65 == LOGICAL_AND_OPERATOR || LA344_65 == LOGICAL_OR_OPERATOR || LA344_65 == MINUS_OPERATOR || ((LA344_65 >= MOD_OPERATOR) && (LA344_65 <= MOD_SYMBOL)) || ((LA344_65 >= MULT_OPERATOR) && (LA344_65 <= NATURAL_SYMBOL)) || ((LA344_65 >= NOT_EQUAL2_OPERATOR) && (LA344_65 <= NOT_SYMBOL)) || LA344_65 == NULL_SAFE_EQUAL_OPERATOR || LA344_65 == ON_SYMBOL || LA344_65 == OPEN_PAR_SYMBOL || ((LA344_65 >= ORDER_SYMBOL) && (LA344_65 <= OR_SYMBOL)) || LA344_65 == PLUS_OPERATOR || LA344_65 == PROCEDURE_SYMBOL || LA344_65 == REGEXP_SYMBOL || LA344_65 == RIGHT_SYMBOL || LA344_65 == SEMICOLON_SYMBOL || LA344_65 == SET_SYMBOL || ((LA344_65 >= SHIFT_LEFT_OPERATOR) && (LA344_65 <= SHIFT_RIGHT_OPERATOR)) || LA344_65 == SINGLE_QUOTED_TEXT || LA344_65 == STRAIGHT_JOIN_SYMBOL || LA344_65 == UNION_SYMBOL || LA344_65 == USING_SYMBOL || LA344_65 == WHERE_SYMBOL || LA344_65 == WITH_SYMBOL || LA344_65 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_65 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1640 = LA(3);
                                if ( (LA344_1640 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1640 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2503 = LA(4);
                                        if ( (LA344_2503 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10265 = LA(5);
                                                if ( (LA344_10265 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10265 >= ASCII_SYMBOL) && (LA344_10265 <= YEAR_SYMBOL)) || LA344_10265 == BACK_TICK_QUOTED_ID || LA344_10265 == DOUBLE_QUOTED_TEXT || LA344_10265 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10265;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2503 == EOF || ((LA344_2503 >= ASCII_SYMBOL) && (LA344_2503 <= YEAR_SYMBOL)) || LA344_2503 == AND_SYMBOL || LA344_2503 == AS_SYMBOL || LA344_2503 == BACK_TICK_QUOTED_ID || LA344_2503 == BETWEEN_SYMBOL || LA344_2503 == BITWISE_AND_OPERATOR || ((LA344_2503 >= BITWISE_OR_OPERATOR) && (LA344_2503 <= BITWISE_XOR_OPERATOR)) || ((LA344_2503 >= CLOSE_CURLY_SYMBOL) && (LA344_2503 <= COLLATE_SYMBOL)) || LA344_2503 == COMMA_SYMBOL || LA344_2503 == CONCAT_PIPES_SYMBOL || LA344_2503 == CROSS_SYMBOL || ((LA344_2503 >= DIV_OPERATOR) && (LA344_2503 <= DIV_SYMBOL)) || LA344_2503 == DOUBLE_QUOTED_TEXT || LA344_2503 == EQUAL_OPERATOR || LA344_2503 == FOR_SYMBOL || LA344_2503 == FROM_SYMBOL || ((LA344_2503 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2503 <= GREATER_THAN_OPERATOR)) || ((LA344_2503 >= GROUP_SYMBOL) && (LA344_2503 <= HAVING_SYMBOL)) || LA344_2503 == IDENTIFIER || LA344_2503 == INNER_SYMBOL || LA344_2503 == INTO_SYMBOL || LA344_2503 == IN_SYMBOL || LA344_2503 == IS_SYMBOL || LA344_2503 == JOIN_SYMBOL || ((LA344_2503 >= LEFT_SYMBOL) && (LA344_2503 <= LESS_THAN_OPERATOR)) || ((LA344_2503 >= LIKE_SYMBOL) && (LA344_2503 <= LIMIT_SYMBOL)) || LA344_2503 == LOCK_SYMBOL || LA344_2503 == LOGICAL_AND_OPERATOR || LA344_2503 == LOGICAL_OR_OPERATOR || LA344_2503 == MINUS_OPERATOR || ((LA344_2503 >= MOD_OPERATOR) && (LA344_2503 <= MOD_SYMBOL)) || ((LA344_2503 >= MULT_OPERATOR) && (LA344_2503 <= NATURAL_SYMBOL)) || ((LA344_2503 >= NOT_EQUAL2_OPERATOR) && (LA344_2503 <= NOT_SYMBOL)) || LA344_2503 == NULL_SAFE_EQUAL_OPERATOR || LA344_2503 == ON_SYMBOL || LA344_2503 == OPEN_PAR_SYMBOL || ((LA344_2503 >= ORDER_SYMBOL) && (LA344_2503 <= OR_SYMBOL)) || LA344_2503 == PLUS_OPERATOR || LA344_2503 == PROCEDURE_SYMBOL || LA344_2503 == REGEXP_SYMBOL || LA344_2503 == RIGHT_SYMBOL || LA344_2503 == SEMICOLON_SYMBOL || LA344_2503 == SET_SYMBOL || ((LA344_2503 >= SHIFT_LEFT_OPERATOR) && (LA344_2503 <= SHIFT_RIGHT_OPERATOR)) || LA344_2503 == SINGLE_QUOTED_TEXT || LA344_2503 == STRAIGHT_JOIN_SYMBOL || LA344_2503 == UNION_SYMBOL || LA344_2503 == USING_SYMBOL || LA344_2503 == WHERE_SYMBOL || LA344_2503 == WITH_SYMBOL || LA344_2503 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2503;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1640 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2504 = LA(4);
                                        if ( (LA344_2504 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10318 = LA(5);
                                                if ( (LA344_10318 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10318 >= ASCII_SYMBOL) && (LA344_10318 <= YEAR_SYMBOL)) || LA344_10318 == BACK_TICK_QUOTED_ID || LA344_10318 == DOUBLE_QUOTED_TEXT || LA344_10318 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10318;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2504 == EOF || ((LA344_2504 >= ASCII_SYMBOL) && (LA344_2504 <= YEAR_SYMBOL)) || LA344_2504 == AND_SYMBOL || LA344_2504 == AS_SYMBOL || LA344_2504 == BACK_TICK_QUOTED_ID || LA344_2504 == BETWEEN_SYMBOL || LA344_2504 == BITWISE_AND_OPERATOR || ((LA344_2504 >= BITWISE_OR_OPERATOR) && (LA344_2504 <= BITWISE_XOR_OPERATOR)) || ((LA344_2504 >= CLOSE_CURLY_SYMBOL) && (LA344_2504 <= COLLATE_SYMBOL)) || LA344_2504 == COMMA_SYMBOL || LA344_2504 == CONCAT_PIPES_SYMBOL || LA344_2504 == CROSS_SYMBOL || ((LA344_2504 >= DIV_OPERATOR) && (LA344_2504 <= DIV_SYMBOL)) || LA344_2504 == DOUBLE_QUOTED_TEXT || LA344_2504 == EQUAL_OPERATOR || LA344_2504 == FOR_SYMBOL || LA344_2504 == FROM_SYMBOL || ((LA344_2504 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2504 <= GREATER_THAN_OPERATOR)) || ((LA344_2504 >= GROUP_SYMBOL) && (LA344_2504 <= HAVING_SYMBOL)) || LA344_2504 == IDENTIFIER || LA344_2504 == INNER_SYMBOL || LA344_2504 == INTO_SYMBOL || LA344_2504 == IN_SYMBOL || LA344_2504 == IS_SYMBOL || LA344_2504 == JOIN_SYMBOL || ((LA344_2504 >= LEFT_SYMBOL) && (LA344_2504 <= LESS_THAN_OPERATOR)) || ((LA344_2504 >= LIKE_SYMBOL) && (LA344_2504 <= LIMIT_SYMBOL)) || LA344_2504 == LOCK_SYMBOL || LA344_2504 == LOGICAL_AND_OPERATOR || LA344_2504 == LOGICAL_OR_OPERATOR || LA344_2504 == MINUS_OPERATOR || ((LA344_2504 >= MOD_OPERATOR) && (LA344_2504 <= MOD_SYMBOL)) || ((LA344_2504 >= MULT_OPERATOR) && (LA344_2504 <= NATURAL_SYMBOL)) || ((LA344_2504 >= NOT_EQUAL2_OPERATOR) && (LA344_2504 <= NOT_SYMBOL)) || LA344_2504 == NULL_SAFE_EQUAL_OPERATOR || LA344_2504 == ON_SYMBOL || LA344_2504 == OPEN_PAR_SYMBOL || ((LA344_2504 >= ORDER_SYMBOL) && (LA344_2504 <= OR_SYMBOL)) || LA344_2504 == PLUS_OPERATOR || LA344_2504 == PROCEDURE_SYMBOL || LA344_2504 == REGEXP_SYMBOL || LA344_2504 == RIGHT_SYMBOL || LA344_2504 == SEMICOLON_SYMBOL || LA344_2504 == SET_SYMBOL || ((LA344_2504 >= SHIFT_LEFT_OPERATOR) && (LA344_2504 <= SHIFT_RIGHT_OPERATOR)) || LA344_2504 == SINGLE_QUOTED_TEXT || LA344_2504 == STRAIGHT_JOIN_SYMBOL || LA344_2504 == UNION_SYMBOL || LA344_2504 == USING_SYMBOL || LA344_2504 == WHERE_SYMBOL || LA344_2504 == WITH_SYMBOL || LA344_2504 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2504;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1640 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2505 = LA(4);
                                        if ( (LA344_2505 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10371 = LA(5);
                                                if ( (LA344_10371 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10371 >= ASCII_SYMBOL) && (LA344_10371 <= YEAR_SYMBOL)) || LA344_10371 == BACK_TICK_QUOTED_ID || LA344_10371 == DOUBLE_QUOTED_TEXT || LA344_10371 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10371;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2505 == EOF || ((LA344_2505 >= ASCII_SYMBOL) && (LA344_2505 <= YEAR_SYMBOL)) || LA344_2505 == AND_SYMBOL || LA344_2505 == AS_SYMBOL || LA344_2505 == BACK_TICK_QUOTED_ID || LA344_2505 == BETWEEN_SYMBOL || LA344_2505 == BITWISE_AND_OPERATOR || ((LA344_2505 >= BITWISE_OR_OPERATOR) && (LA344_2505 <= BITWISE_XOR_OPERATOR)) || ((LA344_2505 >= CLOSE_CURLY_SYMBOL) && (LA344_2505 <= COLLATE_SYMBOL)) || LA344_2505 == COMMA_SYMBOL || LA344_2505 == CONCAT_PIPES_SYMBOL || LA344_2505 == CROSS_SYMBOL || ((LA344_2505 >= DIV_OPERATOR) && (LA344_2505 <= DIV_SYMBOL)) || LA344_2505 == DOUBLE_QUOTED_TEXT || LA344_2505 == EQUAL_OPERATOR || LA344_2505 == FOR_SYMBOL || LA344_2505 == FROM_SYMBOL || ((LA344_2505 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2505 <= GREATER_THAN_OPERATOR)) || ((LA344_2505 >= GROUP_SYMBOL) && (LA344_2505 <= HAVING_SYMBOL)) || LA344_2505 == IDENTIFIER || LA344_2505 == INNER_SYMBOL || LA344_2505 == INTO_SYMBOL || LA344_2505 == IN_SYMBOL || LA344_2505 == IS_SYMBOL || LA344_2505 == JOIN_SYMBOL || ((LA344_2505 >= LEFT_SYMBOL) && (LA344_2505 <= LESS_THAN_OPERATOR)) || ((LA344_2505 >= LIKE_SYMBOL) && (LA344_2505 <= LIMIT_SYMBOL)) || LA344_2505 == LOCK_SYMBOL || LA344_2505 == LOGICAL_AND_OPERATOR || LA344_2505 == LOGICAL_OR_OPERATOR || LA344_2505 == MINUS_OPERATOR || ((LA344_2505 >= MOD_OPERATOR) && (LA344_2505 <= MOD_SYMBOL)) || ((LA344_2505 >= MULT_OPERATOR) && (LA344_2505 <= NATURAL_SYMBOL)) || ((LA344_2505 >= NOT_EQUAL2_OPERATOR) && (LA344_2505 <= NOT_SYMBOL)) || LA344_2505 == NULL_SAFE_EQUAL_OPERATOR || LA344_2505 == ON_SYMBOL || LA344_2505 == OPEN_PAR_SYMBOL || ((LA344_2505 >= ORDER_SYMBOL) && (LA344_2505 <= OR_SYMBOL)) || LA344_2505 == PLUS_OPERATOR || LA344_2505 == PROCEDURE_SYMBOL || LA344_2505 == REGEXP_SYMBOL || LA344_2505 == RIGHT_SYMBOL || LA344_2505 == SEMICOLON_SYMBOL || LA344_2505 == SET_SYMBOL || ((LA344_2505 >= SHIFT_LEFT_OPERATOR) && (LA344_2505 <= SHIFT_RIGHT_OPERATOR)) || LA344_2505 == SINGLE_QUOTED_TEXT || LA344_2505 == STRAIGHT_JOIN_SYMBOL || LA344_2505 == UNION_SYMBOL || LA344_2505 == USING_SYMBOL || LA344_2505 == WHERE_SYMBOL || LA344_2505 == WITH_SYMBOL || LA344_2505 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2505;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1640 >= ACTION_SYMBOL) && (LA344_1640 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2506 = LA(4);
                                        if ( (LA344_2506 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10424 = LA(5);
                                                if ( (LA344_10424 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10424 >= ASCII_SYMBOL) && (LA344_10424 <= YEAR_SYMBOL)) || LA344_10424 == BACK_TICK_QUOTED_ID || LA344_10424 == DOUBLE_QUOTED_TEXT || LA344_10424 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10424;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2506 == EOF || ((LA344_2506 >= ASCII_SYMBOL) && (LA344_2506 <= YEAR_SYMBOL)) || LA344_2506 == AND_SYMBOL || LA344_2506 == AS_SYMBOL || LA344_2506 == BACK_TICK_QUOTED_ID || LA344_2506 == BETWEEN_SYMBOL || LA344_2506 == BITWISE_AND_OPERATOR || ((LA344_2506 >= BITWISE_OR_OPERATOR) && (LA344_2506 <= BITWISE_XOR_OPERATOR)) || ((LA344_2506 >= CLOSE_CURLY_SYMBOL) && (LA344_2506 <= COLLATE_SYMBOL)) || LA344_2506 == COMMA_SYMBOL || LA344_2506 == CONCAT_PIPES_SYMBOL || LA344_2506 == CROSS_SYMBOL || ((LA344_2506 >= DIV_OPERATOR) && (LA344_2506 <= DIV_SYMBOL)) || LA344_2506 == DOUBLE_QUOTED_TEXT || LA344_2506 == EQUAL_OPERATOR || LA344_2506 == FOR_SYMBOL || LA344_2506 == FROM_SYMBOL || ((LA344_2506 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2506 <= GREATER_THAN_OPERATOR)) || ((LA344_2506 >= GROUP_SYMBOL) && (LA344_2506 <= HAVING_SYMBOL)) || LA344_2506 == IDENTIFIER || LA344_2506 == INNER_SYMBOL || LA344_2506 == INTO_SYMBOL || LA344_2506 == IN_SYMBOL || LA344_2506 == IS_SYMBOL || LA344_2506 == JOIN_SYMBOL || ((LA344_2506 >= LEFT_SYMBOL) && (LA344_2506 <= LESS_THAN_OPERATOR)) || ((LA344_2506 >= LIKE_SYMBOL) && (LA344_2506 <= LIMIT_SYMBOL)) || LA344_2506 == LOCK_SYMBOL || LA344_2506 == LOGICAL_AND_OPERATOR || LA344_2506 == LOGICAL_OR_OPERATOR || LA344_2506 == MINUS_OPERATOR || ((LA344_2506 >= MOD_OPERATOR) && (LA344_2506 <= MOD_SYMBOL)) || ((LA344_2506 >= MULT_OPERATOR) && (LA344_2506 <= NATURAL_SYMBOL)) || ((LA344_2506 >= NOT_EQUAL2_OPERATOR) && (LA344_2506 <= NOT_SYMBOL)) || LA344_2506 == NULL_SAFE_EQUAL_OPERATOR || LA344_2506 == ON_SYMBOL || LA344_2506 == OPEN_PAR_SYMBOL || ((LA344_2506 >= ORDER_SYMBOL) && (LA344_2506 <= OR_SYMBOL)) || LA344_2506 == PLUS_OPERATOR || LA344_2506 == PROCEDURE_SYMBOL || LA344_2506 == REGEXP_SYMBOL || LA344_2506 == RIGHT_SYMBOL || LA344_2506 == SEMICOLON_SYMBOL || LA344_2506 == SET_SYMBOL || ((LA344_2506 >= SHIFT_LEFT_OPERATOR) && (LA344_2506 <= SHIFT_RIGHT_OPERATOR)) || LA344_2506 == SINGLE_QUOTED_TEXT || LA344_2506 == STRAIGHT_JOIN_SYMBOL || LA344_2506 == UNION_SYMBOL || LA344_2506 == USING_SYMBOL || LA344_2506 == WHERE_SYMBOL || LA344_2506 == WITH_SYMBOL || LA344_2506 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2506;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1640 >= ASCII_SYMBOL) && (LA344_1640 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2507 = LA(4);
                                        if ( (LA344_2507 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10477 = LA(5);
                                                if ( (LA344_10477 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10477 >= ASCII_SYMBOL) && (LA344_10477 <= YEAR_SYMBOL)) || LA344_10477 == BACK_TICK_QUOTED_ID || LA344_10477 == DOUBLE_QUOTED_TEXT || LA344_10477 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10477;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2507 == EOF || ((LA344_2507 >= ASCII_SYMBOL) && (LA344_2507 <= YEAR_SYMBOL)) || LA344_2507 == AND_SYMBOL || LA344_2507 == AS_SYMBOL || LA344_2507 == BACK_TICK_QUOTED_ID || LA344_2507 == BETWEEN_SYMBOL || LA344_2507 == BITWISE_AND_OPERATOR || ((LA344_2507 >= BITWISE_OR_OPERATOR) && (LA344_2507 <= BITWISE_XOR_OPERATOR)) || ((LA344_2507 >= CLOSE_CURLY_SYMBOL) && (LA344_2507 <= COLLATE_SYMBOL)) || LA344_2507 == COMMA_SYMBOL || LA344_2507 == CONCAT_PIPES_SYMBOL || LA344_2507 == CROSS_SYMBOL || ((LA344_2507 >= DIV_OPERATOR) && (LA344_2507 <= DIV_SYMBOL)) || LA344_2507 == DOUBLE_QUOTED_TEXT || LA344_2507 == EQUAL_OPERATOR || LA344_2507 == FOR_SYMBOL || LA344_2507 == FROM_SYMBOL || ((LA344_2507 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2507 <= GREATER_THAN_OPERATOR)) || ((LA344_2507 >= GROUP_SYMBOL) && (LA344_2507 <= HAVING_SYMBOL)) || LA344_2507 == IDENTIFIER || LA344_2507 == INNER_SYMBOL || LA344_2507 == INTO_SYMBOL || LA344_2507 == IN_SYMBOL || LA344_2507 == IS_SYMBOL || LA344_2507 == JOIN_SYMBOL || ((LA344_2507 >= LEFT_SYMBOL) && (LA344_2507 <= LESS_THAN_OPERATOR)) || ((LA344_2507 >= LIKE_SYMBOL) && (LA344_2507 <= LIMIT_SYMBOL)) || LA344_2507 == LOCK_SYMBOL || LA344_2507 == LOGICAL_AND_OPERATOR || LA344_2507 == LOGICAL_OR_OPERATOR || LA344_2507 == MINUS_OPERATOR || ((LA344_2507 >= MOD_OPERATOR) && (LA344_2507 <= MOD_SYMBOL)) || ((LA344_2507 >= MULT_OPERATOR) && (LA344_2507 <= NATURAL_SYMBOL)) || ((LA344_2507 >= NOT_EQUAL2_OPERATOR) && (LA344_2507 <= NOT_SYMBOL)) || LA344_2507 == NULL_SAFE_EQUAL_OPERATOR || LA344_2507 == ON_SYMBOL || LA344_2507 == OPEN_PAR_SYMBOL || ((LA344_2507 >= ORDER_SYMBOL) && (LA344_2507 <= OR_SYMBOL)) || LA344_2507 == PLUS_OPERATOR || LA344_2507 == PROCEDURE_SYMBOL || LA344_2507 == REGEXP_SYMBOL || LA344_2507 == RIGHT_SYMBOL || LA344_2507 == SEMICOLON_SYMBOL || LA344_2507 == SET_SYMBOL || ((LA344_2507 >= SHIFT_LEFT_OPERATOR) && (LA344_2507 <= SHIFT_RIGHT_OPERATOR)) || LA344_2507 == SINGLE_QUOTED_TEXT || LA344_2507 == STRAIGHT_JOIN_SYMBOL || LA344_2507 == UNION_SYMBOL || LA344_2507 == USING_SYMBOL || LA344_2507 == WHERE_SYMBOL || LA344_2507 == WITH_SYMBOL || LA344_2507 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2507;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1640;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 65;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == WEIGHT_STRING_SYMBOL))
                {
                    {
                        int LA344_66 = LA(2);
                        if ( (LA344_66 == EOF || ((LA344_66 >= ASCII_SYMBOL) && (LA344_66 <= YEAR_SYMBOL)) || LA344_66 == AND_SYMBOL || LA344_66 == AS_SYMBOL || LA344_66 == BACK_TICK_QUOTED_ID || LA344_66 == BETWEEN_SYMBOL || LA344_66 == BITWISE_AND_OPERATOR || ((LA344_66 >= BITWISE_OR_OPERATOR) && (LA344_66 <= BITWISE_XOR_OPERATOR)) || ((LA344_66 >= CLOSE_CURLY_SYMBOL) && (LA344_66 <= COLLATE_SYMBOL)) || LA344_66 == COMMA_SYMBOL || LA344_66 == CONCAT_PIPES_SYMBOL || LA344_66 == CROSS_SYMBOL || ((LA344_66 >= DIV_OPERATOR) && (LA344_66 <= DIV_SYMBOL)) || LA344_66 == DOUBLE_QUOTED_TEXT || LA344_66 == EQUAL_OPERATOR || LA344_66 == FOR_SYMBOL || LA344_66 == FROM_SYMBOL || ((LA344_66 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_66 <= GREATER_THAN_OPERATOR)) || ((LA344_66 >= GROUP_SYMBOL) && (LA344_66 <= HAVING_SYMBOL)) || LA344_66 == IDENTIFIER || LA344_66 == INNER_SYMBOL || LA344_66 == INTO_SYMBOL || LA344_66 == IN_SYMBOL || LA344_66 == IS_SYMBOL || LA344_66 == JOIN_SYMBOL || ((LA344_66 >= LEFT_SYMBOL) && (LA344_66 <= LESS_THAN_OPERATOR)) || ((LA344_66 >= LIKE_SYMBOL) && (LA344_66 <= LIMIT_SYMBOL)) || LA344_66 == LOCK_SYMBOL || LA344_66 == LOGICAL_AND_OPERATOR || LA344_66 == LOGICAL_OR_OPERATOR || LA344_66 == MINUS_OPERATOR || ((LA344_66 >= MOD_OPERATOR) && (LA344_66 <= MOD_SYMBOL)) || ((LA344_66 >= MULT_OPERATOR) && (LA344_66 <= NATURAL_SYMBOL)) || ((LA344_66 >= NOT_EQUAL2_OPERATOR) && (LA344_66 <= NOT_SYMBOL)) || LA344_66 == NULL_SAFE_EQUAL_OPERATOR || LA344_66 == ON_SYMBOL || LA344_66 == OPEN_PAR_SYMBOL || ((LA344_66 >= ORDER_SYMBOL) && (LA344_66 <= OR_SYMBOL)) || LA344_66 == PLUS_OPERATOR || LA344_66 == PROCEDURE_SYMBOL || LA344_66 == REGEXP_SYMBOL || LA344_66 == RIGHT_SYMBOL || LA344_66 == SEMICOLON_SYMBOL || LA344_66 == SET_SYMBOL || ((LA344_66 >= SHIFT_LEFT_OPERATOR) && (LA344_66 <= SHIFT_RIGHT_OPERATOR)) || LA344_66 == SINGLE_QUOTED_TEXT || LA344_66 == STRAIGHT_JOIN_SYMBOL || LA344_66 == UNION_SYMBOL || LA344_66 == USING_SYMBOL || LA344_66 == WHERE_SYMBOL || LA344_66 == WITH_SYMBOL || LA344_66 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_66 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1693 = LA(3);
                                if ( (LA344_1693 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1693 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2509 = LA(4);
                                        if ( (LA344_2509 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10530 = LA(5);
                                                if ( (LA344_10530 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10530 >= ASCII_SYMBOL) && (LA344_10530 <= YEAR_SYMBOL)) || LA344_10530 == BACK_TICK_QUOTED_ID || LA344_10530 == DOUBLE_QUOTED_TEXT || LA344_10530 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10530;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2509 == EOF || ((LA344_2509 >= ASCII_SYMBOL) && (LA344_2509 <= YEAR_SYMBOL)) || LA344_2509 == AND_SYMBOL || LA344_2509 == AS_SYMBOL || LA344_2509 == BACK_TICK_QUOTED_ID || LA344_2509 == BETWEEN_SYMBOL || LA344_2509 == BITWISE_AND_OPERATOR || ((LA344_2509 >= BITWISE_OR_OPERATOR) && (LA344_2509 <= BITWISE_XOR_OPERATOR)) || ((LA344_2509 >= CLOSE_CURLY_SYMBOL) && (LA344_2509 <= COLLATE_SYMBOL)) || LA344_2509 == COMMA_SYMBOL || LA344_2509 == CONCAT_PIPES_SYMBOL || LA344_2509 == CROSS_SYMBOL || ((LA344_2509 >= DIV_OPERATOR) && (LA344_2509 <= DIV_SYMBOL)) || LA344_2509 == DOUBLE_QUOTED_TEXT || LA344_2509 == EQUAL_OPERATOR || LA344_2509 == FOR_SYMBOL || LA344_2509 == FROM_SYMBOL || ((LA344_2509 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2509 <= GREATER_THAN_OPERATOR)) || ((LA344_2509 >= GROUP_SYMBOL) && (LA344_2509 <= HAVING_SYMBOL)) || LA344_2509 == IDENTIFIER || LA344_2509 == INNER_SYMBOL || LA344_2509 == INTO_SYMBOL || LA344_2509 == IN_SYMBOL || LA344_2509 == IS_SYMBOL || LA344_2509 == JOIN_SYMBOL || ((LA344_2509 >= LEFT_SYMBOL) && (LA344_2509 <= LESS_THAN_OPERATOR)) || ((LA344_2509 >= LIKE_SYMBOL) && (LA344_2509 <= LIMIT_SYMBOL)) || LA344_2509 == LOCK_SYMBOL || LA344_2509 == LOGICAL_AND_OPERATOR || LA344_2509 == LOGICAL_OR_OPERATOR || LA344_2509 == MINUS_OPERATOR || ((LA344_2509 >= MOD_OPERATOR) && (LA344_2509 <= MOD_SYMBOL)) || ((LA344_2509 >= MULT_OPERATOR) && (LA344_2509 <= NATURAL_SYMBOL)) || ((LA344_2509 >= NOT_EQUAL2_OPERATOR) && (LA344_2509 <= NOT_SYMBOL)) || LA344_2509 == NULL_SAFE_EQUAL_OPERATOR || LA344_2509 == ON_SYMBOL || LA344_2509 == OPEN_PAR_SYMBOL || ((LA344_2509 >= ORDER_SYMBOL) && (LA344_2509 <= OR_SYMBOL)) || LA344_2509 == PLUS_OPERATOR || LA344_2509 == PROCEDURE_SYMBOL || LA344_2509 == REGEXP_SYMBOL || LA344_2509 == RIGHT_SYMBOL || LA344_2509 == SEMICOLON_SYMBOL || LA344_2509 == SET_SYMBOL || ((LA344_2509 >= SHIFT_LEFT_OPERATOR) && (LA344_2509 <= SHIFT_RIGHT_OPERATOR)) || LA344_2509 == SINGLE_QUOTED_TEXT || LA344_2509 == STRAIGHT_JOIN_SYMBOL || LA344_2509 == UNION_SYMBOL || LA344_2509 == USING_SYMBOL || LA344_2509 == WHERE_SYMBOL || LA344_2509 == WITH_SYMBOL || LA344_2509 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2509;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1693 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2510 = LA(4);
                                        if ( (LA344_2510 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10583 = LA(5);
                                                if ( (LA344_10583 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10583 >= ASCII_SYMBOL) && (LA344_10583 <= YEAR_SYMBOL)) || LA344_10583 == BACK_TICK_QUOTED_ID || LA344_10583 == DOUBLE_QUOTED_TEXT || LA344_10583 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10583;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2510 == EOF || ((LA344_2510 >= ASCII_SYMBOL) && (LA344_2510 <= YEAR_SYMBOL)) || LA344_2510 == AND_SYMBOL || LA344_2510 == AS_SYMBOL || LA344_2510 == BACK_TICK_QUOTED_ID || LA344_2510 == BETWEEN_SYMBOL || LA344_2510 == BITWISE_AND_OPERATOR || ((LA344_2510 >= BITWISE_OR_OPERATOR) && (LA344_2510 <= BITWISE_XOR_OPERATOR)) || ((LA344_2510 >= CLOSE_CURLY_SYMBOL) && (LA344_2510 <= COLLATE_SYMBOL)) || LA344_2510 == COMMA_SYMBOL || LA344_2510 == CONCAT_PIPES_SYMBOL || LA344_2510 == CROSS_SYMBOL || ((LA344_2510 >= DIV_OPERATOR) && (LA344_2510 <= DIV_SYMBOL)) || LA344_2510 == DOUBLE_QUOTED_TEXT || LA344_2510 == EQUAL_OPERATOR || LA344_2510 == FOR_SYMBOL || LA344_2510 == FROM_SYMBOL || ((LA344_2510 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2510 <= GREATER_THAN_OPERATOR)) || ((LA344_2510 >= GROUP_SYMBOL) && (LA344_2510 <= HAVING_SYMBOL)) || LA344_2510 == IDENTIFIER || LA344_2510 == INNER_SYMBOL || LA344_2510 == INTO_SYMBOL || LA344_2510 == IN_SYMBOL || LA344_2510 == IS_SYMBOL || LA344_2510 == JOIN_SYMBOL || ((LA344_2510 >= LEFT_SYMBOL) && (LA344_2510 <= LESS_THAN_OPERATOR)) || ((LA344_2510 >= LIKE_SYMBOL) && (LA344_2510 <= LIMIT_SYMBOL)) || LA344_2510 == LOCK_SYMBOL || LA344_2510 == LOGICAL_AND_OPERATOR || LA344_2510 == LOGICAL_OR_OPERATOR || LA344_2510 == MINUS_OPERATOR || ((LA344_2510 >= MOD_OPERATOR) && (LA344_2510 <= MOD_SYMBOL)) || ((LA344_2510 >= MULT_OPERATOR) && (LA344_2510 <= NATURAL_SYMBOL)) || ((LA344_2510 >= NOT_EQUAL2_OPERATOR) && (LA344_2510 <= NOT_SYMBOL)) || LA344_2510 == NULL_SAFE_EQUAL_OPERATOR || LA344_2510 == ON_SYMBOL || LA344_2510 == OPEN_PAR_SYMBOL || ((LA344_2510 >= ORDER_SYMBOL) && (LA344_2510 <= OR_SYMBOL)) || LA344_2510 == PLUS_OPERATOR || LA344_2510 == PROCEDURE_SYMBOL || LA344_2510 == REGEXP_SYMBOL || LA344_2510 == RIGHT_SYMBOL || LA344_2510 == SEMICOLON_SYMBOL || LA344_2510 == SET_SYMBOL || ((LA344_2510 >= SHIFT_LEFT_OPERATOR) && (LA344_2510 <= SHIFT_RIGHT_OPERATOR)) || LA344_2510 == SINGLE_QUOTED_TEXT || LA344_2510 == STRAIGHT_JOIN_SYMBOL || LA344_2510 == UNION_SYMBOL || LA344_2510 == USING_SYMBOL || LA344_2510 == WHERE_SYMBOL || LA344_2510 == WITH_SYMBOL || LA344_2510 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2510;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1693 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2511 = LA(4);
                                        if ( (LA344_2511 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10636 = LA(5);
                                                if ( (LA344_10636 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10636 >= ASCII_SYMBOL) && (LA344_10636 <= YEAR_SYMBOL)) || LA344_10636 == BACK_TICK_QUOTED_ID || LA344_10636 == DOUBLE_QUOTED_TEXT || LA344_10636 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10636;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2511 == EOF || ((LA344_2511 >= ASCII_SYMBOL) && (LA344_2511 <= YEAR_SYMBOL)) || LA344_2511 == AND_SYMBOL || LA344_2511 == AS_SYMBOL || LA344_2511 == BACK_TICK_QUOTED_ID || LA344_2511 == BETWEEN_SYMBOL || LA344_2511 == BITWISE_AND_OPERATOR || ((LA344_2511 >= BITWISE_OR_OPERATOR) && (LA344_2511 <= BITWISE_XOR_OPERATOR)) || ((LA344_2511 >= CLOSE_CURLY_SYMBOL) && (LA344_2511 <= COLLATE_SYMBOL)) || LA344_2511 == COMMA_SYMBOL || LA344_2511 == CONCAT_PIPES_SYMBOL || LA344_2511 == CROSS_SYMBOL || ((LA344_2511 >= DIV_OPERATOR) && (LA344_2511 <= DIV_SYMBOL)) || LA344_2511 == DOUBLE_QUOTED_TEXT || LA344_2511 == EQUAL_OPERATOR || LA344_2511 == FOR_SYMBOL || LA344_2511 == FROM_SYMBOL || ((LA344_2511 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2511 <= GREATER_THAN_OPERATOR)) || ((LA344_2511 >= GROUP_SYMBOL) && (LA344_2511 <= HAVING_SYMBOL)) || LA344_2511 == IDENTIFIER || LA344_2511 == INNER_SYMBOL || LA344_2511 == INTO_SYMBOL || LA344_2511 == IN_SYMBOL || LA344_2511 == IS_SYMBOL || LA344_2511 == JOIN_SYMBOL || ((LA344_2511 >= LEFT_SYMBOL) && (LA344_2511 <= LESS_THAN_OPERATOR)) || ((LA344_2511 >= LIKE_SYMBOL) && (LA344_2511 <= LIMIT_SYMBOL)) || LA344_2511 == LOCK_SYMBOL || LA344_2511 == LOGICAL_AND_OPERATOR || LA344_2511 == LOGICAL_OR_OPERATOR || LA344_2511 == MINUS_OPERATOR || ((LA344_2511 >= MOD_OPERATOR) && (LA344_2511 <= MOD_SYMBOL)) || ((LA344_2511 >= MULT_OPERATOR) && (LA344_2511 <= NATURAL_SYMBOL)) || ((LA344_2511 >= NOT_EQUAL2_OPERATOR) && (LA344_2511 <= NOT_SYMBOL)) || LA344_2511 == NULL_SAFE_EQUAL_OPERATOR || LA344_2511 == ON_SYMBOL || LA344_2511 == OPEN_PAR_SYMBOL || ((LA344_2511 >= ORDER_SYMBOL) && (LA344_2511 <= OR_SYMBOL)) || LA344_2511 == PLUS_OPERATOR || LA344_2511 == PROCEDURE_SYMBOL || LA344_2511 == REGEXP_SYMBOL || LA344_2511 == RIGHT_SYMBOL || LA344_2511 == SEMICOLON_SYMBOL || LA344_2511 == SET_SYMBOL || ((LA344_2511 >= SHIFT_LEFT_OPERATOR) && (LA344_2511 <= SHIFT_RIGHT_OPERATOR)) || LA344_2511 == SINGLE_QUOTED_TEXT || LA344_2511 == STRAIGHT_JOIN_SYMBOL || LA344_2511 == UNION_SYMBOL || LA344_2511 == USING_SYMBOL || LA344_2511 == WHERE_SYMBOL || LA344_2511 == WITH_SYMBOL || LA344_2511 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2511;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1693 >= ACTION_SYMBOL) && (LA344_1693 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2512 = LA(4);
                                        if ( (LA344_2512 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10689 = LA(5);
                                                if ( (LA344_10689 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10689 >= ASCII_SYMBOL) && (LA344_10689 <= YEAR_SYMBOL)) || LA344_10689 == BACK_TICK_QUOTED_ID || LA344_10689 == DOUBLE_QUOTED_TEXT || LA344_10689 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10689;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2512 == EOF || ((LA344_2512 >= ASCII_SYMBOL) && (LA344_2512 <= YEAR_SYMBOL)) || LA344_2512 == AND_SYMBOL || LA344_2512 == AS_SYMBOL || LA344_2512 == BACK_TICK_QUOTED_ID || LA344_2512 == BETWEEN_SYMBOL || LA344_2512 == BITWISE_AND_OPERATOR || ((LA344_2512 >= BITWISE_OR_OPERATOR) && (LA344_2512 <= BITWISE_XOR_OPERATOR)) || ((LA344_2512 >= CLOSE_CURLY_SYMBOL) && (LA344_2512 <= COLLATE_SYMBOL)) || LA344_2512 == COMMA_SYMBOL || LA344_2512 == CONCAT_PIPES_SYMBOL || LA344_2512 == CROSS_SYMBOL || ((LA344_2512 >= DIV_OPERATOR) && (LA344_2512 <= DIV_SYMBOL)) || LA344_2512 == DOUBLE_QUOTED_TEXT || LA344_2512 == EQUAL_OPERATOR || LA344_2512 == FOR_SYMBOL || LA344_2512 == FROM_SYMBOL || ((LA344_2512 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2512 <= GREATER_THAN_OPERATOR)) || ((LA344_2512 >= GROUP_SYMBOL) && (LA344_2512 <= HAVING_SYMBOL)) || LA344_2512 == IDENTIFIER || LA344_2512 == INNER_SYMBOL || LA344_2512 == INTO_SYMBOL || LA344_2512 == IN_SYMBOL || LA344_2512 == IS_SYMBOL || LA344_2512 == JOIN_SYMBOL || ((LA344_2512 >= LEFT_SYMBOL) && (LA344_2512 <= LESS_THAN_OPERATOR)) || ((LA344_2512 >= LIKE_SYMBOL) && (LA344_2512 <= LIMIT_SYMBOL)) || LA344_2512 == LOCK_SYMBOL || LA344_2512 == LOGICAL_AND_OPERATOR || LA344_2512 == LOGICAL_OR_OPERATOR || LA344_2512 == MINUS_OPERATOR || ((LA344_2512 >= MOD_OPERATOR) && (LA344_2512 <= MOD_SYMBOL)) || ((LA344_2512 >= MULT_OPERATOR) && (LA344_2512 <= NATURAL_SYMBOL)) || ((LA344_2512 >= NOT_EQUAL2_OPERATOR) && (LA344_2512 <= NOT_SYMBOL)) || LA344_2512 == NULL_SAFE_EQUAL_OPERATOR || LA344_2512 == ON_SYMBOL || LA344_2512 == OPEN_PAR_SYMBOL || ((LA344_2512 >= ORDER_SYMBOL) && (LA344_2512 <= OR_SYMBOL)) || LA344_2512 == PLUS_OPERATOR || LA344_2512 == PROCEDURE_SYMBOL || LA344_2512 == REGEXP_SYMBOL || LA344_2512 == RIGHT_SYMBOL || LA344_2512 == SEMICOLON_SYMBOL || LA344_2512 == SET_SYMBOL || ((LA344_2512 >= SHIFT_LEFT_OPERATOR) && (LA344_2512 <= SHIFT_RIGHT_OPERATOR)) || LA344_2512 == SINGLE_QUOTED_TEXT || LA344_2512 == STRAIGHT_JOIN_SYMBOL || LA344_2512 == UNION_SYMBOL || LA344_2512 == USING_SYMBOL || LA344_2512 == WHERE_SYMBOL || LA344_2512 == WITH_SYMBOL || LA344_2512 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2512;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1693 >= ASCII_SYMBOL) && (LA344_1693 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2513 = LA(4);
                                        if ( (LA344_2513 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10742 = LA(5);
                                                if ( (LA344_10742 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10742 >= ASCII_SYMBOL) && (LA344_10742 <= YEAR_SYMBOL)) || LA344_10742 == BACK_TICK_QUOTED_ID || LA344_10742 == DOUBLE_QUOTED_TEXT || LA344_10742 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10742;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2513 == EOF || ((LA344_2513 >= ASCII_SYMBOL) && (LA344_2513 <= YEAR_SYMBOL)) || LA344_2513 == AND_SYMBOL || LA344_2513 == AS_SYMBOL || LA344_2513 == BACK_TICK_QUOTED_ID || LA344_2513 == BETWEEN_SYMBOL || LA344_2513 == BITWISE_AND_OPERATOR || ((LA344_2513 >= BITWISE_OR_OPERATOR) && (LA344_2513 <= BITWISE_XOR_OPERATOR)) || ((LA344_2513 >= CLOSE_CURLY_SYMBOL) && (LA344_2513 <= COLLATE_SYMBOL)) || LA344_2513 == COMMA_SYMBOL || LA344_2513 == CONCAT_PIPES_SYMBOL || LA344_2513 == CROSS_SYMBOL || ((LA344_2513 >= DIV_OPERATOR) && (LA344_2513 <= DIV_SYMBOL)) || LA344_2513 == DOUBLE_QUOTED_TEXT || LA344_2513 == EQUAL_OPERATOR || LA344_2513 == FOR_SYMBOL || LA344_2513 == FROM_SYMBOL || ((LA344_2513 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2513 <= GREATER_THAN_OPERATOR)) || ((LA344_2513 >= GROUP_SYMBOL) && (LA344_2513 <= HAVING_SYMBOL)) || LA344_2513 == IDENTIFIER || LA344_2513 == INNER_SYMBOL || LA344_2513 == INTO_SYMBOL || LA344_2513 == IN_SYMBOL || LA344_2513 == IS_SYMBOL || LA344_2513 == JOIN_SYMBOL || ((LA344_2513 >= LEFT_SYMBOL) && (LA344_2513 <= LESS_THAN_OPERATOR)) || ((LA344_2513 >= LIKE_SYMBOL) && (LA344_2513 <= LIMIT_SYMBOL)) || LA344_2513 == LOCK_SYMBOL || LA344_2513 == LOGICAL_AND_OPERATOR || LA344_2513 == LOGICAL_OR_OPERATOR || LA344_2513 == MINUS_OPERATOR || ((LA344_2513 >= MOD_OPERATOR) && (LA344_2513 <= MOD_SYMBOL)) || ((LA344_2513 >= MULT_OPERATOR) && (LA344_2513 <= NATURAL_SYMBOL)) || ((LA344_2513 >= NOT_EQUAL2_OPERATOR) && (LA344_2513 <= NOT_SYMBOL)) || LA344_2513 == NULL_SAFE_EQUAL_OPERATOR || LA344_2513 == ON_SYMBOL || LA344_2513 == OPEN_PAR_SYMBOL || ((LA344_2513 >= ORDER_SYMBOL) && (LA344_2513 <= OR_SYMBOL)) || LA344_2513 == PLUS_OPERATOR || LA344_2513 == PROCEDURE_SYMBOL || LA344_2513 == REGEXP_SYMBOL || LA344_2513 == RIGHT_SYMBOL || LA344_2513 == SEMICOLON_SYMBOL || LA344_2513 == SET_SYMBOL || ((LA344_2513 >= SHIFT_LEFT_OPERATOR) && (LA344_2513 <= SHIFT_RIGHT_OPERATOR)) || LA344_2513 == SINGLE_QUOTED_TEXT || LA344_2513 == STRAIGHT_JOIN_SYMBOL || LA344_2513 == UNION_SYMBOL || LA344_2513 == USING_SYMBOL || LA344_2513 == WHERE_SYMBOL || LA344_2513 == WITH_SYMBOL || LA344_2513 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2513;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1693;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 66;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == GEOMETRYCOLLECTION_SYMBOL))
                {
                    {
                        int LA344_67 = LA(2);
                        if ( (LA344_67 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1745 = LA(3);
                                if ( (LA344_1745 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1745 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2515 = LA(4);
                                        if ( (LA344_2515 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10795 = LA(5);
                                                if ( (LA344_10795 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10795 >= ASCII_SYMBOL) && (LA344_10795 <= YEAR_SYMBOL)) || LA344_10795 == BACK_TICK_QUOTED_ID || LA344_10795 == DOUBLE_QUOTED_TEXT || LA344_10795 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10795;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2515 == EOF || ((LA344_2515 >= ASCII_SYMBOL) && (LA344_2515 <= YEAR_SYMBOL)) || LA344_2515 == AND_SYMBOL || LA344_2515 == AS_SYMBOL || LA344_2515 == BACK_TICK_QUOTED_ID || LA344_2515 == BETWEEN_SYMBOL || LA344_2515 == BITWISE_AND_OPERATOR || ((LA344_2515 >= BITWISE_OR_OPERATOR) && (LA344_2515 <= BITWISE_XOR_OPERATOR)) || ((LA344_2515 >= CLOSE_CURLY_SYMBOL) && (LA344_2515 <= COLLATE_SYMBOL)) || LA344_2515 == COMMA_SYMBOL || LA344_2515 == CONCAT_PIPES_SYMBOL || LA344_2515 == CROSS_SYMBOL || ((LA344_2515 >= DIV_OPERATOR) && (LA344_2515 <= DIV_SYMBOL)) || LA344_2515 == DOUBLE_QUOTED_TEXT || LA344_2515 == EQUAL_OPERATOR || LA344_2515 == FOR_SYMBOL || LA344_2515 == FROM_SYMBOL || ((LA344_2515 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2515 <= GREATER_THAN_OPERATOR)) || ((LA344_2515 >= GROUP_SYMBOL) && (LA344_2515 <= HAVING_SYMBOL)) || LA344_2515 == IDENTIFIER || LA344_2515 == INNER_SYMBOL || LA344_2515 == INTO_SYMBOL || LA344_2515 == IN_SYMBOL || LA344_2515 == IS_SYMBOL || LA344_2515 == JOIN_SYMBOL || ((LA344_2515 >= LEFT_SYMBOL) && (LA344_2515 <= LESS_THAN_OPERATOR)) || ((LA344_2515 >= LIKE_SYMBOL) && (LA344_2515 <= LIMIT_SYMBOL)) || LA344_2515 == LOCK_SYMBOL || LA344_2515 == LOGICAL_AND_OPERATOR || LA344_2515 == LOGICAL_OR_OPERATOR || LA344_2515 == MINUS_OPERATOR || ((LA344_2515 >= MOD_OPERATOR) && (LA344_2515 <= MOD_SYMBOL)) || ((LA344_2515 >= MULT_OPERATOR) && (LA344_2515 <= NATURAL_SYMBOL)) || ((LA344_2515 >= NOT_EQUAL2_OPERATOR) && (LA344_2515 <= NOT_SYMBOL)) || LA344_2515 == NULL_SAFE_EQUAL_OPERATOR || LA344_2515 == ON_SYMBOL || LA344_2515 == OPEN_PAR_SYMBOL || ((LA344_2515 >= ORDER_SYMBOL) && (LA344_2515 <= OR_SYMBOL)) || LA344_2515 == PLUS_OPERATOR || LA344_2515 == PROCEDURE_SYMBOL || LA344_2515 == REGEXP_SYMBOL || LA344_2515 == RIGHT_SYMBOL || LA344_2515 == SEMICOLON_SYMBOL || LA344_2515 == SET_SYMBOL || ((LA344_2515 >= SHIFT_LEFT_OPERATOR) && (LA344_2515 <= SHIFT_RIGHT_OPERATOR)) || LA344_2515 == SINGLE_QUOTED_TEXT || LA344_2515 == STRAIGHT_JOIN_SYMBOL || LA344_2515 == UNION_SYMBOL || LA344_2515 == USING_SYMBOL || LA344_2515 == WHERE_SYMBOL || LA344_2515 == WITH_SYMBOL || LA344_2515 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2515;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1745 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2516 = LA(4);
                                        if ( (LA344_2516 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10848 = LA(5);
                                                if ( (LA344_10848 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10848 >= ASCII_SYMBOL) && (LA344_10848 <= YEAR_SYMBOL)) || LA344_10848 == BACK_TICK_QUOTED_ID || LA344_10848 == DOUBLE_QUOTED_TEXT || LA344_10848 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10848;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2516 == EOF || ((LA344_2516 >= ASCII_SYMBOL) && (LA344_2516 <= YEAR_SYMBOL)) || LA344_2516 == AND_SYMBOL || LA344_2516 == AS_SYMBOL || LA344_2516 == BACK_TICK_QUOTED_ID || LA344_2516 == BETWEEN_SYMBOL || LA344_2516 == BITWISE_AND_OPERATOR || ((LA344_2516 >= BITWISE_OR_OPERATOR) && (LA344_2516 <= BITWISE_XOR_OPERATOR)) || ((LA344_2516 >= CLOSE_CURLY_SYMBOL) && (LA344_2516 <= COLLATE_SYMBOL)) || LA344_2516 == COMMA_SYMBOL || LA344_2516 == CONCAT_PIPES_SYMBOL || LA344_2516 == CROSS_SYMBOL || ((LA344_2516 >= DIV_OPERATOR) && (LA344_2516 <= DIV_SYMBOL)) || LA344_2516 == DOUBLE_QUOTED_TEXT || LA344_2516 == EQUAL_OPERATOR || LA344_2516 == FOR_SYMBOL || LA344_2516 == FROM_SYMBOL || ((LA344_2516 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2516 <= GREATER_THAN_OPERATOR)) || ((LA344_2516 >= GROUP_SYMBOL) && (LA344_2516 <= HAVING_SYMBOL)) || LA344_2516 == IDENTIFIER || LA344_2516 == INNER_SYMBOL || LA344_2516 == INTO_SYMBOL || LA344_2516 == IN_SYMBOL || LA344_2516 == IS_SYMBOL || LA344_2516 == JOIN_SYMBOL || ((LA344_2516 >= LEFT_SYMBOL) && (LA344_2516 <= LESS_THAN_OPERATOR)) || ((LA344_2516 >= LIKE_SYMBOL) && (LA344_2516 <= LIMIT_SYMBOL)) || LA344_2516 == LOCK_SYMBOL || LA344_2516 == LOGICAL_AND_OPERATOR || LA344_2516 == LOGICAL_OR_OPERATOR || LA344_2516 == MINUS_OPERATOR || ((LA344_2516 >= MOD_OPERATOR) && (LA344_2516 <= MOD_SYMBOL)) || ((LA344_2516 >= MULT_OPERATOR) && (LA344_2516 <= NATURAL_SYMBOL)) || ((LA344_2516 >= NOT_EQUAL2_OPERATOR) && (LA344_2516 <= NOT_SYMBOL)) || LA344_2516 == NULL_SAFE_EQUAL_OPERATOR || LA344_2516 == ON_SYMBOL || LA344_2516 == OPEN_PAR_SYMBOL || ((LA344_2516 >= ORDER_SYMBOL) && (LA344_2516 <= OR_SYMBOL)) || LA344_2516 == PLUS_OPERATOR || LA344_2516 == PROCEDURE_SYMBOL || LA344_2516 == REGEXP_SYMBOL || LA344_2516 == RIGHT_SYMBOL || LA344_2516 == SEMICOLON_SYMBOL || LA344_2516 == SET_SYMBOL || ((LA344_2516 >= SHIFT_LEFT_OPERATOR) && (LA344_2516 <= SHIFT_RIGHT_OPERATOR)) || LA344_2516 == SINGLE_QUOTED_TEXT || LA344_2516 == STRAIGHT_JOIN_SYMBOL || LA344_2516 == UNION_SYMBOL || LA344_2516 == USING_SYMBOL || LA344_2516 == WHERE_SYMBOL || LA344_2516 == WITH_SYMBOL || LA344_2516 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2516;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1745 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2517 = LA(4);
                                        if ( (LA344_2517 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10901 = LA(5);
                                                if ( (LA344_10901 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10901 >= ASCII_SYMBOL) && (LA344_10901 <= YEAR_SYMBOL)) || LA344_10901 == BACK_TICK_QUOTED_ID || LA344_10901 == DOUBLE_QUOTED_TEXT || LA344_10901 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10901;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2517 == EOF || ((LA344_2517 >= ASCII_SYMBOL) && (LA344_2517 <= YEAR_SYMBOL)) || LA344_2517 == AND_SYMBOL || LA344_2517 == AS_SYMBOL || LA344_2517 == BACK_TICK_QUOTED_ID || LA344_2517 == BETWEEN_SYMBOL || LA344_2517 == BITWISE_AND_OPERATOR || ((LA344_2517 >= BITWISE_OR_OPERATOR) && (LA344_2517 <= BITWISE_XOR_OPERATOR)) || ((LA344_2517 >= CLOSE_CURLY_SYMBOL) && (LA344_2517 <= COLLATE_SYMBOL)) || LA344_2517 == COMMA_SYMBOL || LA344_2517 == CONCAT_PIPES_SYMBOL || LA344_2517 == CROSS_SYMBOL || ((LA344_2517 >= DIV_OPERATOR) && (LA344_2517 <= DIV_SYMBOL)) || LA344_2517 == DOUBLE_QUOTED_TEXT || LA344_2517 == EQUAL_OPERATOR || LA344_2517 == FOR_SYMBOL || LA344_2517 == FROM_SYMBOL || ((LA344_2517 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2517 <= GREATER_THAN_OPERATOR)) || ((LA344_2517 >= GROUP_SYMBOL) && (LA344_2517 <= HAVING_SYMBOL)) || LA344_2517 == IDENTIFIER || LA344_2517 == INNER_SYMBOL || LA344_2517 == INTO_SYMBOL || LA344_2517 == IN_SYMBOL || LA344_2517 == IS_SYMBOL || LA344_2517 == JOIN_SYMBOL || ((LA344_2517 >= LEFT_SYMBOL) && (LA344_2517 <= LESS_THAN_OPERATOR)) || ((LA344_2517 >= LIKE_SYMBOL) && (LA344_2517 <= LIMIT_SYMBOL)) || LA344_2517 == LOCK_SYMBOL || LA344_2517 == LOGICAL_AND_OPERATOR || LA344_2517 == LOGICAL_OR_OPERATOR || LA344_2517 == MINUS_OPERATOR || ((LA344_2517 >= MOD_OPERATOR) && (LA344_2517 <= MOD_SYMBOL)) || ((LA344_2517 >= MULT_OPERATOR) && (LA344_2517 <= NATURAL_SYMBOL)) || ((LA344_2517 >= NOT_EQUAL2_OPERATOR) && (LA344_2517 <= NOT_SYMBOL)) || LA344_2517 == NULL_SAFE_EQUAL_OPERATOR || LA344_2517 == ON_SYMBOL || LA344_2517 == OPEN_PAR_SYMBOL || ((LA344_2517 >= ORDER_SYMBOL) && (LA344_2517 <= OR_SYMBOL)) || LA344_2517 == PLUS_OPERATOR || LA344_2517 == PROCEDURE_SYMBOL || LA344_2517 == REGEXP_SYMBOL || LA344_2517 == RIGHT_SYMBOL || LA344_2517 == SEMICOLON_SYMBOL || LA344_2517 == SET_SYMBOL || ((LA344_2517 >= SHIFT_LEFT_OPERATOR) && (LA344_2517 <= SHIFT_RIGHT_OPERATOR)) || LA344_2517 == SINGLE_QUOTED_TEXT || LA344_2517 == STRAIGHT_JOIN_SYMBOL || LA344_2517 == UNION_SYMBOL || LA344_2517 == USING_SYMBOL || LA344_2517 == WHERE_SYMBOL || LA344_2517 == WITH_SYMBOL || LA344_2517 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2517;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1745 >= ACTION_SYMBOL) && (LA344_1745 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2518 = LA(4);
                                        if ( (LA344_2518 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_10954 = LA(5);
                                                if ( (LA344_10954 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_10954 >= ASCII_SYMBOL) && (LA344_10954 <= YEAR_SYMBOL)) || LA344_10954 == BACK_TICK_QUOTED_ID || LA344_10954 == DOUBLE_QUOTED_TEXT || LA344_10954 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 10954;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2518 == EOF || ((LA344_2518 >= ASCII_SYMBOL) && (LA344_2518 <= YEAR_SYMBOL)) || LA344_2518 == AND_SYMBOL || LA344_2518 == AS_SYMBOL || LA344_2518 == BACK_TICK_QUOTED_ID || LA344_2518 == BETWEEN_SYMBOL || LA344_2518 == BITWISE_AND_OPERATOR || ((LA344_2518 >= BITWISE_OR_OPERATOR) && (LA344_2518 <= BITWISE_XOR_OPERATOR)) || ((LA344_2518 >= CLOSE_CURLY_SYMBOL) && (LA344_2518 <= COLLATE_SYMBOL)) || LA344_2518 == COMMA_SYMBOL || LA344_2518 == CONCAT_PIPES_SYMBOL || LA344_2518 == CROSS_SYMBOL || ((LA344_2518 >= DIV_OPERATOR) && (LA344_2518 <= DIV_SYMBOL)) || LA344_2518 == DOUBLE_QUOTED_TEXT || LA344_2518 == EQUAL_OPERATOR || LA344_2518 == FOR_SYMBOL || LA344_2518 == FROM_SYMBOL || ((LA344_2518 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2518 <= GREATER_THAN_OPERATOR)) || ((LA344_2518 >= GROUP_SYMBOL) && (LA344_2518 <= HAVING_SYMBOL)) || LA344_2518 == IDENTIFIER || LA344_2518 == INNER_SYMBOL || LA344_2518 == INTO_SYMBOL || LA344_2518 == IN_SYMBOL || LA344_2518 == IS_SYMBOL || LA344_2518 == JOIN_SYMBOL || ((LA344_2518 >= LEFT_SYMBOL) && (LA344_2518 <= LESS_THAN_OPERATOR)) || ((LA344_2518 >= LIKE_SYMBOL) && (LA344_2518 <= LIMIT_SYMBOL)) || LA344_2518 == LOCK_SYMBOL || LA344_2518 == LOGICAL_AND_OPERATOR || LA344_2518 == LOGICAL_OR_OPERATOR || LA344_2518 == MINUS_OPERATOR || ((LA344_2518 >= MOD_OPERATOR) && (LA344_2518 <= MOD_SYMBOL)) || ((LA344_2518 >= MULT_OPERATOR) && (LA344_2518 <= NATURAL_SYMBOL)) || ((LA344_2518 >= NOT_EQUAL2_OPERATOR) && (LA344_2518 <= NOT_SYMBOL)) || LA344_2518 == NULL_SAFE_EQUAL_OPERATOR || LA344_2518 == ON_SYMBOL || LA344_2518 == OPEN_PAR_SYMBOL || ((LA344_2518 >= ORDER_SYMBOL) && (LA344_2518 <= OR_SYMBOL)) || LA344_2518 == PLUS_OPERATOR || LA344_2518 == PROCEDURE_SYMBOL || LA344_2518 == REGEXP_SYMBOL || LA344_2518 == RIGHT_SYMBOL || LA344_2518 == SEMICOLON_SYMBOL || LA344_2518 == SET_SYMBOL || ((LA344_2518 >= SHIFT_LEFT_OPERATOR) && (LA344_2518 <= SHIFT_RIGHT_OPERATOR)) || LA344_2518 == SINGLE_QUOTED_TEXT || LA344_2518 == STRAIGHT_JOIN_SYMBOL || LA344_2518 == UNION_SYMBOL || LA344_2518 == USING_SYMBOL || LA344_2518 == WHERE_SYMBOL || LA344_2518 == WITH_SYMBOL || LA344_2518 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2518;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1745 >= ASCII_SYMBOL) && (LA344_1745 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2519 = LA(4);
                                        if ( (LA344_2519 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11007 = LA(5);
                                                if ( (LA344_11007 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11007 >= ASCII_SYMBOL) && (LA344_11007 <= YEAR_SYMBOL)) || LA344_11007 == BACK_TICK_QUOTED_ID || LA344_11007 == DOUBLE_QUOTED_TEXT || LA344_11007 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11007;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2519 == EOF || ((LA344_2519 >= ASCII_SYMBOL) && (LA344_2519 <= YEAR_SYMBOL)) || LA344_2519 == AND_SYMBOL || LA344_2519 == AS_SYMBOL || LA344_2519 == BACK_TICK_QUOTED_ID || LA344_2519 == BETWEEN_SYMBOL || LA344_2519 == BITWISE_AND_OPERATOR || ((LA344_2519 >= BITWISE_OR_OPERATOR) && (LA344_2519 <= BITWISE_XOR_OPERATOR)) || ((LA344_2519 >= CLOSE_CURLY_SYMBOL) && (LA344_2519 <= COLLATE_SYMBOL)) || LA344_2519 == COMMA_SYMBOL || LA344_2519 == CONCAT_PIPES_SYMBOL || LA344_2519 == CROSS_SYMBOL || ((LA344_2519 >= DIV_OPERATOR) && (LA344_2519 <= DIV_SYMBOL)) || LA344_2519 == DOUBLE_QUOTED_TEXT || LA344_2519 == EQUAL_OPERATOR || LA344_2519 == FOR_SYMBOL || LA344_2519 == FROM_SYMBOL || ((LA344_2519 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2519 <= GREATER_THAN_OPERATOR)) || ((LA344_2519 >= GROUP_SYMBOL) && (LA344_2519 <= HAVING_SYMBOL)) || LA344_2519 == IDENTIFIER || LA344_2519 == INNER_SYMBOL || LA344_2519 == INTO_SYMBOL || LA344_2519 == IN_SYMBOL || LA344_2519 == IS_SYMBOL || LA344_2519 == JOIN_SYMBOL || ((LA344_2519 >= LEFT_SYMBOL) && (LA344_2519 <= LESS_THAN_OPERATOR)) || ((LA344_2519 >= LIKE_SYMBOL) && (LA344_2519 <= LIMIT_SYMBOL)) || LA344_2519 == LOCK_SYMBOL || LA344_2519 == LOGICAL_AND_OPERATOR || LA344_2519 == LOGICAL_OR_OPERATOR || LA344_2519 == MINUS_OPERATOR || ((LA344_2519 >= MOD_OPERATOR) && (LA344_2519 <= MOD_SYMBOL)) || ((LA344_2519 >= MULT_OPERATOR) && (LA344_2519 <= NATURAL_SYMBOL)) || ((LA344_2519 >= NOT_EQUAL2_OPERATOR) && (LA344_2519 <= NOT_SYMBOL)) || LA344_2519 == NULL_SAFE_EQUAL_OPERATOR || LA344_2519 == ON_SYMBOL || LA344_2519 == OPEN_PAR_SYMBOL || ((LA344_2519 >= ORDER_SYMBOL) && (LA344_2519 <= OR_SYMBOL)) || LA344_2519 == PLUS_OPERATOR || LA344_2519 == PROCEDURE_SYMBOL || LA344_2519 == REGEXP_SYMBOL || LA344_2519 == RIGHT_SYMBOL || LA344_2519 == SEMICOLON_SYMBOL || LA344_2519 == SET_SYMBOL || ((LA344_2519 >= SHIFT_LEFT_OPERATOR) && (LA344_2519 <= SHIFT_RIGHT_OPERATOR)) || LA344_2519 == SINGLE_QUOTED_TEXT || LA344_2519 == STRAIGHT_JOIN_SYMBOL || LA344_2519 == UNION_SYMBOL || LA344_2519 == USING_SYMBOL || LA344_2519 == WHERE_SYMBOL || LA344_2519 == WITH_SYMBOL || LA344_2519 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2519;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1745;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_67 == EOF || ((LA344_67 >= ASCII_SYMBOL) && (LA344_67 <= YEAR_SYMBOL)) || LA344_67 == AND_SYMBOL || LA344_67 == AS_SYMBOL || LA344_67 == BACK_TICK_QUOTED_ID || LA344_67 == BETWEEN_SYMBOL || LA344_67 == BITWISE_AND_OPERATOR || ((LA344_67 >= BITWISE_OR_OPERATOR) && (LA344_67 <= BITWISE_XOR_OPERATOR)) || ((LA344_67 >= CLOSE_CURLY_SYMBOL) && (LA344_67 <= COLLATE_SYMBOL)) || LA344_67 == COMMA_SYMBOL || LA344_67 == CONCAT_PIPES_SYMBOL || LA344_67 == CROSS_SYMBOL || ((LA344_67 >= DIV_OPERATOR) && (LA344_67 <= DIV_SYMBOL)) || LA344_67 == DOUBLE_QUOTED_TEXT || LA344_67 == EQUAL_OPERATOR || LA344_67 == FOR_SYMBOL || LA344_67 == FROM_SYMBOL || ((LA344_67 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_67 <= GREATER_THAN_OPERATOR)) || ((LA344_67 >= GROUP_SYMBOL) && (LA344_67 <= HAVING_SYMBOL)) || LA344_67 == IDENTIFIER || LA344_67 == INNER_SYMBOL || LA344_67 == INTO_SYMBOL || LA344_67 == IN_SYMBOL || LA344_67 == IS_SYMBOL || LA344_67 == JOIN_SYMBOL || ((LA344_67 >= LEFT_SYMBOL) && (LA344_67 <= LESS_THAN_OPERATOR)) || ((LA344_67 >= LIKE_SYMBOL) && (LA344_67 <= LIMIT_SYMBOL)) || LA344_67 == LOCK_SYMBOL || LA344_67 == LOGICAL_AND_OPERATOR || LA344_67 == LOGICAL_OR_OPERATOR || LA344_67 == MINUS_OPERATOR || ((LA344_67 >= MOD_OPERATOR) && (LA344_67 <= MOD_SYMBOL)) || ((LA344_67 >= MULT_OPERATOR) && (LA344_67 <= NATURAL_SYMBOL)) || ((LA344_67 >= NOT_EQUAL2_OPERATOR) && (LA344_67 <= NOT_SYMBOL)) || LA344_67 == NULL_SAFE_EQUAL_OPERATOR || LA344_67 == ON_SYMBOL || LA344_67 == OPEN_PAR_SYMBOL || ((LA344_67 >= ORDER_SYMBOL) && (LA344_67 <= OR_SYMBOL)) || LA344_67 == PLUS_OPERATOR || LA344_67 == PROCEDURE_SYMBOL || LA344_67 == REGEXP_SYMBOL || LA344_67 == RIGHT_SYMBOL || LA344_67 == SEMICOLON_SYMBOL || LA344_67 == SET_SYMBOL || ((LA344_67 >= SHIFT_LEFT_OPERATOR) && (LA344_67 <= SHIFT_RIGHT_OPERATOR)) || LA344_67 == SINGLE_QUOTED_TEXT || LA344_67 == STRAIGHT_JOIN_SYMBOL || LA344_67 == UNION_SYMBOL || LA344_67 == USING_SYMBOL || LA344_67 == WHERE_SYMBOL || LA344_67 == WITH_SYMBOL || LA344_67 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 67;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (((LA344_0 >= BACKUP_SYMBOL) && (LA344_0 <= CACHE_SYMBOL)) || ((LA344_0 >= CHECKSUM_SYMBOL) && (LA344_0 <= COMMIT_SYMBOL)) || ((LA344_0 >= DEALLOCATE_SYMBOL) && (LA344_0 <= FOLLOWS_SYMBOL)) || ((LA344_0 >= HANDLER_SYMBOL) && (LA344_0 <= STOP_SYMBOL)) || ((LA344_0 >= UNICODE_SYMBOL) && (LA344_0 <= XA_SYMBOL))))
                {
                    {
                        int LA344_68 = LA(2);
                        if ( (LA344_68 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1798 = LA(3);
                                if ( (LA344_1798 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1798 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2521 = LA(4);
                                        if ( (LA344_2521 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11060 = LA(5);
                                                if ( (LA344_11060 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11060 >= ASCII_SYMBOL) && (LA344_11060 <= YEAR_SYMBOL)) || LA344_11060 == BACK_TICK_QUOTED_ID || LA344_11060 == DOUBLE_QUOTED_TEXT || LA344_11060 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11060;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2521 == EOF || ((LA344_2521 >= ASCII_SYMBOL) && (LA344_2521 <= YEAR_SYMBOL)) || LA344_2521 == AND_SYMBOL || LA344_2521 == AS_SYMBOL || LA344_2521 == BACK_TICK_QUOTED_ID || LA344_2521 == BETWEEN_SYMBOL || LA344_2521 == BITWISE_AND_OPERATOR || ((LA344_2521 >= BITWISE_OR_OPERATOR) && (LA344_2521 <= BITWISE_XOR_OPERATOR)) || ((LA344_2521 >= CLOSE_CURLY_SYMBOL) && (LA344_2521 <= COLLATE_SYMBOL)) || LA344_2521 == COMMA_SYMBOL || LA344_2521 == CONCAT_PIPES_SYMBOL || LA344_2521 == CROSS_SYMBOL || ((LA344_2521 >= DIV_OPERATOR) && (LA344_2521 <= DIV_SYMBOL)) || LA344_2521 == DOUBLE_QUOTED_TEXT || LA344_2521 == EQUAL_OPERATOR || LA344_2521 == FOR_SYMBOL || LA344_2521 == FROM_SYMBOL || ((LA344_2521 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2521 <= GREATER_THAN_OPERATOR)) || ((LA344_2521 >= GROUP_SYMBOL) && (LA344_2521 <= HAVING_SYMBOL)) || LA344_2521 == IDENTIFIER || LA344_2521 == INNER_SYMBOL || LA344_2521 == INTO_SYMBOL || LA344_2521 == IN_SYMBOL || LA344_2521 == IS_SYMBOL || LA344_2521 == JOIN_SYMBOL || ((LA344_2521 >= LEFT_SYMBOL) && (LA344_2521 <= LESS_THAN_OPERATOR)) || ((LA344_2521 >= LIKE_SYMBOL) && (LA344_2521 <= LIMIT_SYMBOL)) || LA344_2521 == LOCK_SYMBOL || LA344_2521 == LOGICAL_AND_OPERATOR || LA344_2521 == LOGICAL_OR_OPERATOR || LA344_2521 == MINUS_OPERATOR || ((LA344_2521 >= MOD_OPERATOR) && (LA344_2521 <= MOD_SYMBOL)) || ((LA344_2521 >= MULT_OPERATOR) && (LA344_2521 <= NATURAL_SYMBOL)) || ((LA344_2521 >= NOT_EQUAL2_OPERATOR) && (LA344_2521 <= NOT_SYMBOL)) || LA344_2521 == NULL_SAFE_EQUAL_OPERATOR || LA344_2521 == ON_SYMBOL || LA344_2521 == OPEN_PAR_SYMBOL || ((LA344_2521 >= ORDER_SYMBOL) && (LA344_2521 <= OR_SYMBOL)) || LA344_2521 == PLUS_OPERATOR || LA344_2521 == PROCEDURE_SYMBOL || LA344_2521 == REGEXP_SYMBOL || LA344_2521 == RIGHT_SYMBOL || LA344_2521 == SEMICOLON_SYMBOL || LA344_2521 == SET_SYMBOL || ((LA344_2521 >= SHIFT_LEFT_OPERATOR) && (LA344_2521 <= SHIFT_RIGHT_OPERATOR)) || LA344_2521 == SINGLE_QUOTED_TEXT || LA344_2521 == STRAIGHT_JOIN_SYMBOL || LA344_2521 == UNION_SYMBOL || LA344_2521 == USING_SYMBOL || LA344_2521 == WHERE_SYMBOL || LA344_2521 == WITH_SYMBOL || LA344_2521 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2521;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1798 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2522 = LA(4);
                                        if ( (LA344_2522 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11113 = LA(5);
                                                if ( (LA344_11113 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11113 >= ASCII_SYMBOL) && (LA344_11113 <= YEAR_SYMBOL)) || LA344_11113 == BACK_TICK_QUOTED_ID || LA344_11113 == DOUBLE_QUOTED_TEXT || LA344_11113 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11113;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2522 == EOF || ((LA344_2522 >= ASCII_SYMBOL) && (LA344_2522 <= YEAR_SYMBOL)) || LA344_2522 == AND_SYMBOL || LA344_2522 == AS_SYMBOL || LA344_2522 == BACK_TICK_QUOTED_ID || LA344_2522 == BETWEEN_SYMBOL || LA344_2522 == BITWISE_AND_OPERATOR || ((LA344_2522 >= BITWISE_OR_OPERATOR) && (LA344_2522 <= BITWISE_XOR_OPERATOR)) || ((LA344_2522 >= CLOSE_CURLY_SYMBOL) && (LA344_2522 <= COLLATE_SYMBOL)) || LA344_2522 == COMMA_SYMBOL || LA344_2522 == CONCAT_PIPES_SYMBOL || LA344_2522 == CROSS_SYMBOL || ((LA344_2522 >= DIV_OPERATOR) && (LA344_2522 <= DIV_SYMBOL)) || LA344_2522 == DOUBLE_QUOTED_TEXT || LA344_2522 == EQUAL_OPERATOR || LA344_2522 == FOR_SYMBOL || LA344_2522 == FROM_SYMBOL || ((LA344_2522 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2522 <= GREATER_THAN_OPERATOR)) || ((LA344_2522 >= GROUP_SYMBOL) && (LA344_2522 <= HAVING_SYMBOL)) || LA344_2522 == IDENTIFIER || LA344_2522 == INNER_SYMBOL || LA344_2522 == INTO_SYMBOL || LA344_2522 == IN_SYMBOL || LA344_2522 == IS_SYMBOL || LA344_2522 == JOIN_SYMBOL || ((LA344_2522 >= LEFT_SYMBOL) && (LA344_2522 <= LESS_THAN_OPERATOR)) || ((LA344_2522 >= LIKE_SYMBOL) && (LA344_2522 <= LIMIT_SYMBOL)) || LA344_2522 == LOCK_SYMBOL || LA344_2522 == LOGICAL_AND_OPERATOR || LA344_2522 == LOGICAL_OR_OPERATOR || LA344_2522 == MINUS_OPERATOR || ((LA344_2522 >= MOD_OPERATOR) && (LA344_2522 <= MOD_SYMBOL)) || ((LA344_2522 >= MULT_OPERATOR) && (LA344_2522 <= NATURAL_SYMBOL)) || ((LA344_2522 >= NOT_EQUAL2_OPERATOR) && (LA344_2522 <= NOT_SYMBOL)) || LA344_2522 == NULL_SAFE_EQUAL_OPERATOR || LA344_2522 == ON_SYMBOL || LA344_2522 == OPEN_PAR_SYMBOL || ((LA344_2522 >= ORDER_SYMBOL) && (LA344_2522 <= OR_SYMBOL)) || LA344_2522 == PLUS_OPERATOR || LA344_2522 == PROCEDURE_SYMBOL || LA344_2522 == REGEXP_SYMBOL || LA344_2522 == RIGHT_SYMBOL || LA344_2522 == SEMICOLON_SYMBOL || LA344_2522 == SET_SYMBOL || ((LA344_2522 >= SHIFT_LEFT_OPERATOR) && (LA344_2522 <= SHIFT_RIGHT_OPERATOR)) || LA344_2522 == SINGLE_QUOTED_TEXT || LA344_2522 == STRAIGHT_JOIN_SYMBOL || LA344_2522 == UNION_SYMBOL || LA344_2522 == USING_SYMBOL || LA344_2522 == WHERE_SYMBOL || LA344_2522 == WITH_SYMBOL || LA344_2522 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2522;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1798 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2523 = LA(4);
                                        if ( (LA344_2523 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11166 = LA(5);
                                                if ( (LA344_11166 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11166 >= ASCII_SYMBOL) && (LA344_11166 <= YEAR_SYMBOL)) || LA344_11166 == BACK_TICK_QUOTED_ID || LA344_11166 == DOUBLE_QUOTED_TEXT || LA344_11166 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11166;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2523 == EOF || ((LA344_2523 >= ASCII_SYMBOL) && (LA344_2523 <= YEAR_SYMBOL)) || LA344_2523 == AND_SYMBOL || LA344_2523 == AS_SYMBOL || LA344_2523 == BACK_TICK_QUOTED_ID || LA344_2523 == BETWEEN_SYMBOL || LA344_2523 == BITWISE_AND_OPERATOR || ((LA344_2523 >= BITWISE_OR_OPERATOR) && (LA344_2523 <= BITWISE_XOR_OPERATOR)) || ((LA344_2523 >= CLOSE_CURLY_SYMBOL) && (LA344_2523 <= COLLATE_SYMBOL)) || LA344_2523 == COMMA_SYMBOL || LA344_2523 == CONCAT_PIPES_SYMBOL || LA344_2523 == CROSS_SYMBOL || ((LA344_2523 >= DIV_OPERATOR) && (LA344_2523 <= DIV_SYMBOL)) || LA344_2523 == DOUBLE_QUOTED_TEXT || LA344_2523 == EQUAL_OPERATOR || LA344_2523 == FOR_SYMBOL || LA344_2523 == FROM_SYMBOL || ((LA344_2523 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2523 <= GREATER_THAN_OPERATOR)) || ((LA344_2523 >= GROUP_SYMBOL) && (LA344_2523 <= HAVING_SYMBOL)) || LA344_2523 == IDENTIFIER || LA344_2523 == INNER_SYMBOL || LA344_2523 == INTO_SYMBOL || LA344_2523 == IN_SYMBOL || LA344_2523 == IS_SYMBOL || LA344_2523 == JOIN_SYMBOL || ((LA344_2523 >= LEFT_SYMBOL) && (LA344_2523 <= LESS_THAN_OPERATOR)) || ((LA344_2523 >= LIKE_SYMBOL) && (LA344_2523 <= LIMIT_SYMBOL)) || LA344_2523 == LOCK_SYMBOL || LA344_2523 == LOGICAL_AND_OPERATOR || LA344_2523 == LOGICAL_OR_OPERATOR || LA344_2523 == MINUS_OPERATOR || ((LA344_2523 >= MOD_OPERATOR) && (LA344_2523 <= MOD_SYMBOL)) || ((LA344_2523 >= MULT_OPERATOR) && (LA344_2523 <= NATURAL_SYMBOL)) || ((LA344_2523 >= NOT_EQUAL2_OPERATOR) && (LA344_2523 <= NOT_SYMBOL)) || LA344_2523 == NULL_SAFE_EQUAL_OPERATOR || LA344_2523 == ON_SYMBOL || LA344_2523 == OPEN_PAR_SYMBOL || ((LA344_2523 >= ORDER_SYMBOL) && (LA344_2523 <= OR_SYMBOL)) || LA344_2523 == PLUS_OPERATOR || LA344_2523 == PROCEDURE_SYMBOL || LA344_2523 == REGEXP_SYMBOL || LA344_2523 == RIGHT_SYMBOL || LA344_2523 == SEMICOLON_SYMBOL || LA344_2523 == SET_SYMBOL || ((LA344_2523 >= SHIFT_LEFT_OPERATOR) && (LA344_2523 <= SHIFT_RIGHT_OPERATOR)) || LA344_2523 == SINGLE_QUOTED_TEXT || LA344_2523 == STRAIGHT_JOIN_SYMBOL || LA344_2523 == UNION_SYMBOL || LA344_2523 == USING_SYMBOL || LA344_2523 == WHERE_SYMBOL || LA344_2523 == WITH_SYMBOL || LA344_2523 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2523;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1798 >= ACTION_SYMBOL) && (LA344_1798 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2524 = LA(4);
                                        if ( (LA344_2524 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11219 = LA(5);
                                                if ( (LA344_11219 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11219 >= ASCII_SYMBOL) && (LA344_11219 <= YEAR_SYMBOL)) || LA344_11219 == BACK_TICK_QUOTED_ID || LA344_11219 == DOUBLE_QUOTED_TEXT || LA344_11219 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11219;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2524 == EOF || ((LA344_2524 >= ASCII_SYMBOL) && (LA344_2524 <= YEAR_SYMBOL)) || LA344_2524 == AND_SYMBOL || LA344_2524 == AS_SYMBOL || LA344_2524 == BACK_TICK_QUOTED_ID || LA344_2524 == BETWEEN_SYMBOL || LA344_2524 == BITWISE_AND_OPERATOR || ((LA344_2524 >= BITWISE_OR_OPERATOR) && (LA344_2524 <= BITWISE_XOR_OPERATOR)) || ((LA344_2524 >= CLOSE_CURLY_SYMBOL) && (LA344_2524 <= COLLATE_SYMBOL)) || LA344_2524 == COMMA_SYMBOL || LA344_2524 == CONCAT_PIPES_SYMBOL || LA344_2524 == CROSS_SYMBOL || ((LA344_2524 >= DIV_OPERATOR) && (LA344_2524 <= DIV_SYMBOL)) || LA344_2524 == DOUBLE_QUOTED_TEXT || LA344_2524 == EQUAL_OPERATOR || LA344_2524 == FOR_SYMBOL || LA344_2524 == FROM_SYMBOL || ((LA344_2524 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2524 <= GREATER_THAN_OPERATOR)) || ((LA344_2524 >= GROUP_SYMBOL) && (LA344_2524 <= HAVING_SYMBOL)) || LA344_2524 == IDENTIFIER || LA344_2524 == INNER_SYMBOL || LA344_2524 == INTO_SYMBOL || LA344_2524 == IN_SYMBOL || LA344_2524 == IS_SYMBOL || LA344_2524 == JOIN_SYMBOL || ((LA344_2524 >= LEFT_SYMBOL) && (LA344_2524 <= LESS_THAN_OPERATOR)) || ((LA344_2524 >= LIKE_SYMBOL) && (LA344_2524 <= LIMIT_SYMBOL)) || LA344_2524 == LOCK_SYMBOL || LA344_2524 == LOGICAL_AND_OPERATOR || LA344_2524 == LOGICAL_OR_OPERATOR || LA344_2524 == MINUS_OPERATOR || ((LA344_2524 >= MOD_OPERATOR) && (LA344_2524 <= MOD_SYMBOL)) || ((LA344_2524 >= MULT_OPERATOR) && (LA344_2524 <= NATURAL_SYMBOL)) || ((LA344_2524 >= NOT_EQUAL2_OPERATOR) && (LA344_2524 <= NOT_SYMBOL)) || LA344_2524 == NULL_SAFE_EQUAL_OPERATOR || LA344_2524 == ON_SYMBOL || LA344_2524 == OPEN_PAR_SYMBOL || ((LA344_2524 >= ORDER_SYMBOL) && (LA344_2524 <= OR_SYMBOL)) || LA344_2524 == PLUS_OPERATOR || LA344_2524 == PROCEDURE_SYMBOL || LA344_2524 == REGEXP_SYMBOL || LA344_2524 == RIGHT_SYMBOL || LA344_2524 == SEMICOLON_SYMBOL || LA344_2524 == SET_SYMBOL || ((LA344_2524 >= SHIFT_LEFT_OPERATOR) && (LA344_2524 <= SHIFT_RIGHT_OPERATOR)) || LA344_2524 == SINGLE_QUOTED_TEXT || LA344_2524 == STRAIGHT_JOIN_SYMBOL || LA344_2524 == UNION_SYMBOL || LA344_2524 == USING_SYMBOL || LA344_2524 == WHERE_SYMBOL || LA344_2524 == WITH_SYMBOL || LA344_2524 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2524;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1798 >= ASCII_SYMBOL) && (LA344_1798 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2525 = LA(4);
                                        if ( (LA344_2525 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11272 = LA(5);
                                                if ( (LA344_11272 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11272 >= ASCII_SYMBOL) && (LA344_11272 <= YEAR_SYMBOL)) || LA344_11272 == BACK_TICK_QUOTED_ID || LA344_11272 == DOUBLE_QUOTED_TEXT || LA344_11272 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11272;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2525 == EOF || ((LA344_2525 >= ASCII_SYMBOL) && (LA344_2525 <= YEAR_SYMBOL)) || LA344_2525 == AND_SYMBOL || LA344_2525 == AS_SYMBOL || LA344_2525 == BACK_TICK_QUOTED_ID || LA344_2525 == BETWEEN_SYMBOL || LA344_2525 == BITWISE_AND_OPERATOR || ((LA344_2525 >= BITWISE_OR_OPERATOR) && (LA344_2525 <= BITWISE_XOR_OPERATOR)) || ((LA344_2525 >= CLOSE_CURLY_SYMBOL) && (LA344_2525 <= COLLATE_SYMBOL)) || LA344_2525 == COMMA_SYMBOL || LA344_2525 == CONCAT_PIPES_SYMBOL || LA344_2525 == CROSS_SYMBOL || ((LA344_2525 >= DIV_OPERATOR) && (LA344_2525 <= DIV_SYMBOL)) || LA344_2525 == DOUBLE_QUOTED_TEXT || LA344_2525 == EQUAL_OPERATOR || LA344_2525 == FOR_SYMBOL || LA344_2525 == FROM_SYMBOL || ((LA344_2525 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2525 <= GREATER_THAN_OPERATOR)) || ((LA344_2525 >= GROUP_SYMBOL) && (LA344_2525 <= HAVING_SYMBOL)) || LA344_2525 == IDENTIFIER || LA344_2525 == INNER_SYMBOL || LA344_2525 == INTO_SYMBOL || LA344_2525 == IN_SYMBOL || LA344_2525 == IS_SYMBOL || LA344_2525 == JOIN_SYMBOL || ((LA344_2525 >= LEFT_SYMBOL) && (LA344_2525 <= LESS_THAN_OPERATOR)) || ((LA344_2525 >= LIKE_SYMBOL) && (LA344_2525 <= LIMIT_SYMBOL)) || LA344_2525 == LOCK_SYMBOL || LA344_2525 == LOGICAL_AND_OPERATOR || LA344_2525 == LOGICAL_OR_OPERATOR || LA344_2525 == MINUS_OPERATOR || ((LA344_2525 >= MOD_OPERATOR) && (LA344_2525 <= MOD_SYMBOL)) || ((LA344_2525 >= MULT_OPERATOR) && (LA344_2525 <= NATURAL_SYMBOL)) || ((LA344_2525 >= NOT_EQUAL2_OPERATOR) && (LA344_2525 <= NOT_SYMBOL)) || LA344_2525 == NULL_SAFE_EQUAL_OPERATOR || LA344_2525 == ON_SYMBOL || LA344_2525 == OPEN_PAR_SYMBOL || ((LA344_2525 >= ORDER_SYMBOL) && (LA344_2525 <= OR_SYMBOL)) || LA344_2525 == PLUS_OPERATOR || LA344_2525 == PROCEDURE_SYMBOL || LA344_2525 == REGEXP_SYMBOL || LA344_2525 == RIGHT_SYMBOL || LA344_2525 == SEMICOLON_SYMBOL || LA344_2525 == SET_SYMBOL || ((LA344_2525 >= SHIFT_LEFT_OPERATOR) && (LA344_2525 <= SHIFT_RIGHT_OPERATOR)) || LA344_2525 == SINGLE_QUOTED_TEXT || LA344_2525 == STRAIGHT_JOIN_SYMBOL || LA344_2525 == UNION_SYMBOL || LA344_2525 == USING_SYMBOL || LA344_2525 == WHERE_SYMBOL || LA344_2525 == WITH_SYMBOL || LA344_2525 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2525;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1798;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_68 == EOF || ((LA344_68 >= ASCII_SYMBOL) && (LA344_68 <= YEAR_SYMBOL)) || LA344_68 == AND_SYMBOL || LA344_68 == AS_SYMBOL || LA344_68 == BACK_TICK_QUOTED_ID || LA344_68 == BETWEEN_SYMBOL || LA344_68 == BITWISE_AND_OPERATOR || ((LA344_68 >= BITWISE_OR_OPERATOR) && (LA344_68 <= BITWISE_XOR_OPERATOR)) || ((LA344_68 >= CLOSE_CURLY_SYMBOL) && (LA344_68 <= COLLATE_SYMBOL)) || LA344_68 == COMMA_SYMBOL || LA344_68 == CONCAT_PIPES_SYMBOL || LA344_68 == CROSS_SYMBOL || ((LA344_68 >= DIV_OPERATOR) && (LA344_68 <= DIV_SYMBOL)) || LA344_68 == DOUBLE_QUOTED_TEXT || LA344_68 == EQUAL_OPERATOR || LA344_68 == FOR_SYMBOL || LA344_68 == FROM_SYMBOL || ((LA344_68 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_68 <= GREATER_THAN_OPERATOR)) || ((LA344_68 >= GROUP_SYMBOL) && (LA344_68 <= HAVING_SYMBOL)) || LA344_68 == IDENTIFIER || LA344_68 == INNER_SYMBOL || LA344_68 == INTO_SYMBOL || LA344_68 == IN_SYMBOL || LA344_68 == IS_SYMBOL || LA344_68 == JOIN_SYMBOL || ((LA344_68 >= LEFT_SYMBOL) && (LA344_68 <= LESS_THAN_OPERATOR)) || ((LA344_68 >= LIKE_SYMBOL) && (LA344_68 <= LIMIT_SYMBOL)) || LA344_68 == LOCK_SYMBOL || LA344_68 == LOGICAL_AND_OPERATOR || LA344_68 == LOGICAL_OR_OPERATOR || LA344_68 == MINUS_OPERATOR || ((LA344_68 >= MOD_OPERATOR) && (LA344_68 <= MOD_SYMBOL)) || ((LA344_68 >= MULT_OPERATOR) && (LA344_68 <= NATURAL_SYMBOL)) || ((LA344_68 >= NOT_EQUAL2_OPERATOR) && (LA344_68 <= NOT_SYMBOL)) || LA344_68 == NULL_SAFE_EQUAL_OPERATOR || LA344_68 == ON_SYMBOL || LA344_68 == OPEN_PAR_SYMBOL || ((LA344_68 >= ORDER_SYMBOL) && (LA344_68 <= OR_SYMBOL)) || LA344_68 == PLUS_OPERATOR || LA344_68 == PROCEDURE_SYMBOL || LA344_68 == REGEXP_SYMBOL || LA344_68 == RIGHT_SYMBOL || LA344_68 == SEMICOLON_SYMBOL || LA344_68 == SET_SYMBOL || ((LA344_68 >= SHIFT_LEFT_OPERATOR) && (LA344_68 <= SHIFT_RIGHT_OPERATOR)) || LA344_68 == SINGLE_QUOTED_TEXT || LA344_68 == STRAIGHT_JOIN_SYMBOL || LA344_68 == UNION_SYMBOL || LA344_68 == USING_SYMBOL || LA344_68 == WHERE_SYMBOL || LA344_68 == WITH_SYMBOL || LA344_68 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 68;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == LINESTRING_SYMBOL))
                {
                    {
                        int LA344_69 = LA(2);
                        if ( (LA344_69 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1851 = LA(3);
                                if ( (LA344_1851 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1851 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2527 = LA(4);
                                        if ( (LA344_2527 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11325 = LA(5);
                                                if ( (LA344_11325 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11325 >= ASCII_SYMBOL) && (LA344_11325 <= YEAR_SYMBOL)) || LA344_11325 == BACK_TICK_QUOTED_ID || LA344_11325 == DOUBLE_QUOTED_TEXT || LA344_11325 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11325;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2527 == EOF || ((LA344_2527 >= ASCII_SYMBOL) && (LA344_2527 <= YEAR_SYMBOL)) || LA344_2527 == AND_SYMBOL || LA344_2527 == AS_SYMBOL || LA344_2527 == BACK_TICK_QUOTED_ID || LA344_2527 == BETWEEN_SYMBOL || LA344_2527 == BITWISE_AND_OPERATOR || ((LA344_2527 >= BITWISE_OR_OPERATOR) && (LA344_2527 <= BITWISE_XOR_OPERATOR)) || ((LA344_2527 >= CLOSE_CURLY_SYMBOL) && (LA344_2527 <= COLLATE_SYMBOL)) || LA344_2527 == COMMA_SYMBOL || LA344_2527 == CONCAT_PIPES_SYMBOL || LA344_2527 == CROSS_SYMBOL || ((LA344_2527 >= DIV_OPERATOR) && (LA344_2527 <= DIV_SYMBOL)) || LA344_2527 == DOUBLE_QUOTED_TEXT || LA344_2527 == EQUAL_OPERATOR || LA344_2527 == FOR_SYMBOL || LA344_2527 == FROM_SYMBOL || ((LA344_2527 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2527 <= GREATER_THAN_OPERATOR)) || ((LA344_2527 >= GROUP_SYMBOL) && (LA344_2527 <= HAVING_SYMBOL)) || LA344_2527 == IDENTIFIER || LA344_2527 == INNER_SYMBOL || LA344_2527 == INTO_SYMBOL || LA344_2527 == IN_SYMBOL || LA344_2527 == IS_SYMBOL || LA344_2527 == JOIN_SYMBOL || ((LA344_2527 >= LEFT_SYMBOL) && (LA344_2527 <= LESS_THAN_OPERATOR)) || ((LA344_2527 >= LIKE_SYMBOL) && (LA344_2527 <= LIMIT_SYMBOL)) || LA344_2527 == LOCK_SYMBOL || LA344_2527 == LOGICAL_AND_OPERATOR || LA344_2527 == LOGICAL_OR_OPERATOR || LA344_2527 == MINUS_OPERATOR || ((LA344_2527 >= MOD_OPERATOR) && (LA344_2527 <= MOD_SYMBOL)) || ((LA344_2527 >= MULT_OPERATOR) && (LA344_2527 <= NATURAL_SYMBOL)) || ((LA344_2527 >= NOT_EQUAL2_OPERATOR) && (LA344_2527 <= NOT_SYMBOL)) || LA344_2527 == NULL_SAFE_EQUAL_OPERATOR || LA344_2527 == ON_SYMBOL || LA344_2527 == OPEN_PAR_SYMBOL || ((LA344_2527 >= ORDER_SYMBOL) && (LA344_2527 <= OR_SYMBOL)) || LA344_2527 == PLUS_OPERATOR || LA344_2527 == PROCEDURE_SYMBOL || LA344_2527 == REGEXP_SYMBOL || LA344_2527 == RIGHT_SYMBOL || LA344_2527 == SEMICOLON_SYMBOL || LA344_2527 == SET_SYMBOL || ((LA344_2527 >= SHIFT_LEFT_OPERATOR) && (LA344_2527 <= SHIFT_RIGHT_OPERATOR)) || LA344_2527 == SINGLE_QUOTED_TEXT || LA344_2527 == STRAIGHT_JOIN_SYMBOL || LA344_2527 == UNION_SYMBOL || LA344_2527 == USING_SYMBOL || LA344_2527 == WHERE_SYMBOL || LA344_2527 == WITH_SYMBOL || LA344_2527 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2527;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1851 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2528 = LA(4);
                                        if ( (LA344_2528 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11378 = LA(5);
                                                if ( (LA344_11378 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11378 >= ASCII_SYMBOL) && (LA344_11378 <= YEAR_SYMBOL)) || LA344_11378 == BACK_TICK_QUOTED_ID || LA344_11378 == DOUBLE_QUOTED_TEXT || LA344_11378 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11378;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2528 == EOF || ((LA344_2528 >= ASCII_SYMBOL) && (LA344_2528 <= YEAR_SYMBOL)) || LA344_2528 == AND_SYMBOL || LA344_2528 == AS_SYMBOL || LA344_2528 == BACK_TICK_QUOTED_ID || LA344_2528 == BETWEEN_SYMBOL || LA344_2528 == BITWISE_AND_OPERATOR || ((LA344_2528 >= BITWISE_OR_OPERATOR) && (LA344_2528 <= BITWISE_XOR_OPERATOR)) || ((LA344_2528 >= CLOSE_CURLY_SYMBOL) && (LA344_2528 <= COLLATE_SYMBOL)) || LA344_2528 == COMMA_SYMBOL || LA344_2528 == CONCAT_PIPES_SYMBOL || LA344_2528 == CROSS_SYMBOL || ((LA344_2528 >= DIV_OPERATOR) && (LA344_2528 <= DIV_SYMBOL)) || LA344_2528 == DOUBLE_QUOTED_TEXT || LA344_2528 == EQUAL_OPERATOR || LA344_2528 == FOR_SYMBOL || LA344_2528 == FROM_SYMBOL || ((LA344_2528 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2528 <= GREATER_THAN_OPERATOR)) || ((LA344_2528 >= GROUP_SYMBOL) && (LA344_2528 <= HAVING_SYMBOL)) || LA344_2528 == IDENTIFIER || LA344_2528 == INNER_SYMBOL || LA344_2528 == INTO_SYMBOL || LA344_2528 == IN_SYMBOL || LA344_2528 == IS_SYMBOL || LA344_2528 == JOIN_SYMBOL || ((LA344_2528 >= LEFT_SYMBOL) && (LA344_2528 <= LESS_THAN_OPERATOR)) || ((LA344_2528 >= LIKE_SYMBOL) && (LA344_2528 <= LIMIT_SYMBOL)) || LA344_2528 == LOCK_SYMBOL || LA344_2528 == LOGICAL_AND_OPERATOR || LA344_2528 == LOGICAL_OR_OPERATOR || LA344_2528 == MINUS_OPERATOR || ((LA344_2528 >= MOD_OPERATOR) && (LA344_2528 <= MOD_SYMBOL)) || ((LA344_2528 >= MULT_OPERATOR) && (LA344_2528 <= NATURAL_SYMBOL)) || ((LA344_2528 >= NOT_EQUAL2_OPERATOR) && (LA344_2528 <= NOT_SYMBOL)) || LA344_2528 == NULL_SAFE_EQUAL_OPERATOR || LA344_2528 == ON_SYMBOL || LA344_2528 == OPEN_PAR_SYMBOL || ((LA344_2528 >= ORDER_SYMBOL) && (LA344_2528 <= OR_SYMBOL)) || LA344_2528 == PLUS_OPERATOR || LA344_2528 == PROCEDURE_SYMBOL || LA344_2528 == REGEXP_SYMBOL || LA344_2528 == RIGHT_SYMBOL || LA344_2528 == SEMICOLON_SYMBOL || LA344_2528 == SET_SYMBOL || ((LA344_2528 >= SHIFT_LEFT_OPERATOR) && (LA344_2528 <= SHIFT_RIGHT_OPERATOR)) || LA344_2528 == SINGLE_QUOTED_TEXT || LA344_2528 == STRAIGHT_JOIN_SYMBOL || LA344_2528 == UNION_SYMBOL || LA344_2528 == USING_SYMBOL || LA344_2528 == WHERE_SYMBOL || LA344_2528 == WITH_SYMBOL || LA344_2528 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2528;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1851 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2529 = LA(4);
                                        if ( (LA344_2529 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11431 = LA(5);
                                                if ( (LA344_11431 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11431 >= ASCII_SYMBOL) && (LA344_11431 <= YEAR_SYMBOL)) || LA344_11431 == BACK_TICK_QUOTED_ID || LA344_11431 == DOUBLE_QUOTED_TEXT || LA344_11431 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11431;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2529 == EOF || ((LA344_2529 >= ASCII_SYMBOL) && (LA344_2529 <= YEAR_SYMBOL)) || LA344_2529 == AND_SYMBOL || LA344_2529 == AS_SYMBOL || LA344_2529 == BACK_TICK_QUOTED_ID || LA344_2529 == BETWEEN_SYMBOL || LA344_2529 == BITWISE_AND_OPERATOR || ((LA344_2529 >= BITWISE_OR_OPERATOR) && (LA344_2529 <= BITWISE_XOR_OPERATOR)) || ((LA344_2529 >= CLOSE_CURLY_SYMBOL) && (LA344_2529 <= COLLATE_SYMBOL)) || LA344_2529 == COMMA_SYMBOL || LA344_2529 == CONCAT_PIPES_SYMBOL || LA344_2529 == CROSS_SYMBOL || ((LA344_2529 >= DIV_OPERATOR) && (LA344_2529 <= DIV_SYMBOL)) || LA344_2529 == DOUBLE_QUOTED_TEXT || LA344_2529 == EQUAL_OPERATOR || LA344_2529 == FOR_SYMBOL || LA344_2529 == FROM_SYMBOL || ((LA344_2529 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2529 <= GREATER_THAN_OPERATOR)) || ((LA344_2529 >= GROUP_SYMBOL) && (LA344_2529 <= HAVING_SYMBOL)) || LA344_2529 == IDENTIFIER || LA344_2529 == INNER_SYMBOL || LA344_2529 == INTO_SYMBOL || LA344_2529 == IN_SYMBOL || LA344_2529 == IS_SYMBOL || LA344_2529 == JOIN_SYMBOL || ((LA344_2529 >= LEFT_SYMBOL) && (LA344_2529 <= LESS_THAN_OPERATOR)) || ((LA344_2529 >= LIKE_SYMBOL) && (LA344_2529 <= LIMIT_SYMBOL)) || LA344_2529 == LOCK_SYMBOL || LA344_2529 == LOGICAL_AND_OPERATOR || LA344_2529 == LOGICAL_OR_OPERATOR || LA344_2529 == MINUS_OPERATOR || ((LA344_2529 >= MOD_OPERATOR) && (LA344_2529 <= MOD_SYMBOL)) || ((LA344_2529 >= MULT_OPERATOR) && (LA344_2529 <= NATURAL_SYMBOL)) || ((LA344_2529 >= NOT_EQUAL2_OPERATOR) && (LA344_2529 <= NOT_SYMBOL)) || LA344_2529 == NULL_SAFE_EQUAL_OPERATOR || LA344_2529 == ON_SYMBOL || LA344_2529 == OPEN_PAR_SYMBOL || ((LA344_2529 >= ORDER_SYMBOL) && (LA344_2529 <= OR_SYMBOL)) || LA344_2529 == PLUS_OPERATOR || LA344_2529 == PROCEDURE_SYMBOL || LA344_2529 == REGEXP_SYMBOL || LA344_2529 == RIGHT_SYMBOL || LA344_2529 == SEMICOLON_SYMBOL || LA344_2529 == SET_SYMBOL || ((LA344_2529 >= SHIFT_LEFT_OPERATOR) && (LA344_2529 <= SHIFT_RIGHT_OPERATOR)) || LA344_2529 == SINGLE_QUOTED_TEXT || LA344_2529 == STRAIGHT_JOIN_SYMBOL || LA344_2529 == UNION_SYMBOL || LA344_2529 == USING_SYMBOL || LA344_2529 == WHERE_SYMBOL || LA344_2529 == WITH_SYMBOL || LA344_2529 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2529;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1851 >= ACTION_SYMBOL) && (LA344_1851 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2530 = LA(4);
                                        if ( (LA344_2530 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11484 = LA(5);
                                                if ( (LA344_11484 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11484 >= ASCII_SYMBOL) && (LA344_11484 <= YEAR_SYMBOL)) || LA344_11484 == BACK_TICK_QUOTED_ID || LA344_11484 == DOUBLE_QUOTED_TEXT || LA344_11484 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11484;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2530 == EOF || ((LA344_2530 >= ASCII_SYMBOL) && (LA344_2530 <= YEAR_SYMBOL)) || LA344_2530 == AND_SYMBOL || LA344_2530 == AS_SYMBOL || LA344_2530 == BACK_TICK_QUOTED_ID || LA344_2530 == BETWEEN_SYMBOL || LA344_2530 == BITWISE_AND_OPERATOR || ((LA344_2530 >= BITWISE_OR_OPERATOR) && (LA344_2530 <= BITWISE_XOR_OPERATOR)) || ((LA344_2530 >= CLOSE_CURLY_SYMBOL) && (LA344_2530 <= COLLATE_SYMBOL)) || LA344_2530 == COMMA_SYMBOL || LA344_2530 == CONCAT_PIPES_SYMBOL || LA344_2530 == CROSS_SYMBOL || ((LA344_2530 >= DIV_OPERATOR) && (LA344_2530 <= DIV_SYMBOL)) || LA344_2530 == DOUBLE_QUOTED_TEXT || LA344_2530 == EQUAL_OPERATOR || LA344_2530 == FOR_SYMBOL || LA344_2530 == FROM_SYMBOL || ((LA344_2530 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2530 <= GREATER_THAN_OPERATOR)) || ((LA344_2530 >= GROUP_SYMBOL) && (LA344_2530 <= HAVING_SYMBOL)) || LA344_2530 == IDENTIFIER || LA344_2530 == INNER_SYMBOL || LA344_2530 == INTO_SYMBOL || LA344_2530 == IN_SYMBOL || LA344_2530 == IS_SYMBOL || LA344_2530 == JOIN_SYMBOL || ((LA344_2530 >= LEFT_SYMBOL) && (LA344_2530 <= LESS_THAN_OPERATOR)) || ((LA344_2530 >= LIKE_SYMBOL) && (LA344_2530 <= LIMIT_SYMBOL)) || LA344_2530 == LOCK_SYMBOL || LA344_2530 == LOGICAL_AND_OPERATOR || LA344_2530 == LOGICAL_OR_OPERATOR || LA344_2530 == MINUS_OPERATOR || ((LA344_2530 >= MOD_OPERATOR) && (LA344_2530 <= MOD_SYMBOL)) || ((LA344_2530 >= MULT_OPERATOR) && (LA344_2530 <= NATURAL_SYMBOL)) || ((LA344_2530 >= NOT_EQUAL2_OPERATOR) && (LA344_2530 <= NOT_SYMBOL)) || LA344_2530 == NULL_SAFE_EQUAL_OPERATOR || LA344_2530 == ON_SYMBOL || LA344_2530 == OPEN_PAR_SYMBOL || ((LA344_2530 >= ORDER_SYMBOL) && (LA344_2530 <= OR_SYMBOL)) || LA344_2530 == PLUS_OPERATOR || LA344_2530 == PROCEDURE_SYMBOL || LA344_2530 == REGEXP_SYMBOL || LA344_2530 == RIGHT_SYMBOL || LA344_2530 == SEMICOLON_SYMBOL || LA344_2530 == SET_SYMBOL || ((LA344_2530 >= SHIFT_LEFT_OPERATOR) && (LA344_2530 <= SHIFT_RIGHT_OPERATOR)) || LA344_2530 == SINGLE_QUOTED_TEXT || LA344_2530 == STRAIGHT_JOIN_SYMBOL || LA344_2530 == UNION_SYMBOL || LA344_2530 == USING_SYMBOL || LA344_2530 == WHERE_SYMBOL || LA344_2530 == WITH_SYMBOL || LA344_2530 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2530;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1851 >= ASCII_SYMBOL) && (LA344_1851 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2531 = LA(4);
                                        if ( (LA344_2531 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11537 = LA(5);
                                                if ( (LA344_11537 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11537 >= ASCII_SYMBOL) && (LA344_11537 <= YEAR_SYMBOL)) || LA344_11537 == BACK_TICK_QUOTED_ID || LA344_11537 == DOUBLE_QUOTED_TEXT || LA344_11537 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11537;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2531 == EOF || ((LA344_2531 >= ASCII_SYMBOL) && (LA344_2531 <= YEAR_SYMBOL)) || LA344_2531 == AND_SYMBOL || LA344_2531 == AS_SYMBOL || LA344_2531 == BACK_TICK_QUOTED_ID || LA344_2531 == BETWEEN_SYMBOL || LA344_2531 == BITWISE_AND_OPERATOR || ((LA344_2531 >= BITWISE_OR_OPERATOR) && (LA344_2531 <= BITWISE_XOR_OPERATOR)) || ((LA344_2531 >= CLOSE_CURLY_SYMBOL) && (LA344_2531 <= COLLATE_SYMBOL)) || LA344_2531 == COMMA_SYMBOL || LA344_2531 == CONCAT_PIPES_SYMBOL || LA344_2531 == CROSS_SYMBOL || ((LA344_2531 >= DIV_OPERATOR) && (LA344_2531 <= DIV_SYMBOL)) || LA344_2531 == DOUBLE_QUOTED_TEXT || LA344_2531 == EQUAL_OPERATOR || LA344_2531 == FOR_SYMBOL || LA344_2531 == FROM_SYMBOL || ((LA344_2531 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2531 <= GREATER_THAN_OPERATOR)) || ((LA344_2531 >= GROUP_SYMBOL) && (LA344_2531 <= HAVING_SYMBOL)) || LA344_2531 == IDENTIFIER || LA344_2531 == INNER_SYMBOL || LA344_2531 == INTO_SYMBOL || LA344_2531 == IN_SYMBOL || LA344_2531 == IS_SYMBOL || LA344_2531 == JOIN_SYMBOL || ((LA344_2531 >= LEFT_SYMBOL) && (LA344_2531 <= LESS_THAN_OPERATOR)) || ((LA344_2531 >= LIKE_SYMBOL) && (LA344_2531 <= LIMIT_SYMBOL)) || LA344_2531 == LOCK_SYMBOL || LA344_2531 == LOGICAL_AND_OPERATOR || LA344_2531 == LOGICAL_OR_OPERATOR || LA344_2531 == MINUS_OPERATOR || ((LA344_2531 >= MOD_OPERATOR) && (LA344_2531 <= MOD_SYMBOL)) || ((LA344_2531 >= MULT_OPERATOR) && (LA344_2531 <= NATURAL_SYMBOL)) || ((LA344_2531 >= NOT_EQUAL2_OPERATOR) && (LA344_2531 <= NOT_SYMBOL)) || LA344_2531 == NULL_SAFE_EQUAL_OPERATOR || LA344_2531 == ON_SYMBOL || LA344_2531 == OPEN_PAR_SYMBOL || ((LA344_2531 >= ORDER_SYMBOL) && (LA344_2531 <= OR_SYMBOL)) || LA344_2531 == PLUS_OPERATOR || LA344_2531 == PROCEDURE_SYMBOL || LA344_2531 == REGEXP_SYMBOL || LA344_2531 == RIGHT_SYMBOL || LA344_2531 == SEMICOLON_SYMBOL || LA344_2531 == SET_SYMBOL || ((LA344_2531 >= SHIFT_LEFT_OPERATOR) && (LA344_2531 <= SHIFT_RIGHT_OPERATOR)) || LA344_2531 == SINGLE_QUOTED_TEXT || LA344_2531 == STRAIGHT_JOIN_SYMBOL || LA344_2531 == UNION_SYMBOL || LA344_2531 == USING_SYMBOL || LA344_2531 == WHERE_SYMBOL || LA344_2531 == WITH_SYMBOL || LA344_2531 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2531;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1851;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_69 == EOF || ((LA344_69 >= ASCII_SYMBOL) && (LA344_69 <= YEAR_SYMBOL)) || LA344_69 == AND_SYMBOL || LA344_69 == AS_SYMBOL || LA344_69 == BACK_TICK_QUOTED_ID || LA344_69 == BETWEEN_SYMBOL || LA344_69 == BITWISE_AND_OPERATOR || ((LA344_69 >= BITWISE_OR_OPERATOR) && (LA344_69 <= BITWISE_XOR_OPERATOR)) || ((LA344_69 >= CLOSE_CURLY_SYMBOL) && (LA344_69 <= COLLATE_SYMBOL)) || LA344_69 == COMMA_SYMBOL || LA344_69 == CONCAT_PIPES_SYMBOL || LA344_69 == CROSS_SYMBOL || ((LA344_69 >= DIV_OPERATOR) && (LA344_69 <= DIV_SYMBOL)) || LA344_69 == DOUBLE_QUOTED_TEXT || LA344_69 == EQUAL_OPERATOR || LA344_69 == FOR_SYMBOL || LA344_69 == FROM_SYMBOL || ((LA344_69 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_69 <= GREATER_THAN_OPERATOR)) || ((LA344_69 >= GROUP_SYMBOL) && (LA344_69 <= HAVING_SYMBOL)) || LA344_69 == IDENTIFIER || LA344_69 == INNER_SYMBOL || LA344_69 == INTO_SYMBOL || LA344_69 == IN_SYMBOL || LA344_69 == IS_SYMBOL || LA344_69 == JOIN_SYMBOL || ((LA344_69 >= LEFT_SYMBOL) && (LA344_69 <= LESS_THAN_OPERATOR)) || ((LA344_69 >= LIKE_SYMBOL) && (LA344_69 <= LIMIT_SYMBOL)) || LA344_69 == LOCK_SYMBOL || LA344_69 == LOGICAL_AND_OPERATOR || LA344_69 == LOGICAL_OR_OPERATOR || LA344_69 == MINUS_OPERATOR || ((LA344_69 >= MOD_OPERATOR) && (LA344_69 <= MOD_SYMBOL)) || ((LA344_69 >= MULT_OPERATOR) && (LA344_69 <= NATURAL_SYMBOL)) || ((LA344_69 >= NOT_EQUAL2_OPERATOR) && (LA344_69 <= NOT_SYMBOL)) || LA344_69 == NULL_SAFE_EQUAL_OPERATOR || LA344_69 == ON_SYMBOL || LA344_69 == OPEN_PAR_SYMBOL || ((LA344_69 >= ORDER_SYMBOL) && (LA344_69 <= OR_SYMBOL)) || LA344_69 == PLUS_OPERATOR || LA344_69 == PROCEDURE_SYMBOL || LA344_69 == REGEXP_SYMBOL || LA344_69 == RIGHT_SYMBOL || LA344_69 == SEMICOLON_SYMBOL || LA344_69 == SET_SYMBOL || ((LA344_69 >= SHIFT_LEFT_OPERATOR) && (LA344_69 <= SHIFT_RIGHT_OPERATOR)) || LA344_69 == SINGLE_QUOTED_TEXT || LA344_69 == STRAIGHT_JOIN_SYMBOL || LA344_69 == UNION_SYMBOL || LA344_69 == USING_SYMBOL || LA344_69 == WHERE_SYMBOL || LA344_69 == WITH_SYMBOL || LA344_69 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 69;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == MULTILINESTRING_SYMBOL))
                {
                    {
                        int LA344_70 = LA(2);
                        if ( (LA344_70 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1904 = LA(3);
                                if ( (LA344_1904 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1904 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2533 = LA(4);
                                        if ( (LA344_2533 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11590 = LA(5);
                                                if ( (LA344_11590 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11590 >= ASCII_SYMBOL) && (LA344_11590 <= YEAR_SYMBOL)) || LA344_11590 == BACK_TICK_QUOTED_ID || LA344_11590 == DOUBLE_QUOTED_TEXT || LA344_11590 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11590;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2533 == EOF || ((LA344_2533 >= ASCII_SYMBOL) && (LA344_2533 <= YEAR_SYMBOL)) || LA344_2533 == AND_SYMBOL || LA344_2533 == AS_SYMBOL || LA344_2533 == BACK_TICK_QUOTED_ID || LA344_2533 == BETWEEN_SYMBOL || LA344_2533 == BITWISE_AND_OPERATOR || ((LA344_2533 >= BITWISE_OR_OPERATOR) && (LA344_2533 <= BITWISE_XOR_OPERATOR)) || ((LA344_2533 >= CLOSE_CURLY_SYMBOL) && (LA344_2533 <= COLLATE_SYMBOL)) || LA344_2533 == COMMA_SYMBOL || LA344_2533 == CONCAT_PIPES_SYMBOL || LA344_2533 == CROSS_SYMBOL || ((LA344_2533 >= DIV_OPERATOR) && (LA344_2533 <= DIV_SYMBOL)) || LA344_2533 == DOUBLE_QUOTED_TEXT || LA344_2533 == EQUAL_OPERATOR || LA344_2533 == FOR_SYMBOL || LA344_2533 == FROM_SYMBOL || ((LA344_2533 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2533 <= GREATER_THAN_OPERATOR)) || ((LA344_2533 >= GROUP_SYMBOL) && (LA344_2533 <= HAVING_SYMBOL)) || LA344_2533 == IDENTIFIER || LA344_2533 == INNER_SYMBOL || LA344_2533 == INTO_SYMBOL || LA344_2533 == IN_SYMBOL || LA344_2533 == IS_SYMBOL || LA344_2533 == JOIN_SYMBOL || ((LA344_2533 >= LEFT_SYMBOL) && (LA344_2533 <= LESS_THAN_OPERATOR)) || ((LA344_2533 >= LIKE_SYMBOL) && (LA344_2533 <= LIMIT_SYMBOL)) || LA344_2533 == LOCK_SYMBOL || LA344_2533 == LOGICAL_AND_OPERATOR || LA344_2533 == LOGICAL_OR_OPERATOR || LA344_2533 == MINUS_OPERATOR || ((LA344_2533 >= MOD_OPERATOR) && (LA344_2533 <= MOD_SYMBOL)) || ((LA344_2533 >= MULT_OPERATOR) && (LA344_2533 <= NATURAL_SYMBOL)) || ((LA344_2533 >= NOT_EQUAL2_OPERATOR) && (LA344_2533 <= NOT_SYMBOL)) || LA344_2533 == NULL_SAFE_EQUAL_OPERATOR || LA344_2533 == ON_SYMBOL || LA344_2533 == OPEN_PAR_SYMBOL || ((LA344_2533 >= ORDER_SYMBOL) && (LA344_2533 <= OR_SYMBOL)) || LA344_2533 == PLUS_OPERATOR || LA344_2533 == PROCEDURE_SYMBOL || LA344_2533 == REGEXP_SYMBOL || LA344_2533 == RIGHT_SYMBOL || LA344_2533 == SEMICOLON_SYMBOL || LA344_2533 == SET_SYMBOL || ((LA344_2533 >= SHIFT_LEFT_OPERATOR) && (LA344_2533 <= SHIFT_RIGHT_OPERATOR)) || LA344_2533 == SINGLE_QUOTED_TEXT || LA344_2533 == STRAIGHT_JOIN_SYMBOL || LA344_2533 == UNION_SYMBOL || LA344_2533 == USING_SYMBOL || LA344_2533 == WHERE_SYMBOL || LA344_2533 == WITH_SYMBOL || LA344_2533 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2533;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1904 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2534 = LA(4);
                                        if ( (LA344_2534 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11643 = LA(5);
                                                if ( (LA344_11643 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11643 >= ASCII_SYMBOL) && (LA344_11643 <= YEAR_SYMBOL)) || LA344_11643 == BACK_TICK_QUOTED_ID || LA344_11643 == DOUBLE_QUOTED_TEXT || LA344_11643 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11643;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2534 == EOF || ((LA344_2534 >= ASCII_SYMBOL) && (LA344_2534 <= YEAR_SYMBOL)) || LA344_2534 == AND_SYMBOL || LA344_2534 == AS_SYMBOL || LA344_2534 == BACK_TICK_QUOTED_ID || LA344_2534 == BETWEEN_SYMBOL || LA344_2534 == BITWISE_AND_OPERATOR || ((LA344_2534 >= BITWISE_OR_OPERATOR) && (LA344_2534 <= BITWISE_XOR_OPERATOR)) || ((LA344_2534 >= CLOSE_CURLY_SYMBOL) && (LA344_2534 <= COLLATE_SYMBOL)) || LA344_2534 == COMMA_SYMBOL || LA344_2534 == CONCAT_PIPES_SYMBOL || LA344_2534 == CROSS_SYMBOL || ((LA344_2534 >= DIV_OPERATOR) && (LA344_2534 <= DIV_SYMBOL)) || LA344_2534 == DOUBLE_QUOTED_TEXT || LA344_2534 == EQUAL_OPERATOR || LA344_2534 == FOR_SYMBOL || LA344_2534 == FROM_SYMBOL || ((LA344_2534 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2534 <= GREATER_THAN_OPERATOR)) || ((LA344_2534 >= GROUP_SYMBOL) && (LA344_2534 <= HAVING_SYMBOL)) || LA344_2534 == IDENTIFIER || LA344_2534 == INNER_SYMBOL || LA344_2534 == INTO_SYMBOL || LA344_2534 == IN_SYMBOL || LA344_2534 == IS_SYMBOL || LA344_2534 == JOIN_SYMBOL || ((LA344_2534 >= LEFT_SYMBOL) && (LA344_2534 <= LESS_THAN_OPERATOR)) || ((LA344_2534 >= LIKE_SYMBOL) && (LA344_2534 <= LIMIT_SYMBOL)) || LA344_2534 == LOCK_SYMBOL || LA344_2534 == LOGICAL_AND_OPERATOR || LA344_2534 == LOGICAL_OR_OPERATOR || LA344_2534 == MINUS_OPERATOR || ((LA344_2534 >= MOD_OPERATOR) && (LA344_2534 <= MOD_SYMBOL)) || ((LA344_2534 >= MULT_OPERATOR) && (LA344_2534 <= NATURAL_SYMBOL)) || ((LA344_2534 >= NOT_EQUAL2_OPERATOR) && (LA344_2534 <= NOT_SYMBOL)) || LA344_2534 == NULL_SAFE_EQUAL_OPERATOR || LA344_2534 == ON_SYMBOL || LA344_2534 == OPEN_PAR_SYMBOL || ((LA344_2534 >= ORDER_SYMBOL) && (LA344_2534 <= OR_SYMBOL)) || LA344_2534 == PLUS_OPERATOR || LA344_2534 == PROCEDURE_SYMBOL || LA344_2534 == REGEXP_SYMBOL || LA344_2534 == RIGHT_SYMBOL || LA344_2534 == SEMICOLON_SYMBOL || LA344_2534 == SET_SYMBOL || ((LA344_2534 >= SHIFT_LEFT_OPERATOR) && (LA344_2534 <= SHIFT_RIGHT_OPERATOR)) || LA344_2534 == SINGLE_QUOTED_TEXT || LA344_2534 == STRAIGHT_JOIN_SYMBOL || LA344_2534 == UNION_SYMBOL || LA344_2534 == USING_SYMBOL || LA344_2534 == WHERE_SYMBOL || LA344_2534 == WITH_SYMBOL || LA344_2534 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2534;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1904 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2535 = LA(4);
                                        if ( (LA344_2535 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11696 = LA(5);
                                                if ( (LA344_11696 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11696 >= ASCII_SYMBOL) && (LA344_11696 <= YEAR_SYMBOL)) || LA344_11696 == BACK_TICK_QUOTED_ID || LA344_11696 == DOUBLE_QUOTED_TEXT || LA344_11696 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11696;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2535 == EOF || ((LA344_2535 >= ASCII_SYMBOL) && (LA344_2535 <= YEAR_SYMBOL)) || LA344_2535 == AND_SYMBOL || LA344_2535 == AS_SYMBOL || LA344_2535 == BACK_TICK_QUOTED_ID || LA344_2535 == BETWEEN_SYMBOL || LA344_2535 == BITWISE_AND_OPERATOR || ((LA344_2535 >= BITWISE_OR_OPERATOR) && (LA344_2535 <= BITWISE_XOR_OPERATOR)) || ((LA344_2535 >= CLOSE_CURLY_SYMBOL) && (LA344_2535 <= COLLATE_SYMBOL)) || LA344_2535 == COMMA_SYMBOL || LA344_2535 == CONCAT_PIPES_SYMBOL || LA344_2535 == CROSS_SYMBOL || ((LA344_2535 >= DIV_OPERATOR) && (LA344_2535 <= DIV_SYMBOL)) || LA344_2535 == DOUBLE_QUOTED_TEXT || LA344_2535 == EQUAL_OPERATOR || LA344_2535 == FOR_SYMBOL || LA344_2535 == FROM_SYMBOL || ((LA344_2535 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2535 <= GREATER_THAN_OPERATOR)) || ((LA344_2535 >= GROUP_SYMBOL) && (LA344_2535 <= HAVING_SYMBOL)) || LA344_2535 == IDENTIFIER || LA344_2535 == INNER_SYMBOL || LA344_2535 == INTO_SYMBOL || LA344_2535 == IN_SYMBOL || LA344_2535 == IS_SYMBOL || LA344_2535 == JOIN_SYMBOL || ((LA344_2535 >= LEFT_SYMBOL) && (LA344_2535 <= LESS_THAN_OPERATOR)) || ((LA344_2535 >= LIKE_SYMBOL) && (LA344_2535 <= LIMIT_SYMBOL)) || LA344_2535 == LOCK_SYMBOL || LA344_2535 == LOGICAL_AND_OPERATOR || LA344_2535 == LOGICAL_OR_OPERATOR || LA344_2535 == MINUS_OPERATOR || ((LA344_2535 >= MOD_OPERATOR) && (LA344_2535 <= MOD_SYMBOL)) || ((LA344_2535 >= MULT_OPERATOR) && (LA344_2535 <= NATURAL_SYMBOL)) || ((LA344_2535 >= NOT_EQUAL2_OPERATOR) && (LA344_2535 <= NOT_SYMBOL)) || LA344_2535 == NULL_SAFE_EQUAL_OPERATOR || LA344_2535 == ON_SYMBOL || LA344_2535 == OPEN_PAR_SYMBOL || ((LA344_2535 >= ORDER_SYMBOL) && (LA344_2535 <= OR_SYMBOL)) || LA344_2535 == PLUS_OPERATOR || LA344_2535 == PROCEDURE_SYMBOL || LA344_2535 == REGEXP_SYMBOL || LA344_2535 == RIGHT_SYMBOL || LA344_2535 == SEMICOLON_SYMBOL || LA344_2535 == SET_SYMBOL || ((LA344_2535 >= SHIFT_LEFT_OPERATOR) && (LA344_2535 <= SHIFT_RIGHT_OPERATOR)) || LA344_2535 == SINGLE_QUOTED_TEXT || LA344_2535 == STRAIGHT_JOIN_SYMBOL || LA344_2535 == UNION_SYMBOL || LA344_2535 == USING_SYMBOL || LA344_2535 == WHERE_SYMBOL || LA344_2535 == WITH_SYMBOL || LA344_2535 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2535;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1904 >= ACTION_SYMBOL) && (LA344_1904 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2536 = LA(4);
                                        if ( (LA344_2536 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11749 = LA(5);
                                                if ( (LA344_11749 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11749 >= ASCII_SYMBOL) && (LA344_11749 <= YEAR_SYMBOL)) || LA344_11749 == BACK_TICK_QUOTED_ID || LA344_11749 == DOUBLE_QUOTED_TEXT || LA344_11749 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11749;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2536 == EOF || ((LA344_2536 >= ASCII_SYMBOL) && (LA344_2536 <= YEAR_SYMBOL)) || LA344_2536 == AND_SYMBOL || LA344_2536 == AS_SYMBOL || LA344_2536 == BACK_TICK_QUOTED_ID || LA344_2536 == BETWEEN_SYMBOL || LA344_2536 == BITWISE_AND_OPERATOR || ((LA344_2536 >= BITWISE_OR_OPERATOR) && (LA344_2536 <= BITWISE_XOR_OPERATOR)) || ((LA344_2536 >= CLOSE_CURLY_SYMBOL) && (LA344_2536 <= COLLATE_SYMBOL)) || LA344_2536 == COMMA_SYMBOL || LA344_2536 == CONCAT_PIPES_SYMBOL || LA344_2536 == CROSS_SYMBOL || ((LA344_2536 >= DIV_OPERATOR) && (LA344_2536 <= DIV_SYMBOL)) || LA344_2536 == DOUBLE_QUOTED_TEXT || LA344_2536 == EQUAL_OPERATOR || LA344_2536 == FOR_SYMBOL || LA344_2536 == FROM_SYMBOL || ((LA344_2536 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2536 <= GREATER_THAN_OPERATOR)) || ((LA344_2536 >= GROUP_SYMBOL) && (LA344_2536 <= HAVING_SYMBOL)) || LA344_2536 == IDENTIFIER || LA344_2536 == INNER_SYMBOL || LA344_2536 == INTO_SYMBOL || LA344_2536 == IN_SYMBOL || LA344_2536 == IS_SYMBOL || LA344_2536 == JOIN_SYMBOL || ((LA344_2536 >= LEFT_SYMBOL) && (LA344_2536 <= LESS_THAN_OPERATOR)) || ((LA344_2536 >= LIKE_SYMBOL) && (LA344_2536 <= LIMIT_SYMBOL)) || LA344_2536 == LOCK_SYMBOL || LA344_2536 == LOGICAL_AND_OPERATOR || LA344_2536 == LOGICAL_OR_OPERATOR || LA344_2536 == MINUS_OPERATOR || ((LA344_2536 >= MOD_OPERATOR) && (LA344_2536 <= MOD_SYMBOL)) || ((LA344_2536 >= MULT_OPERATOR) && (LA344_2536 <= NATURAL_SYMBOL)) || ((LA344_2536 >= NOT_EQUAL2_OPERATOR) && (LA344_2536 <= NOT_SYMBOL)) || LA344_2536 == NULL_SAFE_EQUAL_OPERATOR || LA344_2536 == ON_SYMBOL || LA344_2536 == OPEN_PAR_SYMBOL || ((LA344_2536 >= ORDER_SYMBOL) && (LA344_2536 <= OR_SYMBOL)) || LA344_2536 == PLUS_OPERATOR || LA344_2536 == PROCEDURE_SYMBOL || LA344_2536 == REGEXP_SYMBOL || LA344_2536 == RIGHT_SYMBOL || LA344_2536 == SEMICOLON_SYMBOL || LA344_2536 == SET_SYMBOL || ((LA344_2536 >= SHIFT_LEFT_OPERATOR) && (LA344_2536 <= SHIFT_RIGHT_OPERATOR)) || LA344_2536 == SINGLE_QUOTED_TEXT || LA344_2536 == STRAIGHT_JOIN_SYMBOL || LA344_2536 == UNION_SYMBOL || LA344_2536 == USING_SYMBOL || LA344_2536 == WHERE_SYMBOL || LA344_2536 == WITH_SYMBOL || LA344_2536 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2536;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1904 >= ASCII_SYMBOL) && (LA344_1904 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2537 = LA(4);
                                        if ( (LA344_2537 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11802 = LA(5);
                                                if ( (LA344_11802 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11802 >= ASCII_SYMBOL) && (LA344_11802 <= YEAR_SYMBOL)) || LA344_11802 == BACK_TICK_QUOTED_ID || LA344_11802 == DOUBLE_QUOTED_TEXT || LA344_11802 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11802;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2537 == EOF || ((LA344_2537 >= ASCII_SYMBOL) && (LA344_2537 <= YEAR_SYMBOL)) || LA344_2537 == AND_SYMBOL || LA344_2537 == AS_SYMBOL || LA344_2537 == BACK_TICK_QUOTED_ID || LA344_2537 == BETWEEN_SYMBOL || LA344_2537 == BITWISE_AND_OPERATOR || ((LA344_2537 >= BITWISE_OR_OPERATOR) && (LA344_2537 <= BITWISE_XOR_OPERATOR)) || ((LA344_2537 >= CLOSE_CURLY_SYMBOL) && (LA344_2537 <= COLLATE_SYMBOL)) || LA344_2537 == COMMA_SYMBOL || LA344_2537 == CONCAT_PIPES_SYMBOL || LA344_2537 == CROSS_SYMBOL || ((LA344_2537 >= DIV_OPERATOR) && (LA344_2537 <= DIV_SYMBOL)) || LA344_2537 == DOUBLE_QUOTED_TEXT || LA344_2537 == EQUAL_OPERATOR || LA344_2537 == FOR_SYMBOL || LA344_2537 == FROM_SYMBOL || ((LA344_2537 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2537 <= GREATER_THAN_OPERATOR)) || ((LA344_2537 >= GROUP_SYMBOL) && (LA344_2537 <= HAVING_SYMBOL)) || LA344_2537 == IDENTIFIER || LA344_2537 == INNER_SYMBOL || LA344_2537 == INTO_SYMBOL || LA344_2537 == IN_SYMBOL || LA344_2537 == IS_SYMBOL || LA344_2537 == JOIN_SYMBOL || ((LA344_2537 >= LEFT_SYMBOL) && (LA344_2537 <= LESS_THAN_OPERATOR)) || ((LA344_2537 >= LIKE_SYMBOL) && (LA344_2537 <= LIMIT_SYMBOL)) || LA344_2537 == LOCK_SYMBOL || LA344_2537 == LOGICAL_AND_OPERATOR || LA344_2537 == LOGICAL_OR_OPERATOR || LA344_2537 == MINUS_OPERATOR || ((LA344_2537 >= MOD_OPERATOR) && (LA344_2537 <= MOD_SYMBOL)) || ((LA344_2537 >= MULT_OPERATOR) && (LA344_2537 <= NATURAL_SYMBOL)) || ((LA344_2537 >= NOT_EQUAL2_OPERATOR) && (LA344_2537 <= NOT_SYMBOL)) || LA344_2537 == NULL_SAFE_EQUAL_OPERATOR || LA344_2537 == ON_SYMBOL || LA344_2537 == OPEN_PAR_SYMBOL || ((LA344_2537 >= ORDER_SYMBOL) && (LA344_2537 <= OR_SYMBOL)) || LA344_2537 == PLUS_OPERATOR || LA344_2537 == PROCEDURE_SYMBOL || LA344_2537 == REGEXP_SYMBOL || LA344_2537 == RIGHT_SYMBOL || LA344_2537 == SEMICOLON_SYMBOL || LA344_2537 == SET_SYMBOL || ((LA344_2537 >= SHIFT_LEFT_OPERATOR) && (LA344_2537 <= SHIFT_RIGHT_OPERATOR)) || LA344_2537 == SINGLE_QUOTED_TEXT || LA344_2537 == STRAIGHT_JOIN_SYMBOL || LA344_2537 == UNION_SYMBOL || LA344_2537 == USING_SYMBOL || LA344_2537 == WHERE_SYMBOL || LA344_2537 == WITH_SYMBOL || LA344_2537 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2537;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1904;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_70 == EOF || ((LA344_70 >= ASCII_SYMBOL) && (LA344_70 <= YEAR_SYMBOL)) || LA344_70 == AND_SYMBOL || LA344_70 == AS_SYMBOL || LA344_70 == BACK_TICK_QUOTED_ID || LA344_70 == BETWEEN_SYMBOL || LA344_70 == BITWISE_AND_OPERATOR || ((LA344_70 >= BITWISE_OR_OPERATOR) && (LA344_70 <= BITWISE_XOR_OPERATOR)) || ((LA344_70 >= CLOSE_CURLY_SYMBOL) && (LA344_70 <= COLLATE_SYMBOL)) || LA344_70 == COMMA_SYMBOL || LA344_70 == CONCAT_PIPES_SYMBOL || LA344_70 == CROSS_SYMBOL || ((LA344_70 >= DIV_OPERATOR) && (LA344_70 <= DIV_SYMBOL)) || LA344_70 == DOUBLE_QUOTED_TEXT || LA344_70 == EQUAL_OPERATOR || LA344_70 == FOR_SYMBOL || LA344_70 == FROM_SYMBOL || ((LA344_70 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_70 <= GREATER_THAN_OPERATOR)) || ((LA344_70 >= GROUP_SYMBOL) && (LA344_70 <= HAVING_SYMBOL)) || LA344_70 == IDENTIFIER || LA344_70 == INNER_SYMBOL || LA344_70 == INTO_SYMBOL || LA344_70 == IN_SYMBOL || LA344_70 == IS_SYMBOL || LA344_70 == JOIN_SYMBOL || ((LA344_70 >= LEFT_SYMBOL) && (LA344_70 <= LESS_THAN_OPERATOR)) || ((LA344_70 >= LIKE_SYMBOL) && (LA344_70 <= LIMIT_SYMBOL)) || LA344_70 == LOCK_SYMBOL || LA344_70 == LOGICAL_AND_OPERATOR || LA344_70 == LOGICAL_OR_OPERATOR || LA344_70 == MINUS_OPERATOR || ((LA344_70 >= MOD_OPERATOR) && (LA344_70 <= MOD_SYMBOL)) || ((LA344_70 >= MULT_OPERATOR) && (LA344_70 <= NATURAL_SYMBOL)) || ((LA344_70 >= NOT_EQUAL2_OPERATOR) && (LA344_70 <= NOT_SYMBOL)) || LA344_70 == NULL_SAFE_EQUAL_OPERATOR || LA344_70 == ON_SYMBOL || LA344_70 == OPEN_PAR_SYMBOL || ((LA344_70 >= ORDER_SYMBOL) && (LA344_70 <= OR_SYMBOL)) || LA344_70 == PLUS_OPERATOR || LA344_70 == PROCEDURE_SYMBOL || LA344_70 == REGEXP_SYMBOL || LA344_70 == RIGHT_SYMBOL || LA344_70 == SEMICOLON_SYMBOL || LA344_70 == SET_SYMBOL || ((LA344_70 >= SHIFT_LEFT_OPERATOR) && (LA344_70 <= SHIFT_RIGHT_OPERATOR)) || LA344_70 == SINGLE_QUOTED_TEXT || LA344_70 == STRAIGHT_JOIN_SYMBOL || LA344_70 == UNION_SYMBOL || LA344_70 == USING_SYMBOL || LA344_70 == WHERE_SYMBOL || LA344_70 == WITH_SYMBOL || LA344_70 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 70;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == MULTIPOINT_SYMBOL))
                {
                    {
                        int LA344_71 = LA(2);
                        if ( (LA344_71 == DOT_SYMBOL))
                        {
                            {
                                int LA344_1957 = LA(3);
                                if ( (LA344_1957 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_1957 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2539 = LA(4);
                                        if ( (LA344_2539 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11855 = LA(5);
                                                if ( (LA344_11855 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11855 >= ASCII_SYMBOL) && (LA344_11855 <= YEAR_SYMBOL)) || LA344_11855 == BACK_TICK_QUOTED_ID || LA344_11855 == DOUBLE_QUOTED_TEXT || LA344_11855 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11855;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2539 == EOF || ((LA344_2539 >= ASCII_SYMBOL) && (LA344_2539 <= YEAR_SYMBOL)) || LA344_2539 == AND_SYMBOL || LA344_2539 == AS_SYMBOL || LA344_2539 == BACK_TICK_QUOTED_ID || LA344_2539 == BETWEEN_SYMBOL || LA344_2539 == BITWISE_AND_OPERATOR || ((LA344_2539 >= BITWISE_OR_OPERATOR) && (LA344_2539 <= BITWISE_XOR_OPERATOR)) || ((LA344_2539 >= CLOSE_CURLY_SYMBOL) && (LA344_2539 <= COLLATE_SYMBOL)) || LA344_2539 == COMMA_SYMBOL || LA344_2539 == CONCAT_PIPES_SYMBOL || LA344_2539 == CROSS_SYMBOL || ((LA344_2539 >= DIV_OPERATOR) && (LA344_2539 <= DIV_SYMBOL)) || LA344_2539 == DOUBLE_QUOTED_TEXT || LA344_2539 == EQUAL_OPERATOR || LA344_2539 == FOR_SYMBOL || LA344_2539 == FROM_SYMBOL || ((LA344_2539 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2539 <= GREATER_THAN_OPERATOR)) || ((LA344_2539 >= GROUP_SYMBOL) && (LA344_2539 <= HAVING_SYMBOL)) || LA344_2539 == IDENTIFIER || LA344_2539 == INNER_SYMBOL || LA344_2539 == INTO_SYMBOL || LA344_2539 == IN_SYMBOL || LA344_2539 == IS_SYMBOL || LA344_2539 == JOIN_SYMBOL || ((LA344_2539 >= LEFT_SYMBOL) && (LA344_2539 <= LESS_THAN_OPERATOR)) || ((LA344_2539 >= LIKE_SYMBOL) && (LA344_2539 <= LIMIT_SYMBOL)) || LA344_2539 == LOCK_SYMBOL || LA344_2539 == LOGICAL_AND_OPERATOR || LA344_2539 == LOGICAL_OR_OPERATOR || LA344_2539 == MINUS_OPERATOR || ((LA344_2539 >= MOD_OPERATOR) && (LA344_2539 <= MOD_SYMBOL)) || ((LA344_2539 >= MULT_OPERATOR) && (LA344_2539 <= NATURAL_SYMBOL)) || ((LA344_2539 >= NOT_EQUAL2_OPERATOR) && (LA344_2539 <= NOT_SYMBOL)) || LA344_2539 == NULL_SAFE_EQUAL_OPERATOR || LA344_2539 == ON_SYMBOL || LA344_2539 == OPEN_PAR_SYMBOL || ((LA344_2539 >= ORDER_SYMBOL) && (LA344_2539 <= OR_SYMBOL)) || LA344_2539 == PLUS_OPERATOR || LA344_2539 == PROCEDURE_SYMBOL || LA344_2539 == REGEXP_SYMBOL || LA344_2539 == RIGHT_SYMBOL || LA344_2539 == SEMICOLON_SYMBOL || LA344_2539 == SET_SYMBOL || ((LA344_2539 >= SHIFT_LEFT_OPERATOR) && (LA344_2539 <= SHIFT_RIGHT_OPERATOR)) || LA344_2539 == SINGLE_QUOTED_TEXT || LA344_2539 == STRAIGHT_JOIN_SYMBOL || LA344_2539 == UNION_SYMBOL || LA344_2539 == USING_SYMBOL || LA344_2539 == WHERE_SYMBOL || LA344_2539 == WITH_SYMBOL || LA344_2539 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2539;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1957 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2540 = LA(4);
                                        if ( (LA344_2540 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11908 = LA(5);
                                                if ( (LA344_11908 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11908 >= ASCII_SYMBOL) && (LA344_11908 <= YEAR_SYMBOL)) || LA344_11908 == BACK_TICK_QUOTED_ID || LA344_11908 == DOUBLE_QUOTED_TEXT || LA344_11908 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11908;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2540 == EOF || ((LA344_2540 >= ASCII_SYMBOL) && (LA344_2540 <= YEAR_SYMBOL)) || LA344_2540 == AND_SYMBOL || LA344_2540 == AS_SYMBOL || LA344_2540 == BACK_TICK_QUOTED_ID || LA344_2540 == BETWEEN_SYMBOL || LA344_2540 == BITWISE_AND_OPERATOR || ((LA344_2540 >= BITWISE_OR_OPERATOR) && (LA344_2540 <= BITWISE_XOR_OPERATOR)) || ((LA344_2540 >= CLOSE_CURLY_SYMBOL) && (LA344_2540 <= COLLATE_SYMBOL)) || LA344_2540 == COMMA_SYMBOL || LA344_2540 == CONCAT_PIPES_SYMBOL || LA344_2540 == CROSS_SYMBOL || ((LA344_2540 >= DIV_OPERATOR) && (LA344_2540 <= DIV_SYMBOL)) || LA344_2540 == DOUBLE_QUOTED_TEXT || LA344_2540 == EQUAL_OPERATOR || LA344_2540 == FOR_SYMBOL || LA344_2540 == FROM_SYMBOL || ((LA344_2540 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2540 <= GREATER_THAN_OPERATOR)) || ((LA344_2540 >= GROUP_SYMBOL) && (LA344_2540 <= HAVING_SYMBOL)) || LA344_2540 == IDENTIFIER || LA344_2540 == INNER_SYMBOL || LA344_2540 == INTO_SYMBOL || LA344_2540 == IN_SYMBOL || LA344_2540 == IS_SYMBOL || LA344_2540 == JOIN_SYMBOL || ((LA344_2540 >= LEFT_SYMBOL) && (LA344_2540 <= LESS_THAN_OPERATOR)) || ((LA344_2540 >= LIKE_SYMBOL) && (LA344_2540 <= LIMIT_SYMBOL)) || LA344_2540 == LOCK_SYMBOL || LA344_2540 == LOGICAL_AND_OPERATOR || LA344_2540 == LOGICAL_OR_OPERATOR || LA344_2540 == MINUS_OPERATOR || ((LA344_2540 >= MOD_OPERATOR) && (LA344_2540 <= MOD_SYMBOL)) || ((LA344_2540 >= MULT_OPERATOR) && (LA344_2540 <= NATURAL_SYMBOL)) || ((LA344_2540 >= NOT_EQUAL2_OPERATOR) && (LA344_2540 <= NOT_SYMBOL)) || LA344_2540 == NULL_SAFE_EQUAL_OPERATOR || LA344_2540 == ON_SYMBOL || LA344_2540 == OPEN_PAR_SYMBOL || ((LA344_2540 >= ORDER_SYMBOL) && (LA344_2540 <= OR_SYMBOL)) || LA344_2540 == PLUS_OPERATOR || LA344_2540 == PROCEDURE_SYMBOL || LA344_2540 == REGEXP_SYMBOL || LA344_2540 == RIGHT_SYMBOL || LA344_2540 == SEMICOLON_SYMBOL || LA344_2540 == SET_SYMBOL || ((LA344_2540 >= SHIFT_LEFT_OPERATOR) && (LA344_2540 <= SHIFT_RIGHT_OPERATOR)) || LA344_2540 == SINGLE_QUOTED_TEXT || LA344_2540 == STRAIGHT_JOIN_SYMBOL || LA344_2540 == UNION_SYMBOL || LA344_2540 == USING_SYMBOL || LA344_2540 == WHERE_SYMBOL || LA344_2540 == WITH_SYMBOL || LA344_2540 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2540;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_1957 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2541 = LA(4);
                                        if ( (LA344_2541 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_11961 = LA(5);
                                                if ( (LA344_11961 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_11961 >= ASCII_SYMBOL) && (LA344_11961 <= YEAR_SYMBOL)) || LA344_11961 == BACK_TICK_QUOTED_ID || LA344_11961 == DOUBLE_QUOTED_TEXT || LA344_11961 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 11961;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2541 == EOF || ((LA344_2541 >= ASCII_SYMBOL) && (LA344_2541 <= YEAR_SYMBOL)) || LA344_2541 == AND_SYMBOL || LA344_2541 == AS_SYMBOL || LA344_2541 == BACK_TICK_QUOTED_ID || LA344_2541 == BETWEEN_SYMBOL || LA344_2541 == BITWISE_AND_OPERATOR || ((LA344_2541 >= BITWISE_OR_OPERATOR) && (LA344_2541 <= BITWISE_XOR_OPERATOR)) || ((LA344_2541 >= CLOSE_CURLY_SYMBOL) && (LA344_2541 <= COLLATE_SYMBOL)) || LA344_2541 == COMMA_SYMBOL || LA344_2541 == CONCAT_PIPES_SYMBOL || LA344_2541 == CROSS_SYMBOL || ((LA344_2541 >= DIV_OPERATOR) && (LA344_2541 <= DIV_SYMBOL)) || LA344_2541 == DOUBLE_QUOTED_TEXT || LA344_2541 == EQUAL_OPERATOR || LA344_2541 == FOR_SYMBOL || LA344_2541 == FROM_SYMBOL || ((LA344_2541 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2541 <= GREATER_THAN_OPERATOR)) || ((LA344_2541 >= GROUP_SYMBOL) && (LA344_2541 <= HAVING_SYMBOL)) || LA344_2541 == IDENTIFIER || LA344_2541 == INNER_SYMBOL || LA344_2541 == INTO_SYMBOL || LA344_2541 == IN_SYMBOL || LA344_2541 == IS_SYMBOL || LA344_2541 == JOIN_SYMBOL || ((LA344_2541 >= LEFT_SYMBOL) && (LA344_2541 <= LESS_THAN_OPERATOR)) || ((LA344_2541 >= LIKE_SYMBOL) && (LA344_2541 <= LIMIT_SYMBOL)) || LA344_2541 == LOCK_SYMBOL || LA344_2541 == LOGICAL_AND_OPERATOR || LA344_2541 == LOGICAL_OR_OPERATOR || LA344_2541 == MINUS_OPERATOR || ((LA344_2541 >= MOD_OPERATOR) && (LA344_2541 <= MOD_SYMBOL)) || ((LA344_2541 >= MULT_OPERATOR) && (LA344_2541 <= NATURAL_SYMBOL)) || ((LA344_2541 >= NOT_EQUAL2_OPERATOR) && (LA344_2541 <= NOT_SYMBOL)) || LA344_2541 == NULL_SAFE_EQUAL_OPERATOR || LA344_2541 == ON_SYMBOL || LA344_2541 == OPEN_PAR_SYMBOL || ((LA344_2541 >= ORDER_SYMBOL) && (LA344_2541 <= OR_SYMBOL)) || LA344_2541 == PLUS_OPERATOR || LA344_2541 == PROCEDURE_SYMBOL || LA344_2541 == REGEXP_SYMBOL || LA344_2541 == RIGHT_SYMBOL || LA344_2541 == SEMICOLON_SYMBOL || LA344_2541 == SET_SYMBOL || ((LA344_2541 >= SHIFT_LEFT_OPERATOR) && (LA344_2541 <= SHIFT_RIGHT_OPERATOR)) || LA344_2541 == SINGLE_QUOTED_TEXT || LA344_2541 == STRAIGHT_JOIN_SYMBOL || LA344_2541 == UNION_SYMBOL || LA344_2541 == USING_SYMBOL || LA344_2541 == WHERE_SYMBOL || LA344_2541 == WITH_SYMBOL || LA344_2541 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2541;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1957 >= ACTION_SYMBOL) && (LA344_1957 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2542 = LA(4);
                                        if ( (LA344_2542 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12014 = LA(5);
                                                if ( (LA344_12014 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12014 >= ASCII_SYMBOL) && (LA344_12014 <= YEAR_SYMBOL)) || LA344_12014 == BACK_TICK_QUOTED_ID || LA344_12014 == DOUBLE_QUOTED_TEXT || LA344_12014 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12014;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2542 == EOF || ((LA344_2542 >= ASCII_SYMBOL) && (LA344_2542 <= YEAR_SYMBOL)) || LA344_2542 == AND_SYMBOL || LA344_2542 == AS_SYMBOL || LA344_2542 == BACK_TICK_QUOTED_ID || LA344_2542 == BETWEEN_SYMBOL || LA344_2542 == BITWISE_AND_OPERATOR || ((LA344_2542 >= BITWISE_OR_OPERATOR) && (LA344_2542 <= BITWISE_XOR_OPERATOR)) || ((LA344_2542 >= CLOSE_CURLY_SYMBOL) && (LA344_2542 <= COLLATE_SYMBOL)) || LA344_2542 == COMMA_SYMBOL || LA344_2542 == CONCAT_PIPES_SYMBOL || LA344_2542 == CROSS_SYMBOL || ((LA344_2542 >= DIV_OPERATOR) && (LA344_2542 <= DIV_SYMBOL)) || LA344_2542 == DOUBLE_QUOTED_TEXT || LA344_2542 == EQUAL_OPERATOR || LA344_2542 == FOR_SYMBOL || LA344_2542 == FROM_SYMBOL || ((LA344_2542 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2542 <= GREATER_THAN_OPERATOR)) || ((LA344_2542 >= GROUP_SYMBOL) && (LA344_2542 <= HAVING_SYMBOL)) || LA344_2542 == IDENTIFIER || LA344_2542 == INNER_SYMBOL || LA344_2542 == INTO_SYMBOL || LA344_2542 == IN_SYMBOL || LA344_2542 == IS_SYMBOL || LA344_2542 == JOIN_SYMBOL || ((LA344_2542 >= LEFT_SYMBOL) && (LA344_2542 <= LESS_THAN_OPERATOR)) || ((LA344_2542 >= LIKE_SYMBOL) && (LA344_2542 <= LIMIT_SYMBOL)) || LA344_2542 == LOCK_SYMBOL || LA344_2542 == LOGICAL_AND_OPERATOR || LA344_2542 == LOGICAL_OR_OPERATOR || LA344_2542 == MINUS_OPERATOR || ((LA344_2542 >= MOD_OPERATOR) && (LA344_2542 <= MOD_SYMBOL)) || ((LA344_2542 >= MULT_OPERATOR) && (LA344_2542 <= NATURAL_SYMBOL)) || ((LA344_2542 >= NOT_EQUAL2_OPERATOR) && (LA344_2542 <= NOT_SYMBOL)) || LA344_2542 == NULL_SAFE_EQUAL_OPERATOR || LA344_2542 == ON_SYMBOL || LA344_2542 == OPEN_PAR_SYMBOL || ((LA344_2542 >= ORDER_SYMBOL) && (LA344_2542 <= OR_SYMBOL)) || LA344_2542 == PLUS_OPERATOR || LA344_2542 == PROCEDURE_SYMBOL || LA344_2542 == REGEXP_SYMBOL || LA344_2542 == RIGHT_SYMBOL || LA344_2542 == SEMICOLON_SYMBOL || LA344_2542 == SET_SYMBOL || ((LA344_2542 >= SHIFT_LEFT_OPERATOR) && (LA344_2542 <= SHIFT_RIGHT_OPERATOR)) || LA344_2542 == SINGLE_QUOTED_TEXT || LA344_2542 == STRAIGHT_JOIN_SYMBOL || LA344_2542 == UNION_SYMBOL || LA344_2542 == USING_SYMBOL || LA344_2542 == WHERE_SYMBOL || LA344_2542 == WITH_SYMBOL || LA344_2542 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2542;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_1957 >= ASCII_SYMBOL) && (LA344_1957 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2543 = LA(4);
                                        if ( (LA344_2543 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12067 = LA(5);
                                                if ( (LA344_12067 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12067 >= ASCII_SYMBOL) && (LA344_12067 <= YEAR_SYMBOL)) || LA344_12067 == BACK_TICK_QUOTED_ID || LA344_12067 == DOUBLE_QUOTED_TEXT || LA344_12067 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12067;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2543 == EOF || ((LA344_2543 >= ASCII_SYMBOL) && (LA344_2543 <= YEAR_SYMBOL)) || LA344_2543 == AND_SYMBOL || LA344_2543 == AS_SYMBOL || LA344_2543 == BACK_TICK_QUOTED_ID || LA344_2543 == BETWEEN_SYMBOL || LA344_2543 == BITWISE_AND_OPERATOR || ((LA344_2543 >= BITWISE_OR_OPERATOR) && (LA344_2543 <= BITWISE_XOR_OPERATOR)) || ((LA344_2543 >= CLOSE_CURLY_SYMBOL) && (LA344_2543 <= COLLATE_SYMBOL)) || LA344_2543 == COMMA_SYMBOL || LA344_2543 == CONCAT_PIPES_SYMBOL || LA344_2543 == CROSS_SYMBOL || ((LA344_2543 >= DIV_OPERATOR) && (LA344_2543 <= DIV_SYMBOL)) || LA344_2543 == DOUBLE_QUOTED_TEXT || LA344_2543 == EQUAL_OPERATOR || LA344_2543 == FOR_SYMBOL || LA344_2543 == FROM_SYMBOL || ((LA344_2543 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2543 <= GREATER_THAN_OPERATOR)) || ((LA344_2543 >= GROUP_SYMBOL) && (LA344_2543 <= HAVING_SYMBOL)) || LA344_2543 == IDENTIFIER || LA344_2543 == INNER_SYMBOL || LA344_2543 == INTO_SYMBOL || LA344_2543 == IN_SYMBOL || LA344_2543 == IS_SYMBOL || LA344_2543 == JOIN_SYMBOL || ((LA344_2543 >= LEFT_SYMBOL) && (LA344_2543 <= LESS_THAN_OPERATOR)) || ((LA344_2543 >= LIKE_SYMBOL) && (LA344_2543 <= LIMIT_SYMBOL)) || LA344_2543 == LOCK_SYMBOL || LA344_2543 == LOGICAL_AND_OPERATOR || LA344_2543 == LOGICAL_OR_OPERATOR || LA344_2543 == MINUS_OPERATOR || ((LA344_2543 >= MOD_OPERATOR) && (LA344_2543 <= MOD_SYMBOL)) || ((LA344_2543 >= MULT_OPERATOR) && (LA344_2543 <= NATURAL_SYMBOL)) || ((LA344_2543 >= NOT_EQUAL2_OPERATOR) && (LA344_2543 <= NOT_SYMBOL)) || LA344_2543 == NULL_SAFE_EQUAL_OPERATOR || LA344_2543 == ON_SYMBOL || LA344_2543 == OPEN_PAR_SYMBOL || ((LA344_2543 >= ORDER_SYMBOL) && (LA344_2543 <= OR_SYMBOL)) || LA344_2543 == PLUS_OPERATOR || LA344_2543 == PROCEDURE_SYMBOL || LA344_2543 == REGEXP_SYMBOL || LA344_2543 == RIGHT_SYMBOL || LA344_2543 == SEMICOLON_SYMBOL || LA344_2543 == SET_SYMBOL || ((LA344_2543 >= SHIFT_LEFT_OPERATOR) && (LA344_2543 <= SHIFT_RIGHT_OPERATOR)) || LA344_2543 == SINGLE_QUOTED_TEXT || LA344_2543 == STRAIGHT_JOIN_SYMBOL || LA344_2543 == UNION_SYMBOL || LA344_2543 == USING_SYMBOL || LA344_2543 == WHERE_SYMBOL || LA344_2543 == WITH_SYMBOL || LA344_2543 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2543;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 1957;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_71 == EOF || ((LA344_71 >= ASCII_SYMBOL) && (LA344_71 <= YEAR_SYMBOL)) || LA344_71 == AND_SYMBOL || LA344_71 == AS_SYMBOL || LA344_71 == BACK_TICK_QUOTED_ID || LA344_71 == BETWEEN_SYMBOL || LA344_71 == BITWISE_AND_OPERATOR || ((LA344_71 >= BITWISE_OR_OPERATOR) && (LA344_71 <= BITWISE_XOR_OPERATOR)) || ((LA344_71 >= CLOSE_CURLY_SYMBOL) && (LA344_71 <= COLLATE_SYMBOL)) || LA344_71 == COMMA_SYMBOL || LA344_71 == CONCAT_PIPES_SYMBOL || LA344_71 == CROSS_SYMBOL || ((LA344_71 >= DIV_OPERATOR) && (LA344_71 <= DIV_SYMBOL)) || LA344_71 == DOUBLE_QUOTED_TEXT || LA344_71 == EQUAL_OPERATOR || LA344_71 == FOR_SYMBOL || LA344_71 == FROM_SYMBOL || ((LA344_71 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_71 <= GREATER_THAN_OPERATOR)) || ((LA344_71 >= GROUP_SYMBOL) && (LA344_71 <= HAVING_SYMBOL)) || LA344_71 == IDENTIFIER || LA344_71 == INNER_SYMBOL || LA344_71 == INTO_SYMBOL || LA344_71 == IN_SYMBOL || LA344_71 == IS_SYMBOL || LA344_71 == JOIN_SYMBOL || ((LA344_71 >= LEFT_SYMBOL) && (LA344_71 <= LESS_THAN_OPERATOR)) || ((LA344_71 >= LIKE_SYMBOL) && (LA344_71 <= LIMIT_SYMBOL)) || LA344_71 == LOCK_SYMBOL || LA344_71 == LOGICAL_AND_OPERATOR || LA344_71 == LOGICAL_OR_OPERATOR || LA344_71 == MINUS_OPERATOR || ((LA344_71 >= MOD_OPERATOR) && (LA344_71 <= MOD_SYMBOL)) || ((LA344_71 >= MULT_OPERATOR) && (LA344_71 <= NATURAL_SYMBOL)) || ((LA344_71 >= NOT_EQUAL2_OPERATOR) && (LA344_71 <= NOT_SYMBOL)) || LA344_71 == NULL_SAFE_EQUAL_OPERATOR || LA344_71 == ON_SYMBOL || LA344_71 == OPEN_PAR_SYMBOL || ((LA344_71 >= ORDER_SYMBOL) && (LA344_71 <= OR_SYMBOL)) || LA344_71 == PLUS_OPERATOR || LA344_71 == PROCEDURE_SYMBOL || LA344_71 == REGEXP_SYMBOL || LA344_71 == RIGHT_SYMBOL || LA344_71 == SEMICOLON_SYMBOL || LA344_71 == SET_SYMBOL || ((LA344_71 >= SHIFT_LEFT_OPERATOR) && (LA344_71 <= SHIFT_RIGHT_OPERATOR)) || LA344_71 == SINGLE_QUOTED_TEXT || LA344_71 == STRAIGHT_JOIN_SYMBOL || LA344_71 == UNION_SYMBOL || LA344_71 == USING_SYMBOL || LA344_71 == WHERE_SYMBOL || LA344_71 == WITH_SYMBOL || LA344_71 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 71;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == MULTIPOLYGON_SYMBOL))
                {
                    {
                        int LA344_72 = LA(2);
                        if ( (LA344_72 == DOT_SYMBOL))
                        {
                            {
                                int LA344_2010 = LA(3);
                                if ( (LA344_2010 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_2010 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2545 = LA(4);
                                        if ( (LA344_2545 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12120 = LA(5);
                                                if ( (LA344_12120 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12120 >= ASCII_SYMBOL) && (LA344_12120 <= YEAR_SYMBOL)) || LA344_12120 == BACK_TICK_QUOTED_ID || LA344_12120 == DOUBLE_QUOTED_TEXT || LA344_12120 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12120;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2545 == EOF || ((LA344_2545 >= ASCII_SYMBOL) && (LA344_2545 <= YEAR_SYMBOL)) || LA344_2545 == AND_SYMBOL || LA344_2545 == AS_SYMBOL || LA344_2545 == BACK_TICK_QUOTED_ID || LA344_2545 == BETWEEN_SYMBOL || LA344_2545 == BITWISE_AND_OPERATOR || ((LA344_2545 >= BITWISE_OR_OPERATOR) && (LA344_2545 <= BITWISE_XOR_OPERATOR)) || ((LA344_2545 >= CLOSE_CURLY_SYMBOL) && (LA344_2545 <= COLLATE_SYMBOL)) || LA344_2545 == COMMA_SYMBOL || LA344_2545 == CONCAT_PIPES_SYMBOL || LA344_2545 == CROSS_SYMBOL || ((LA344_2545 >= DIV_OPERATOR) && (LA344_2545 <= DIV_SYMBOL)) || LA344_2545 == DOUBLE_QUOTED_TEXT || LA344_2545 == EQUAL_OPERATOR || LA344_2545 == FOR_SYMBOL || LA344_2545 == FROM_SYMBOL || ((LA344_2545 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2545 <= GREATER_THAN_OPERATOR)) || ((LA344_2545 >= GROUP_SYMBOL) && (LA344_2545 <= HAVING_SYMBOL)) || LA344_2545 == IDENTIFIER || LA344_2545 == INNER_SYMBOL || LA344_2545 == INTO_SYMBOL || LA344_2545 == IN_SYMBOL || LA344_2545 == IS_SYMBOL || LA344_2545 == JOIN_SYMBOL || ((LA344_2545 >= LEFT_SYMBOL) && (LA344_2545 <= LESS_THAN_OPERATOR)) || ((LA344_2545 >= LIKE_SYMBOL) && (LA344_2545 <= LIMIT_SYMBOL)) || LA344_2545 == LOCK_SYMBOL || LA344_2545 == LOGICAL_AND_OPERATOR || LA344_2545 == LOGICAL_OR_OPERATOR || LA344_2545 == MINUS_OPERATOR || ((LA344_2545 >= MOD_OPERATOR) && (LA344_2545 <= MOD_SYMBOL)) || ((LA344_2545 >= MULT_OPERATOR) && (LA344_2545 <= NATURAL_SYMBOL)) || ((LA344_2545 >= NOT_EQUAL2_OPERATOR) && (LA344_2545 <= NOT_SYMBOL)) || LA344_2545 == NULL_SAFE_EQUAL_OPERATOR || LA344_2545 == ON_SYMBOL || LA344_2545 == OPEN_PAR_SYMBOL || ((LA344_2545 >= ORDER_SYMBOL) && (LA344_2545 <= OR_SYMBOL)) || LA344_2545 == PLUS_OPERATOR || LA344_2545 == PROCEDURE_SYMBOL || LA344_2545 == REGEXP_SYMBOL || LA344_2545 == RIGHT_SYMBOL || LA344_2545 == SEMICOLON_SYMBOL || LA344_2545 == SET_SYMBOL || ((LA344_2545 >= SHIFT_LEFT_OPERATOR) && (LA344_2545 <= SHIFT_RIGHT_OPERATOR)) || LA344_2545 == SINGLE_QUOTED_TEXT || LA344_2545 == STRAIGHT_JOIN_SYMBOL || LA344_2545 == UNION_SYMBOL || LA344_2545 == USING_SYMBOL || LA344_2545 == WHERE_SYMBOL || LA344_2545 == WITH_SYMBOL || LA344_2545 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2545;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2010 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2546 = LA(4);
                                        if ( (LA344_2546 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12173 = LA(5);
                                                if ( (LA344_12173 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12173 >= ASCII_SYMBOL) && (LA344_12173 <= YEAR_SYMBOL)) || LA344_12173 == BACK_TICK_QUOTED_ID || LA344_12173 == DOUBLE_QUOTED_TEXT || LA344_12173 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12173;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2546 == EOF || ((LA344_2546 >= ASCII_SYMBOL) && (LA344_2546 <= YEAR_SYMBOL)) || LA344_2546 == AND_SYMBOL || LA344_2546 == AS_SYMBOL || LA344_2546 == BACK_TICK_QUOTED_ID || LA344_2546 == BETWEEN_SYMBOL || LA344_2546 == BITWISE_AND_OPERATOR || ((LA344_2546 >= BITWISE_OR_OPERATOR) && (LA344_2546 <= BITWISE_XOR_OPERATOR)) || ((LA344_2546 >= CLOSE_CURLY_SYMBOL) && (LA344_2546 <= COLLATE_SYMBOL)) || LA344_2546 == COMMA_SYMBOL || LA344_2546 == CONCAT_PIPES_SYMBOL || LA344_2546 == CROSS_SYMBOL || ((LA344_2546 >= DIV_OPERATOR) && (LA344_2546 <= DIV_SYMBOL)) || LA344_2546 == DOUBLE_QUOTED_TEXT || LA344_2546 == EQUAL_OPERATOR || LA344_2546 == FOR_SYMBOL || LA344_2546 == FROM_SYMBOL || ((LA344_2546 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2546 <= GREATER_THAN_OPERATOR)) || ((LA344_2546 >= GROUP_SYMBOL) && (LA344_2546 <= HAVING_SYMBOL)) || LA344_2546 == IDENTIFIER || LA344_2546 == INNER_SYMBOL || LA344_2546 == INTO_SYMBOL || LA344_2546 == IN_SYMBOL || LA344_2546 == IS_SYMBOL || LA344_2546 == JOIN_SYMBOL || ((LA344_2546 >= LEFT_SYMBOL) && (LA344_2546 <= LESS_THAN_OPERATOR)) || ((LA344_2546 >= LIKE_SYMBOL) && (LA344_2546 <= LIMIT_SYMBOL)) || LA344_2546 == LOCK_SYMBOL || LA344_2546 == LOGICAL_AND_OPERATOR || LA344_2546 == LOGICAL_OR_OPERATOR || LA344_2546 == MINUS_OPERATOR || ((LA344_2546 >= MOD_OPERATOR) && (LA344_2546 <= MOD_SYMBOL)) || ((LA344_2546 >= MULT_OPERATOR) && (LA344_2546 <= NATURAL_SYMBOL)) || ((LA344_2546 >= NOT_EQUAL2_OPERATOR) && (LA344_2546 <= NOT_SYMBOL)) || LA344_2546 == NULL_SAFE_EQUAL_OPERATOR || LA344_2546 == ON_SYMBOL || LA344_2546 == OPEN_PAR_SYMBOL || ((LA344_2546 >= ORDER_SYMBOL) && (LA344_2546 <= OR_SYMBOL)) || LA344_2546 == PLUS_OPERATOR || LA344_2546 == PROCEDURE_SYMBOL || LA344_2546 == REGEXP_SYMBOL || LA344_2546 == RIGHT_SYMBOL || LA344_2546 == SEMICOLON_SYMBOL || LA344_2546 == SET_SYMBOL || ((LA344_2546 >= SHIFT_LEFT_OPERATOR) && (LA344_2546 <= SHIFT_RIGHT_OPERATOR)) || LA344_2546 == SINGLE_QUOTED_TEXT || LA344_2546 == STRAIGHT_JOIN_SYMBOL || LA344_2546 == UNION_SYMBOL || LA344_2546 == USING_SYMBOL || LA344_2546 == WHERE_SYMBOL || LA344_2546 == WITH_SYMBOL || LA344_2546 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2546;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2010 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2547 = LA(4);
                                        if ( (LA344_2547 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12226 = LA(5);
                                                if ( (LA344_12226 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12226 >= ASCII_SYMBOL) && (LA344_12226 <= YEAR_SYMBOL)) || LA344_12226 == BACK_TICK_QUOTED_ID || LA344_12226 == DOUBLE_QUOTED_TEXT || LA344_12226 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12226;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2547 == EOF || ((LA344_2547 >= ASCII_SYMBOL) && (LA344_2547 <= YEAR_SYMBOL)) || LA344_2547 == AND_SYMBOL || LA344_2547 == AS_SYMBOL || LA344_2547 == BACK_TICK_QUOTED_ID || LA344_2547 == BETWEEN_SYMBOL || LA344_2547 == BITWISE_AND_OPERATOR || ((LA344_2547 >= BITWISE_OR_OPERATOR) && (LA344_2547 <= BITWISE_XOR_OPERATOR)) || ((LA344_2547 >= CLOSE_CURLY_SYMBOL) && (LA344_2547 <= COLLATE_SYMBOL)) || LA344_2547 == COMMA_SYMBOL || LA344_2547 == CONCAT_PIPES_SYMBOL || LA344_2547 == CROSS_SYMBOL || ((LA344_2547 >= DIV_OPERATOR) && (LA344_2547 <= DIV_SYMBOL)) || LA344_2547 == DOUBLE_QUOTED_TEXT || LA344_2547 == EQUAL_OPERATOR || LA344_2547 == FOR_SYMBOL || LA344_2547 == FROM_SYMBOL || ((LA344_2547 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2547 <= GREATER_THAN_OPERATOR)) || ((LA344_2547 >= GROUP_SYMBOL) && (LA344_2547 <= HAVING_SYMBOL)) || LA344_2547 == IDENTIFIER || LA344_2547 == INNER_SYMBOL || LA344_2547 == INTO_SYMBOL || LA344_2547 == IN_SYMBOL || LA344_2547 == IS_SYMBOL || LA344_2547 == JOIN_SYMBOL || ((LA344_2547 >= LEFT_SYMBOL) && (LA344_2547 <= LESS_THAN_OPERATOR)) || ((LA344_2547 >= LIKE_SYMBOL) && (LA344_2547 <= LIMIT_SYMBOL)) || LA344_2547 == LOCK_SYMBOL || LA344_2547 == LOGICAL_AND_OPERATOR || LA344_2547 == LOGICAL_OR_OPERATOR || LA344_2547 == MINUS_OPERATOR || ((LA344_2547 >= MOD_OPERATOR) && (LA344_2547 <= MOD_SYMBOL)) || ((LA344_2547 >= MULT_OPERATOR) && (LA344_2547 <= NATURAL_SYMBOL)) || ((LA344_2547 >= NOT_EQUAL2_OPERATOR) && (LA344_2547 <= NOT_SYMBOL)) || LA344_2547 == NULL_SAFE_EQUAL_OPERATOR || LA344_2547 == ON_SYMBOL || LA344_2547 == OPEN_PAR_SYMBOL || ((LA344_2547 >= ORDER_SYMBOL) && (LA344_2547 <= OR_SYMBOL)) || LA344_2547 == PLUS_OPERATOR || LA344_2547 == PROCEDURE_SYMBOL || LA344_2547 == REGEXP_SYMBOL || LA344_2547 == RIGHT_SYMBOL || LA344_2547 == SEMICOLON_SYMBOL || LA344_2547 == SET_SYMBOL || ((LA344_2547 >= SHIFT_LEFT_OPERATOR) && (LA344_2547 <= SHIFT_RIGHT_OPERATOR)) || LA344_2547 == SINGLE_QUOTED_TEXT || LA344_2547 == STRAIGHT_JOIN_SYMBOL || LA344_2547 == UNION_SYMBOL || LA344_2547 == USING_SYMBOL || LA344_2547 == WHERE_SYMBOL || LA344_2547 == WITH_SYMBOL || LA344_2547 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2547;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2010 >= ACTION_SYMBOL) && (LA344_2010 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2548 = LA(4);
                                        if ( (LA344_2548 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12279 = LA(5);
                                                if ( (LA344_12279 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12279 >= ASCII_SYMBOL) && (LA344_12279 <= YEAR_SYMBOL)) || LA344_12279 == BACK_TICK_QUOTED_ID || LA344_12279 == DOUBLE_QUOTED_TEXT || LA344_12279 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12279;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2548 == EOF || ((LA344_2548 >= ASCII_SYMBOL) && (LA344_2548 <= YEAR_SYMBOL)) || LA344_2548 == AND_SYMBOL || LA344_2548 == AS_SYMBOL || LA344_2548 == BACK_TICK_QUOTED_ID || LA344_2548 == BETWEEN_SYMBOL || LA344_2548 == BITWISE_AND_OPERATOR || ((LA344_2548 >= BITWISE_OR_OPERATOR) && (LA344_2548 <= BITWISE_XOR_OPERATOR)) || ((LA344_2548 >= CLOSE_CURLY_SYMBOL) && (LA344_2548 <= COLLATE_SYMBOL)) || LA344_2548 == COMMA_SYMBOL || LA344_2548 == CONCAT_PIPES_SYMBOL || LA344_2548 == CROSS_SYMBOL || ((LA344_2548 >= DIV_OPERATOR) && (LA344_2548 <= DIV_SYMBOL)) || LA344_2548 == DOUBLE_QUOTED_TEXT || LA344_2548 == EQUAL_OPERATOR || LA344_2548 == FOR_SYMBOL || LA344_2548 == FROM_SYMBOL || ((LA344_2548 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2548 <= GREATER_THAN_OPERATOR)) || ((LA344_2548 >= GROUP_SYMBOL) && (LA344_2548 <= HAVING_SYMBOL)) || LA344_2548 == IDENTIFIER || LA344_2548 == INNER_SYMBOL || LA344_2548 == INTO_SYMBOL || LA344_2548 == IN_SYMBOL || LA344_2548 == IS_SYMBOL || LA344_2548 == JOIN_SYMBOL || ((LA344_2548 >= LEFT_SYMBOL) && (LA344_2548 <= LESS_THAN_OPERATOR)) || ((LA344_2548 >= LIKE_SYMBOL) && (LA344_2548 <= LIMIT_SYMBOL)) || LA344_2548 == LOCK_SYMBOL || LA344_2548 == LOGICAL_AND_OPERATOR || LA344_2548 == LOGICAL_OR_OPERATOR || LA344_2548 == MINUS_OPERATOR || ((LA344_2548 >= MOD_OPERATOR) && (LA344_2548 <= MOD_SYMBOL)) || ((LA344_2548 >= MULT_OPERATOR) && (LA344_2548 <= NATURAL_SYMBOL)) || ((LA344_2548 >= NOT_EQUAL2_OPERATOR) && (LA344_2548 <= NOT_SYMBOL)) || LA344_2548 == NULL_SAFE_EQUAL_OPERATOR || LA344_2548 == ON_SYMBOL || LA344_2548 == OPEN_PAR_SYMBOL || ((LA344_2548 >= ORDER_SYMBOL) && (LA344_2548 <= OR_SYMBOL)) || LA344_2548 == PLUS_OPERATOR || LA344_2548 == PROCEDURE_SYMBOL || LA344_2548 == REGEXP_SYMBOL || LA344_2548 == RIGHT_SYMBOL || LA344_2548 == SEMICOLON_SYMBOL || LA344_2548 == SET_SYMBOL || ((LA344_2548 >= SHIFT_LEFT_OPERATOR) && (LA344_2548 <= SHIFT_RIGHT_OPERATOR)) || LA344_2548 == SINGLE_QUOTED_TEXT || LA344_2548 == STRAIGHT_JOIN_SYMBOL || LA344_2548 == UNION_SYMBOL || LA344_2548 == USING_SYMBOL || LA344_2548 == WHERE_SYMBOL || LA344_2548 == WITH_SYMBOL || LA344_2548 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2548;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2010 >= ASCII_SYMBOL) && (LA344_2010 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2549 = LA(4);
                                        if ( (LA344_2549 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12332 = LA(5);
                                                if ( (LA344_12332 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12332 >= ASCII_SYMBOL) && (LA344_12332 <= YEAR_SYMBOL)) || LA344_12332 == BACK_TICK_QUOTED_ID || LA344_12332 == DOUBLE_QUOTED_TEXT || LA344_12332 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12332;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2549 == EOF || ((LA344_2549 >= ASCII_SYMBOL) && (LA344_2549 <= YEAR_SYMBOL)) || LA344_2549 == AND_SYMBOL || LA344_2549 == AS_SYMBOL || LA344_2549 == BACK_TICK_QUOTED_ID || LA344_2549 == BETWEEN_SYMBOL || LA344_2549 == BITWISE_AND_OPERATOR || ((LA344_2549 >= BITWISE_OR_OPERATOR) && (LA344_2549 <= BITWISE_XOR_OPERATOR)) || ((LA344_2549 >= CLOSE_CURLY_SYMBOL) && (LA344_2549 <= COLLATE_SYMBOL)) || LA344_2549 == COMMA_SYMBOL || LA344_2549 == CONCAT_PIPES_SYMBOL || LA344_2549 == CROSS_SYMBOL || ((LA344_2549 >= DIV_OPERATOR) && (LA344_2549 <= DIV_SYMBOL)) || LA344_2549 == DOUBLE_QUOTED_TEXT || LA344_2549 == EQUAL_OPERATOR || LA344_2549 == FOR_SYMBOL || LA344_2549 == FROM_SYMBOL || ((LA344_2549 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2549 <= GREATER_THAN_OPERATOR)) || ((LA344_2549 >= GROUP_SYMBOL) && (LA344_2549 <= HAVING_SYMBOL)) || LA344_2549 == IDENTIFIER || LA344_2549 == INNER_SYMBOL || LA344_2549 == INTO_SYMBOL || LA344_2549 == IN_SYMBOL || LA344_2549 == IS_SYMBOL || LA344_2549 == JOIN_SYMBOL || ((LA344_2549 >= LEFT_SYMBOL) && (LA344_2549 <= LESS_THAN_OPERATOR)) || ((LA344_2549 >= LIKE_SYMBOL) && (LA344_2549 <= LIMIT_SYMBOL)) || LA344_2549 == LOCK_SYMBOL || LA344_2549 == LOGICAL_AND_OPERATOR || LA344_2549 == LOGICAL_OR_OPERATOR || LA344_2549 == MINUS_OPERATOR || ((LA344_2549 >= MOD_OPERATOR) && (LA344_2549 <= MOD_SYMBOL)) || ((LA344_2549 >= MULT_OPERATOR) && (LA344_2549 <= NATURAL_SYMBOL)) || ((LA344_2549 >= NOT_EQUAL2_OPERATOR) && (LA344_2549 <= NOT_SYMBOL)) || LA344_2549 == NULL_SAFE_EQUAL_OPERATOR || LA344_2549 == ON_SYMBOL || LA344_2549 == OPEN_PAR_SYMBOL || ((LA344_2549 >= ORDER_SYMBOL) && (LA344_2549 <= OR_SYMBOL)) || LA344_2549 == PLUS_OPERATOR || LA344_2549 == PROCEDURE_SYMBOL || LA344_2549 == REGEXP_SYMBOL || LA344_2549 == RIGHT_SYMBOL || LA344_2549 == SEMICOLON_SYMBOL || LA344_2549 == SET_SYMBOL || ((LA344_2549 >= SHIFT_LEFT_OPERATOR) && (LA344_2549 <= SHIFT_RIGHT_OPERATOR)) || LA344_2549 == SINGLE_QUOTED_TEXT || LA344_2549 == STRAIGHT_JOIN_SYMBOL || LA344_2549 == UNION_SYMBOL || LA344_2549 == USING_SYMBOL || LA344_2549 == WHERE_SYMBOL || LA344_2549 == WITH_SYMBOL || LA344_2549 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2549;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 2010;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_72 == EOF || ((LA344_72 >= ASCII_SYMBOL) && (LA344_72 <= YEAR_SYMBOL)) || LA344_72 == AND_SYMBOL || LA344_72 == AS_SYMBOL || LA344_72 == BACK_TICK_QUOTED_ID || LA344_72 == BETWEEN_SYMBOL || LA344_72 == BITWISE_AND_OPERATOR || ((LA344_72 >= BITWISE_OR_OPERATOR) && (LA344_72 <= BITWISE_XOR_OPERATOR)) || ((LA344_72 >= CLOSE_CURLY_SYMBOL) && (LA344_72 <= COLLATE_SYMBOL)) || LA344_72 == COMMA_SYMBOL || LA344_72 == CONCAT_PIPES_SYMBOL || LA344_72 == CROSS_SYMBOL || ((LA344_72 >= DIV_OPERATOR) && (LA344_72 <= DIV_SYMBOL)) || LA344_72 == DOUBLE_QUOTED_TEXT || LA344_72 == EQUAL_OPERATOR || LA344_72 == FOR_SYMBOL || LA344_72 == FROM_SYMBOL || ((LA344_72 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_72 <= GREATER_THAN_OPERATOR)) || ((LA344_72 >= GROUP_SYMBOL) && (LA344_72 <= HAVING_SYMBOL)) || LA344_72 == IDENTIFIER || LA344_72 == INNER_SYMBOL || LA344_72 == INTO_SYMBOL || LA344_72 == IN_SYMBOL || LA344_72 == IS_SYMBOL || LA344_72 == JOIN_SYMBOL || ((LA344_72 >= LEFT_SYMBOL) && (LA344_72 <= LESS_THAN_OPERATOR)) || ((LA344_72 >= LIKE_SYMBOL) && (LA344_72 <= LIMIT_SYMBOL)) || LA344_72 == LOCK_SYMBOL || LA344_72 == LOGICAL_AND_OPERATOR || LA344_72 == LOGICAL_OR_OPERATOR || LA344_72 == MINUS_OPERATOR || ((LA344_72 >= MOD_OPERATOR) && (LA344_72 <= MOD_SYMBOL)) || ((LA344_72 >= MULT_OPERATOR) && (LA344_72 <= NATURAL_SYMBOL)) || ((LA344_72 >= NOT_EQUAL2_OPERATOR) && (LA344_72 <= NOT_SYMBOL)) || LA344_72 == NULL_SAFE_EQUAL_OPERATOR || LA344_72 == ON_SYMBOL || LA344_72 == OPEN_PAR_SYMBOL || ((LA344_72 >= ORDER_SYMBOL) && (LA344_72 <= OR_SYMBOL)) || LA344_72 == PLUS_OPERATOR || LA344_72 == PROCEDURE_SYMBOL || LA344_72 == REGEXP_SYMBOL || LA344_72 == RIGHT_SYMBOL || LA344_72 == SEMICOLON_SYMBOL || LA344_72 == SET_SYMBOL || ((LA344_72 >= SHIFT_LEFT_OPERATOR) && (LA344_72 <= SHIFT_RIGHT_OPERATOR)) || LA344_72 == SINGLE_QUOTED_TEXT || LA344_72 == STRAIGHT_JOIN_SYMBOL || LA344_72 == UNION_SYMBOL || LA344_72 == USING_SYMBOL || LA344_72 == WHERE_SYMBOL || LA344_72 == WITH_SYMBOL || LA344_72 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 72;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == POINT_SYMBOL))
                {
                    {
                        int LA344_73 = LA(2);
                        if ( (LA344_73 == EOF || ((LA344_73 >= ASCII_SYMBOL) && (LA344_73 <= YEAR_SYMBOL)) || LA344_73 == AND_SYMBOL || LA344_73 == AS_SYMBOL || LA344_73 == BACK_TICK_QUOTED_ID || LA344_73 == BETWEEN_SYMBOL || LA344_73 == BITWISE_AND_OPERATOR || ((LA344_73 >= BITWISE_OR_OPERATOR) && (LA344_73 <= BITWISE_XOR_OPERATOR)) || ((LA344_73 >= CLOSE_CURLY_SYMBOL) && (LA344_73 <= COLLATE_SYMBOL)) || LA344_73 == COMMA_SYMBOL || LA344_73 == CONCAT_PIPES_SYMBOL || LA344_73 == CROSS_SYMBOL || ((LA344_73 >= DIV_OPERATOR) && (LA344_73 <= DIV_SYMBOL)) || LA344_73 == DOUBLE_QUOTED_TEXT || LA344_73 == EQUAL_OPERATOR || LA344_73 == FOR_SYMBOL || LA344_73 == FROM_SYMBOL || ((LA344_73 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_73 <= GREATER_THAN_OPERATOR)) || ((LA344_73 >= GROUP_SYMBOL) && (LA344_73 <= HAVING_SYMBOL)) || LA344_73 == IDENTIFIER || LA344_73 == INNER_SYMBOL || LA344_73 == INTO_SYMBOL || LA344_73 == IN_SYMBOL || LA344_73 == IS_SYMBOL || LA344_73 == JOIN_SYMBOL || ((LA344_73 >= LEFT_SYMBOL) && (LA344_73 <= LESS_THAN_OPERATOR)) || ((LA344_73 >= LIKE_SYMBOL) && (LA344_73 <= LIMIT_SYMBOL)) || LA344_73 == LOCK_SYMBOL || LA344_73 == LOGICAL_AND_OPERATOR || LA344_73 == LOGICAL_OR_OPERATOR || LA344_73 == MINUS_OPERATOR || ((LA344_73 >= MOD_OPERATOR) && (LA344_73 <= MOD_SYMBOL)) || ((LA344_73 >= MULT_OPERATOR) && (LA344_73 <= NATURAL_SYMBOL)) || ((LA344_73 >= NOT_EQUAL2_OPERATOR) && (LA344_73 <= NOT_SYMBOL)) || LA344_73 == NULL_SAFE_EQUAL_OPERATOR || LA344_73 == ON_SYMBOL || LA344_73 == OPEN_PAR_SYMBOL || ((LA344_73 >= ORDER_SYMBOL) && (LA344_73 <= OR_SYMBOL)) || LA344_73 == PLUS_OPERATOR || LA344_73 == PROCEDURE_SYMBOL || LA344_73 == REGEXP_SYMBOL || LA344_73 == RIGHT_SYMBOL || LA344_73 == SEMICOLON_SYMBOL || LA344_73 == SET_SYMBOL || ((LA344_73 >= SHIFT_LEFT_OPERATOR) && (LA344_73 <= SHIFT_RIGHT_OPERATOR)) || LA344_73 == SINGLE_QUOTED_TEXT || LA344_73 == STRAIGHT_JOIN_SYMBOL || LA344_73 == UNION_SYMBOL || LA344_73 == USING_SYMBOL || LA344_73 == WHERE_SYMBOL || LA344_73 == WITH_SYMBOL || LA344_73 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_73 == DOT_SYMBOL))
                        {
                            {
                                int LA344_2064 = LA(3);
                                if ( (LA344_2064 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_2064 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2551 = LA(4);
                                        if ( (LA344_2551 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12385 = LA(5);
                                                if ( (LA344_12385 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12385 >= ASCII_SYMBOL) && (LA344_12385 <= YEAR_SYMBOL)) || LA344_12385 == BACK_TICK_QUOTED_ID || LA344_12385 == DOUBLE_QUOTED_TEXT || LA344_12385 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12385;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2551 == EOF || ((LA344_2551 >= ASCII_SYMBOL) && (LA344_2551 <= YEAR_SYMBOL)) || LA344_2551 == AND_SYMBOL || LA344_2551 == AS_SYMBOL || LA344_2551 == BACK_TICK_QUOTED_ID || LA344_2551 == BETWEEN_SYMBOL || LA344_2551 == BITWISE_AND_OPERATOR || ((LA344_2551 >= BITWISE_OR_OPERATOR) && (LA344_2551 <= BITWISE_XOR_OPERATOR)) || ((LA344_2551 >= CLOSE_CURLY_SYMBOL) && (LA344_2551 <= COLLATE_SYMBOL)) || LA344_2551 == COMMA_SYMBOL || LA344_2551 == CONCAT_PIPES_SYMBOL || LA344_2551 == CROSS_SYMBOL || ((LA344_2551 >= DIV_OPERATOR) && (LA344_2551 <= DIV_SYMBOL)) || LA344_2551 == DOUBLE_QUOTED_TEXT || LA344_2551 == EQUAL_OPERATOR || LA344_2551 == FOR_SYMBOL || LA344_2551 == FROM_SYMBOL || ((LA344_2551 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2551 <= GREATER_THAN_OPERATOR)) || ((LA344_2551 >= GROUP_SYMBOL) && (LA344_2551 <= HAVING_SYMBOL)) || LA344_2551 == IDENTIFIER || LA344_2551 == INNER_SYMBOL || LA344_2551 == INTO_SYMBOL || LA344_2551 == IN_SYMBOL || LA344_2551 == IS_SYMBOL || LA344_2551 == JOIN_SYMBOL || ((LA344_2551 >= LEFT_SYMBOL) && (LA344_2551 <= LESS_THAN_OPERATOR)) || ((LA344_2551 >= LIKE_SYMBOL) && (LA344_2551 <= LIMIT_SYMBOL)) || LA344_2551 == LOCK_SYMBOL || LA344_2551 == LOGICAL_AND_OPERATOR || LA344_2551 == LOGICAL_OR_OPERATOR || LA344_2551 == MINUS_OPERATOR || ((LA344_2551 >= MOD_OPERATOR) && (LA344_2551 <= MOD_SYMBOL)) || ((LA344_2551 >= MULT_OPERATOR) && (LA344_2551 <= NATURAL_SYMBOL)) || ((LA344_2551 >= NOT_EQUAL2_OPERATOR) && (LA344_2551 <= NOT_SYMBOL)) || LA344_2551 == NULL_SAFE_EQUAL_OPERATOR || LA344_2551 == ON_SYMBOL || LA344_2551 == OPEN_PAR_SYMBOL || ((LA344_2551 >= ORDER_SYMBOL) && (LA344_2551 <= OR_SYMBOL)) || LA344_2551 == PLUS_OPERATOR || LA344_2551 == PROCEDURE_SYMBOL || LA344_2551 == REGEXP_SYMBOL || LA344_2551 == RIGHT_SYMBOL || LA344_2551 == SEMICOLON_SYMBOL || LA344_2551 == SET_SYMBOL || ((LA344_2551 >= SHIFT_LEFT_OPERATOR) && (LA344_2551 <= SHIFT_RIGHT_OPERATOR)) || LA344_2551 == SINGLE_QUOTED_TEXT || LA344_2551 == STRAIGHT_JOIN_SYMBOL || LA344_2551 == UNION_SYMBOL || LA344_2551 == USING_SYMBOL || LA344_2551 == WHERE_SYMBOL || LA344_2551 == WITH_SYMBOL || LA344_2551 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2551;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2064 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2552 = LA(4);
                                        if ( (LA344_2552 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12438 = LA(5);
                                                if ( (LA344_12438 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12438 >= ASCII_SYMBOL) && (LA344_12438 <= YEAR_SYMBOL)) || LA344_12438 == BACK_TICK_QUOTED_ID || LA344_12438 == DOUBLE_QUOTED_TEXT || LA344_12438 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12438;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2552 == EOF || ((LA344_2552 >= ASCII_SYMBOL) && (LA344_2552 <= YEAR_SYMBOL)) || LA344_2552 == AND_SYMBOL || LA344_2552 == AS_SYMBOL || LA344_2552 == BACK_TICK_QUOTED_ID || LA344_2552 == BETWEEN_SYMBOL || LA344_2552 == BITWISE_AND_OPERATOR || ((LA344_2552 >= BITWISE_OR_OPERATOR) && (LA344_2552 <= BITWISE_XOR_OPERATOR)) || ((LA344_2552 >= CLOSE_CURLY_SYMBOL) && (LA344_2552 <= COLLATE_SYMBOL)) || LA344_2552 == COMMA_SYMBOL || LA344_2552 == CONCAT_PIPES_SYMBOL || LA344_2552 == CROSS_SYMBOL || ((LA344_2552 >= DIV_OPERATOR) && (LA344_2552 <= DIV_SYMBOL)) || LA344_2552 == DOUBLE_QUOTED_TEXT || LA344_2552 == EQUAL_OPERATOR || LA344_2552 == FOR_SYMBOL || LA344_2552 == FROM_SYMBOL || ((LA344_2552 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2552 <= GREATER_THAN_OPERATOR)) || ((LA344_2552 >= GROUP_SYMBOL) && (LA344_2552 <= HAVING_SYMBOL)) || LA344_2552 == IDENTIFIER || LA344_2552 == INNER_SYMBOL || LA344_2552 == INTO_SYMBOL || LA344_2552 == IN_SYMBOL || LA344_2552 == IS_SYMBOL || LA344_2552 == JOIN_SYMBOL || ((LA344_2552 >= LEFT_SYMBOL) && (LA344_2552 <= LESS_THAN_OPERATOR)) || ((LA344_2552 >= LIKE_SYMBOL) && (LA344_2552 <= LIMIT_SYMBOL)) || LA344_2552 == LOCK_SYMBOL || LA344_2552 == LOGICAL_AND_OPERATOR || LA344_2552 == LOGICAL_OR_OPERATOR || LA344_2552 == MINUS_OPERATOR || ((LA344_2552 >= MOD_OPERATOR) && (LA344_2552 <= MOD_SYMBOL)) || ((LA344_2552 >= MULT_OPERATOR) && (LA344_2552 <= NATURAL_SYMBOL)) || ((LA344_2552 >= NOT_EQUAL2_OPERATOR) && (LA344_2552 <= NOT_SYMBOL)) || LA344_2552 == NULL_SAFE_EQUAL_OPERATOR || LA344_2552 == ON_SYMBOL || LA344_2552 == OPEN_PAR_SYMBOL || ((LA344_2552 >= ORDER_SYMBOL) && (LA344_2552 <= OR_SYMBOL)) || LA344_2552 == PLUS_OPERATOR || LA344_2552 == PROCEDURE_SYMBOL || LA344_2552 == REGEXP_SYMBOL || LA344_2552 == RIGHT_SYMBOL || LA344_2552 == SEMICOLON_SYMBOL || LA344_2552 == SET_SYMBOL || ((LA344_2552 >= SHIFT_LEFT_OPERATOR) && (LA344_2552 <= SHIFT_RIGHT_OPERATOR)) || LA344_2552 == SINGLE_QUOTED_TEXT || LA344_2552 == STRAIGHT_JOIN_SYMBOL || LA344_2552 == UNION_SYMBOL || LA344_2552 == USING_SYMBOL || LA344_2552 == WHERE_SYMBOL || LA344_2552 == WITH_SYMBOL || LA344_2552 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2552;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2064 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2553 = LA(4);
                                        if ( (LA344_2553 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12491 = LA(5);
                                                if ( (LA344_12491 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12491 >= ASCII_SYMBOL) && (LA344_12491 <= YEAR_SYMBOL)) || LA344_12491 == BACK_TICK_QUOTED_ID || LA344_12491 == DOUBLE_QUOTED_TEXT || LA344_12491 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12491;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2553 == EOF || ((LA344_2553 >= ASCII_SYMBOL) && (LA344_2553 <= YEAR_SYMBOL)) || LA344_2553 == AND_SYMBOL || LA344_2553 == AS_SYMBOL || LA344_2553 == BACK_TICK_QUOTED_ID || LA344_2553 == BETWEEN_SYMBOL || LA344_2553 == BITWISE_AND_OPERATOR || ((LA344_2553 >= BITWISE_OR_OPERATOR) && (LA344_2553 <= BITWISE_XOR_OPERATOR)) || ((LA344_2553 >= CLOSE_CURLY_SYMBOL) && (LA344_2553 <= COLLATE_SYMBOL)) || LA344_2553 == COMMA_SYMBOL || LA344_2553 == CONCAT_PIPES_SYMBOL || LA344_2553 == CROSS_SYMBOL || ((LA344_2553 >= DIV_OPERATOR) && (LA344_2553 <= DIV_SYMBOL)) || LA344_2553 == DOUBLE_QUOTED_TEXT || LA344_2553 == EQUAL_OPERATOR || LA344_2553 == FOR_SYMBOL || LA344_2553 == FROM_SYMBOL || ((LA344_2553 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2553 <= GREATER_THAN_OPERATOR)) || ((LA344_2553 >= GROUP_SYMBOL) && (LA344_2553 <= HAVING_SYMBOL)) || LA344_2553 == IDENTIFIER || LA344_2553 == INNER_SYMBOL || LA344_2553 == INTO_SYMBOL || LA344_2553 == IN_SYMBOL || LA344_2553 == IS_SYMBOL || LA344_2553 == JOIN_SYMBOL || ((LA344_2553 >= LEFT_SYMBOL) && (LA344_2553 <= LESS_THAN_OPERATOR)) || ((LA344_2553 >= LIKE_SYMBOL) && (LA344_2553 <= LIMIT_SYMBOL)) || LA344_2553 == LOCK_SYMBOL || LA344_2553 == LOGICAL_AND_OPERATOR || LA344_2553 == LOGICAL_OR_OPERATOR || LA344_2553 == MINUS_OPERATOR || ((LA344_2553 >= MOD_OPERATOR) && (LA344_2553 <= MOD_SYMBOL)) || ((LA344_2553 >= MULT_OPERATOR) && (LA344_2553 <= NATURAL_SYMBOL)) || ((LA344_2553 >= NOT_EQUAL2_OPERATOR) && (LA344_2553 <= NOT_SYMBOL)) || LA344_2553 == NULL_SAFE_EQUAL_OPERATOR || LA344_2553 == ON_SYMBOL || LA344_2553 == OPEN_PAR_SYMBOL || ((LA344_2553 >= ORDER_SYMBOL) && (LA344_2553 <= OR_SYMBOL)) || LA344_2553 == PLUS_OPERATOR || LA344_2553 == PROCEDURE_SYMBOL || LA344_2553 == REGEXP_SYMBOL || LA344_2553 == RIGHT_SYMBOL || LA344_2553 == SEMICOLON_SYMBOL || LA344_2553 == SET_SYMBOL || ((LA344_2553 >= SHIFT_LEFT_OPERATOR) && (LA344_2553 <= SHIFT_RIGHT_OPERATOR)) || LA344_2553 == SINGLE_QUOTED_TEXT || LA344_2553 == STRAIGHT_JOIN_SYMBOL || LA344_2553 == UNION_SYMBOL || LA344_2553 == USING_SYMBOL || LA344_2553 == WHERE_SYMBOL || LA344_2553 == WITH_SYMBOL || LA344_2553 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2553;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2064 >= ACTION_SYMBOL) && (LA344_2064 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2554 = LA(4);
                                        if ( (LA344_2554 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12544 = LA(5);
                                                if ( (LA344_12544 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12544 >= ASCII_SYMBOL) && (LA344_12544 <= YEAR_SYMBOL)) || LA344_12544 == BACK_TICK_QUOTED_ID || LA344_12544 == DOUBLE_QUOTED_TEXT || LA344_12544 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12544;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2554 == EOF || ((LA344_2554 >= ASCII_SYMBOL) && (LA344_2554 <= YEAR_SYMBOL)) || LA344_2554 == AND_SYMBOL || LA344_2554 == AS_SYMBOL || LA344_2554 == BACK_TICK_QUOTED_ID || LA344_2554 == BETWEEN_SYMBOL || LA344_2554 == BITWISE_AND_OPERATOR || ((LA344_2554 >= BITWISE_OR_OPERATOR) && (LA344_2554 <= BITWISE_XOR_OPERATOR)) || ((LA344_2554 >= CLOSE_CURLY_SYMBOL) && (LA344_2554 <= COLLATE_SYMBOL)) || LA344_2554 == COMMA_SYMBOL || LA344_2554 == CONCAT_PIPES_SYMBOL || LA344_2554 == CROSS_SYMBOL || ((LA344_2554 >= DIV_OPERATOR) && (LA344_2554 <= DIV_SYMBOL)) || LA344_2554 == DOUBLE_QUOTED_TEXT || LA344_2554 == EQUAL_OPERATOR || LA344_2554 == FOR_SYMBOL || LA344_2554 == FROM_SYMBOL || ((LA344_2554 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2554 <= GREATER_THAN_OPERATOR)) || ((LA344_2554 >= GROUP_SYMBOL) && (LA344_2554 <= HAVING_SYMBOL)) || LA344_2554 == IDENTIFIER || LA344_2554 == INNER_SYMBOL || LA344_2554 == INTO_SYMBOL || LA344_2554 == IN_SYMBOL || LA344_2554 == IS_SYMBOL || LA344_2554 == JOIN_SYMBOL || ((LA344_2554 >= LEFT_SYMBOL) && (LA344_2554 <= LESS_THAN_OPERATOR)) || ((LA344_2554 >= LIKE_SYMBOL) && (LA344_2554 <= LIMIT_SYMBOL)) || LA344_2554 == LOCK_SYMBOL || LA344_2554 == LOGICAL_AND_OPERATOR || LA344_2554 == LOGICAL_OR_OPERATOR || LA344_2554 == MINUS_OPERATOR || ((LA344_2554 >= MOD_OPERATOR) && (LA344_2554 <= MOD_SYMBOL)) || ((LA344_2554 >= MULT_OPERATOR) && (LA344_2554 <= NATURAL_SYMBOL)) || ((LA344_2554 >= NOT_EQUAL2_OPERATOR) && (LA344_2554 <= NOT_SYMBOL)) || LA344_2554 == NULL_SAFE_EQUAL_OPERATOR || LA344_2554 == ON_SYMBOL || LA344_2554 == OPEN_PAR_SYMBOL || ((LA344_2554 >= ORDER_SYMBOL) && (LA344_2554 <= OR_SYMBOL)) || LA344_2554 == PLUS_OPERATOR || LA344_2554 == PROCEDURE_SYMBOL || LA344_2554 == REGEXP_SYMBOL || LA344_2554 == RIGHT_SYMBOL || LA344_2554 == SEMICOLON_SYMBOL || LA344_2554 == SET_SYMBOL || ((LA344_2554 >= SHIFT_LEFT_OPERATOR) && (LA344_2554 <= SHIFT_RIGHT_OPERATOR)) || LA344_2554 == SINGLE_QUOTED_TEXT || LA344_2554 == STRAIGHT_JOIN_SYMBOL || LA344_2554 == UNION_SYMBOL || LA344_2554 == USING_SYMBOL || LA344_2554 == WHERE_SYMBOL || LA344_2554 == WITH_SYMBOL || LA344_2554 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2554;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2064 >= ASCII_SYMBOL) && (LA344_2064 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2555 = LA(4);
                                        if ( (LA344_2555 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12597 = LA(5);
                                                if ( (LA344_12597 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12597 >= ASCII_SYMBOL) && (LA344_12597 <= YEAR_SYMBOL)) || LA344_12597 == BACK_TICK_QUOTED_ID || LA344_12597 == DOUBLE_QUOTED_TEXT || LA344_12597 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12597;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2555 == EOF || ((LA344_2555 >= ASCII_SYMBOL) && (LA344_2555 <= YEAR_SYMBOL)) || LA344_2555 == AND_SYMBOL || LA344_2555 == AS_SYMBOL || LA344_2555 == BACK_TICK_QUOTED_ID || LA344_2555 == BETWEEN_SYMBOL || LA344_2555 == BITWISE_AND_OPERATOR || ((LA344_2555 >= BITWISE_OR_OPERATOR) && (LA344_2555 <= BITWISE_XOR_OPERATOR)) || ((LA344_2555 >= CLOSE_CURLY_SYMBOL) && (LA344_2555 <= COLLATE_SYMBOL)) || LA344_2555 == COMMA_SYMBOL || LA344_2555 == CONCAT_PIPES_SYMBOL || LA344_2555 == CROSS_SYMBOL || ((LA344_2555 >= DIV_OPERATOR) && (LA344_2555 <= DIV_SYMBOL)) || LA344_2555 == DOUBLE_QUOTED_TEXT || LA344_2555 == EQUAL_OPERATOR || LA344_2555 == FOR_SYMBOL || LA344_2555 == FROM_SYMBOL || ((LA344_2555 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2555 <= GREATER_THAN_OPERATOR)) || ((LA344_2555 >= GROUP_SYMBOL) && (LA344_2555 <= HAVING_SYMBOL)) || LA344_2555 == IDENTIFIER || LA344_2555 == INNER_SYMBOL || LA344_2555 == INTO_SYMBOL || LA344_2555 == IN_SYMBOL || LA344_2555 == IS_SYMBOL || LA344_2555 == JOIN_SYMBOL || ((LA344_2555 >= LEFT_SYMBOL) && (LA344_2555 <= LESS_THAN_OPERATOR)) || ((LA344_2555 >= LIKE_SYMBOL) && (LA344_2555 <= LIMIT_SYMBOL)) || LA344_2555 == LOCK_SYMBOL || LA344_2555 == LOGICAL_AND_OPERATOR || LA344_2555 == LOGICAL_OR_OPERATOR || LA344_2555 == MINUS_OPERATOR || ((LA344_2555 >= MOD_OPERATOR) && (LA344_2555 <= MOD_SYMBOL)) || ((LA344_2555 >= MULT_OPERATOR) && (LA344_2555 <= NATURAL_SYMBOL)) || ((LA344_2555 >= NOT_EQUAL2_OPERATOR) && (LA344_2555 <= NOT_SYMBOL)) || LA344_2555 == NULL_SAFE_EQUAL_OPERATOR || LA344_2555 == ON_SYMBOL || LA344_2555 == OPEN_PAR_SYMBOL || ((LA344_2555 >= ORDER_SYMBOL) && (LA344_2555 <= OR_SYMBOL)) || LA344_2555 == PLUS_OPERATOR || LA344_2555 == PROCEDURE_SYMBOL || LA344_2555 == REGEXP_SYMBOL || LA344_2555 == RIGHT_SYMBOL || LA344_2555 == SEMICOLON_SYMBOL || LA344_2555 == SET_SYMBOL || ((LA344_2555 >= SHIFT_LEFT_OPERATOR) && (LA344_2555 <= SHIFT_RIGHT_OPERATOR)) || LA344_2555 == SINGLE_QUOTED_TEXT || LA344_2555 == STRAIGHT_JOIN_SYMBOL || LA344_2555 == UNION_SYMBOL || LA344_2555 == USING_SYMBOL || LA344_2555 == WHERE_SYMBOL || LA344_2555 == WITH_SYMBOL || LA344_2555 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2555;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 2064;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 73;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == POLYGON_SYMBOL))
                {
                    {
                        int LA344_74 = LA(2);
                        if ( (LA344_74 == DOT_SYMBOL))
                        {
                            {
                                int LA344_2116 = LA(3);
                                if ( (LA344_2116 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_2116 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2557 = LA(4);
                                        if ( (LA344_2557 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12650 = LA(5);
                                                if ( (LA344_12650 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12650 >= ASCII_SYMBOL) && (LA344_12650 <= YEAR_SYMBOL)) || LA344_12650 == BACK_TICK_QUOTED_ID || LA344_12650 == DOUBLE_QUOTED_TEXT || LA344_12650 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12650;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2557 == EOF || ((LA344_2557 >= ASCII_SYMBOL) && (LA344_2557 <= YEAR_SYMBOL)) || LA344_2557 == AND_SYMBOL || LA344_2557 == AS_SYMBOL || LA344_2557 == BACK_TICK_QUOTED_ID || LA344_2557 == BETWEEN_SYMBOL || LA344_2557 == BITWISE_AND_OPERATOR || ((LA344_2557 >= BITWISE_OR_OPERATOR) && (LA344_2557 <= BITWISE_XOR_OPERATOR)) || ((LA344_2557 >= CLOSE_CURLY_SYMBOL) && (LA344_2557 <= COLLATE_SYMBOL)) || LA344_2557 == COMMA_SYMBOL || LA344_2557 == CONCAT_PIPES_SYMBOL || LA344_2557 == CROSS_SYMBOL || ((LA344_2557 >= DIV_OPERATOR) && (LA344_2557 <= DIV_SYMBOL)) || LA344_2557 == DOUBLE_QUOTED_TEXT || LA344_2557 == EQUAL_OPERATOR || LA344_2557 == FOR_SYMBOL || LA344_2557 == FROM_SYMBOL || ((LA344_2557 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2557 <= GREATER_THAN_OPERATOR)) || ((LA344_2557 >= GROUP_SYMBOL) && (LA344_2557 <= HAVING_SYMBOL)) || LA344_2557 == IDENTIFIER || LA344_2557 == INNER_SYMBOL || LA344_2557 == INTO_SYMBOL || LA344_2557 == IN_SYMBOL || LA344_2557 == IS_SYMBOL || LA344_2557 == JOIN_SYMBOL || ((LA344_2557 >= LEFT_SYMBOL) && (LA344_2557 <= LESS_THAN_OPERATOR)) || ((LA344_2557 >= LIKE_SYMBOL) && (LA344_2557 <= LIMIT_SYMBOL)) || LA344_2557 == LOCK_SYMBOL || LA344_2557 == LOGICAL_AND_OPERATOR || LA344_2557 == LOGICAL_OR_OPERATOR || LA344_2557 == MINUS_OPERATOR || ((LA344_2557 >= MOD_OPERATOR) && (LA344_2557 <= MOD_SYMBOL)) || ((LA344_2557 >= MULT_OPERATOR) && (LA344_2557 <= NATURAL_SYMBOL)) || ((LA344_2557 >= NOT_EQUAL2_OPERATOR) && (LA344_2557 <= NOT_SYMBOL)) || LA344_2557 == NULL_SAFE_EQUAL_OPERATOR || LA344_2557 == ON_SYMBOL || LA344_2557 == OPEN_PAR_SYMBOL || ((LA344_2557 >= ORDER_SYMBOL) && (LA344_2557 <= OR_SYMBOL)) || LA344_2557 == PLUS_OPERATOR || LA344_2557 == PROCEDURE_SYMBOL || LA344_2557 == REGEXP_SYMBOL || LA344_2557 == RIGHT_SYMBOL || LA344_2557 == SEMICOLON_SYMBOL || LA344_2557 == SET_SYMBOL || ((LA344_2557 >= SHIFT_LEFT_OPERATOR) && (LA344_2557 <= SHIFT_RIGHT_OPERATOR)) || LA344_2557 == SINGLE_QUOTED_TEXT || LA344_2557 == STRAIGHT_JOIN_SYMBOL || LA344_2557 == UNION_SYMBOL || LA344_2557 == USING_SYMBOL || LA344_2557 == WHERE_SYMBOL || LA344_2557 == WITH_SYMBOL || LA344_2557 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2557;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2116 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2558 = LA(4);
                                        if ( (LA344_2558 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12703 = LA(5);
                                                if ( (LA344_12703 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12703 >= ASCII_SYMBOL) && (LA344_12703 <= YEAR_SYMBOL)) || LA344_12703 == BACK_TICK_QUOTED_ID || LA344_12703 == DOUBLE_QUOTED_TEXT || LA344_12703 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12703;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2558 == EOF || ((LA344_2558 >= ASCII_SYMBOL) && (LA344_2558 <= YEAR_SYMBOL)) || LA344_2558 == AND_SYMBOL || LA344_2558 == AS_SYMBOL || LA344_2558 == BACK_TICK_QUOTED_ID || LA344_2558 == BETWEEN_SYMBOL || LA344_2558 == BITWISE_AND_OPERATOR || ((LA344_2558 >= BITWISE_OR_OPERATOR) && (LA344_2558 <= BITWISE_XOR_OPERATOR)) || ((LA344_2558 >= CLOSE_CURLY_SYMBOL) && (LA344_2558 <= COLLATE_SYMBOL)) || LA344_2558 == COMMA_SYMBOL || LA344_2558 == CONCAT_PIPES_SYMBOL || LA344_2558 == CROSS_SYMBOL || ((LA344_2558 >= DIV_OPERATOR) && (LA344_2558 <= DIV_SYMBOL)) || LA344_2558 == DOUBLE_QUOTED_TEXT || LA344_2558 == EQUAL_OPERATOR || LA344_2558 == FOR_SYMBOL || LA344_2558 == FROM_SYMBOL || ((LA344_2558 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2558 <= GREATER_THAN_OPERATOR)) || ((LA344_2558 >= GROUP_SYMBOL) && (LA344_2558 <= HAVING_SYMBOL)) || LA344_2558 == IDENTIFIER || LA344_2558 == INNER_SYMBOL || LA344_2558 == INTO_SYMBOL || LA344_2558 == IN_SYMBOL || LA344_2558 == IS_SYMBOL || LA344_2558 == JOIN_SYMBOL || ((LA344_2558 >= LEFT_SYMBOL) && (LA344_2558 <= LESS_THAN_OPERATOR)) || ((LA344_2558 >= LIKE_SYMBOL) && (LA344_2558 <= LIMIT_SYMBOL)) || LA344_2558 == LOCK_SYMBOL || LA344_2558 == LOGICAL_AND_OPERATOR || LA344_2558 == LOGICAL_OR_OPERATOR || LA344_2558 == MINUS_OPERATOR || ((LA344_2558 >= MOD_OPERATOR) && (LA344_2558 <= MOD_SYMBOL)) || ((LA344_2558 >= MULT_OPERATOR) && (LA344_2558 <= NATURAL_SYMBOL)) || ((LA344_2558 >= NOT_EQUAL2_OPERATOR) && (LA344_2558 <= NOT_SYMBOL)) || LA344_2558 == NULL_SAFE_EQUAL_OPERATOR || LA344_2558 == ON_SYMBOL || LA344_2558 == OPEN_PAR_SYMBOL || ((LA344_2558 >= ORDER_SYMBOL) && (LA344_2558 <= OR_SYMBOL)) || LA344_2558 == PLUS_OPERATOR || LA344_2558 == PROCEDURE_SYMBOL || LA344_2558 == REGEXP_SYMBOL || LA344_2558 == RIGHT_SYMBOL || LA344_2558 == SEMICOLON_SYMBOL || LA344_2558 == SET_SYMBOL || ((LA344_2558 >= SHIFT_LEFT_OPERATOR) && (LA344_2558 <= SHIFT_RIGHT_OPERATOR)) || LA344_2558 == SINGLE_QUOTED_TEXT || LA344_2558 == STRAIGHT_JOIN_SYMBOL || LA344_2558 == UNION_SYMBOL || LA344_2558 == USING_SYMBOL || LA344_2558 == WHERE_SYMBOL || LA344_2558 == WITH_SYMBOL || LA344_2558 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2558;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2116 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2559 = LA(4);
                                        if ( (LA344_2559 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12756 = LA(5);
                                                if ( (LA344_12756 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12756 >= ASCII_SYMBOL) && (LA344_12756 <= YEAR_SYMBOL)) || LA344_12756 == BACK_TICK_QUOTED_ID || LA344_12756 == DOUBLE_QUOTED_TEXT || LA344_12756 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12756;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2559 == EOF || ((LA344_2559 >= ASCII_SYMBOL) && (LA344_2559 <= YEAR_SYMBOL)) || LA344_2559 == AND_SYMBOL || LA344_2559 == AS_SYMBOL || LA344_2559 == BACK_TICK_QUOTED_ID || LA344_2559 == BETWEEN_SYMBOL || LA344_2559 == BITWISE_AND_OPERATOR || ((LA344_2559 >= BITWISE_OR_OPERATOR) && (LA344_2559 <= BITWISE_XOR_OPERATOR)) || ((LA344_2559 >= CLOSE_CURLY_SYMBOL) && (LA344_2559 <= COLLATE_SYMBOL)) || LA344_2559 == COMMA_SYMBOL || LA344_2559 == CONCAT_PIPES_SYMBOL || LA344_2559 == CROSS_SYMBOL || ((LA344_2559 >= DIV_OPERATOR) && (LA344_2559 <= DIV_SYMBOL)) || LA344_2559 == DOUBLE_QUOTED_TEXT || LA344_2559 == EQUAL_OPERATOR || LA344_2559 == FOR_SYMBOL || LA344_2559 == FROM_SYMBOL || ((LA344_2559 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2559 <= GREATER_THAN_OPERATOR)) || ((LA344_2559 >= GROUP_SYMBOL) && (LA344_2559 <= HAVING_SYMBOL)) || LA344_2559 == IDENTIFIER || LA344_2559 == INNER_SYMBOL || LA344_2559 == INTO_SYMBOL || LA344_2559 == IN_SYMBOL || LA344_2559 == IS_SYMBOL || LA344_2559 == JOIN_SYMBOL || ((LA344_2559 >= LEFT_SYMBOL) && (LA344_2559 <= LESS_THAN_OPERATOR)) || ((LA344_2559 >= LIKE_SYMBOL) && (LA344_2559 <= LIMIT_SYMBOL)) || LA344_2559 == LOCK_SYMBOL || LA344_2559 == LOGICAL_AND_OPERATOR || LA344_2559 == LOGICAL_OR_OPERATOR || LA344_2559 == MINUS_OPERATOR || ((LA344_2559 >= MOD_OPERATOR) && (LA344_2559 <= MOD_SYMBOL)) || ((LA344_2559 >= MULT_OPERATOR) && (LA344_2559 <= NATURAL_SYMBOL)) || ((LA344_2559 >= NOT_EQUAL2_OPERATOR) && (LA344_2559 <= NOT_SYMBOL)) || LA344_2559 == NULL_SAFE_EQUAL_OPERATOR || LA344_2559 == ON_SYMBOL || LA344_2559 == OPEN_PAR_SYMBOL || ((LA344_2559 >= ORDER_SYMBOL) && (LA344_2559 <= OR_SYMBOL)) || LA344_2559 == PLUS_OPERATOR || LA344_2559 == PROCEDURE_SYMBOL || LA344_2559 == REGEXP_SYMBOL || LA344_2559 == RIGHT_SYMBOL || LA344_2559 == SEMICOLON_SYMBOL || LA344_2559 == SET_SYMBOL || ((LA344_2559 >= SHIFT_LEFT_OPERATOR) && (LA344_2559 <= SHIFT_RIGHT_OPERATOR)) || LA344_2559 == SINGLE_QUOTED_TEXT || LA344_2559 == STRAIGHT_JOIN_SYMBOL || LA344_2559 == UNION_SYMBOL || LA344_2559 == USING_SYMBOL || LA344_2559 == WHERE_SYMBOL || LA344_2559 == WITH_SYMBOL || LA344_2559 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2559;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2116 >= ACTION_SYMBOL) && (LA344_2116 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2560 = LA(4);
                                        if ( (LA344_2560 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12809 = LA(5);
                                                if ( (LA344_12809 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12809 >= ASCII_SYMBOL) && (LA344_12809 <= YEAR_SYMBOL)) || LA344_12809 == BACK_TICK_QUOTED_ID || LA344_12809 == DOUBLE_QUOTED_TEXT || LA344_12809 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12809;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2560 == EOF || ((LA344_2560 >= ASCII_SYMBOL) && (LA344_2560 <= YEAR_SYMBOL)) || LA344_2560 == AND_SYMBOL || LA344_2560 == AS_SYMBOL || LA344_2560 == BACK_TICK_QUOTED_ID || LA344_2560 == BETWEEN_SYMBOL || LA344_2560 == BITWISE_AND_OPERATOR || ((LA344_2560 >= BITWISE_OR_OPERATOR) && (LA344_2560 <= BITWISE_XOR_OPERATOR)) || ((LA344_2560 >= CLOSE_CURLY_SYMBOL) && (LA344_2560 <= COLLATE_SYMBOL)) || LA344_2560 == COMMA_SYMBOL || LA344_2560 == CONCAT_PIPES_SYMBOL || LA344_2560 == CROSS_SYMBOL || ((LA344_2560 >= DIV_OPERATOR) && (LA344_2560 <= DIV_SYMBOL)) || LA344_2560 == DOUBLE_QUOTED_TEXT || LA344_2560 == EQUAL_OPERATOR || LA344_2560 == FOR_SYMBOL || LA344_2560 == FROM_SYMBOL || ((LA344_2560 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2560 <= GREATER_THAN_OPERATOR)) || ((LA344_2560 >= GROUP_SYMBOL) && (LA344_2560 <= HAVING_SYMBOL)) || LA344_2560 == IDENTIFIER || LA344_2560 == INNER_SYMBOL || LA344_2560 == INTO_SYMBOL || LA344_2560 == IN_SYMBOL || LA344_2560 == IS_SYMBOL || LA344_2560 == JOIN_SYMBOL || ((LA344_2560 >= LEFT_SYMBOL) && (LA344_2560 <= LESS_THAN_OPERATOR)) || ((LA344_2560 >= LIKE_SYMBOL) && (LA344_2560 <= LIMIT_SYMBOL)) || LA344_2560 == LOCK_SYMBOL || LA344_2560 == LOGICAL_AND_OPERATOR || LA344_2560 == LOGICAL_OR_OPERATOR || LA344_2560 == MINUS_OPERATOR || ((LA344_2560 >= MOD_OPERATOR) && (LA344_2560 <= MOD_SYMBOL)) || ((LA344_2560 >= MULT_OPERATOR) && (LA344_2560 <= NATURAL_SYMBOL)) || ((LA344_2560 >= NOT_EQUAL2_OPERATOR) && (LA344_2560 <= NOT_SYMBOL)) || LA344_2560 == NULL_SAFE_EQUAL_OPERATOR || LA344_2560 == ON_SYMBOL || LA344_2560 == OPEN_PAR_SYMBOL || ((LA344_2560 >= ORDER_SYMBOL) && (LA344_2560 <= OR_SYMBOL)) || LA344_2560 == PLUS_OPERATOR || LA344_2560 == PROCEDURE_SYMBOL || LA344_2560 == REGEXP_SYMBOL || LA344_2560 == RIGHT_SYMBOL || LA344_2560 == SEMICOLON_SYMBOL || LA344_2560 == SET_SYMBOL || ((LA344_2560 >= SHIFT_LEFT_OPERATOR) && (LA344_2560 <= SHIFT_RIGHT_OPERATOR)) || LA344_2560 == SINGLE_QUOTED_TEXT || LA344_2560 == STRAIGHT_JOIN_SYMBOL || LA344_2560 == UNION_SYMBOL || LA344_2560 == USING_SYMBOL || LA344_2560 == WHERE_SYMBOL || LA344_2560 == WITH_SYMBOL || LA344_2560 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2560;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2116 >= ASCII_SYMBOL) && (LA344_2116 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2561 = LA(4);
                                        if ( (LA344_2561 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12862 = LA(5);
                                                if ( (LA344_12862 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12862 >= ASCII_SYMBOL) && (LA344_12862 <= YEAR_SYMBOL)) || LA344_12862 == BACK_TICK_QUOTED_ID || LA344_12862 == DOUBLE_QUOTED_TEXT || LA344_12862 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12862;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2561 == EOF || ((LA344_2561 >= ASCII_SYMBOL) && (LA344_2561 <= YEAR_SYMBOL)) || LA344_2561 == AND_SYMBOL || LA344_2561 == AS_SYMBOL || LA344_2561 == BACK_TICK_QUOTED_ID || LA344_2561 == BETWEEN_SYMBOL || LA344_2561 == BITWISE_AND_OPERATOR || ((LA344_2561 >= BITWISE_OR_OPERATOR) && (LA344_2561 <= BITWISE_XOR_OPERATOR)) || ((LA344_2561 >= CLOSE_CURLY_SYMBOL) && (LA344_2561 <= COLLATE_SYMBOL)) || LA344_2561 == COMMA_SYMBOL || LA344_2561 == CONCAT_PIPES_SYMBOL || LA344_2561 == CROSS_SYMBOL || ((LA344_2561 >= DIV_OPERATOR) && (LA344_2561 <= DIV_SYMBOL)) || LA344_2561 == DOUBLE_QUOTED_TEXT || LA344_2561 == EQUAL_OPERATOR || LA344_2561 == FOR_SYMBOL || LA344_2561 == FROM_SYMBOL || ((LA344_2561 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2561 <= GREATER_THAN_OPERATOR)) || ((LA344_2561 >= GROUP_SYMBOL) && (LA344_2561 <= HAVING_SYMBOL)) || LA344_2561 == IDENTIFIER || LA344_2561 == INNER_SYMBOL || LA344_2561 == INTO_SYMBOL || LA344_2561 == IN_SYMBOL || LA344_2561 == IS_SYMBOL || LA344_2561 == JOIN_SYMBOL || ((LA344_2561 >= LEFT_SYMBOL) && (LA344_2561 <= LESS_THAN_OPERATOR)) || ((LA344_2561 >= LIKE_SYMBOL) && (LA344_2561 <= LIMIT_SYMBOL)) || LA344_2561 == LOCK_SYMBOL || LA344_2561 == LOGICAL_AND_OPERATOR || LA344_2561 == LOGICAL_OR_OPERATOR || LA344_2561 == MINUS_OPERATOR || ((LA344_2561 >= MOD_OPERATOR) && (LA344_2561 <= MOD_SYMBOL)) || ((LA344_2561 >= MULT_OPERATOR) && (LA344_2561 <= NATURAL_SYMBOL)) || ((LA344_2561 >= NOT_EQUAL2_OPERATOR) && (LA344_2561 <= NOT_SYMBOL)) || LA344_2561 == NULL_SAFE_EQUAL_OPERATOR || LA344_2561 == ON_SYMBOL || LA344_2561 == OPEN_PAR_SYMBOL || ((LA344_2561 >= ORDER_SYMBOL) && (LA344_2561 <= OR_SYMBOL)) || LA344_2561 == PLUS_OPERATOR || LA344_2561 == PROCEDURE_SYMBOL || LA344_2561 == REGEXP_SYMBOL || LA344_2561 == RIGHT_SYMBOL || LA344_2561 == SEMICOLON_SYMBOL || LA344_2561 == SET_SYMBOL || ((LA344_2561 >= SHIFT_LEFT_OPERATOR) && (LA344_2561 <= SHIFT_RIGHT_OPERATOR)) || LA344_2561 == SINGLE_QUOTED_TEXT || LA344_2561 == STRAIGHT_JOIN_SYMBOL || LA344_2561 == UNION_SYMBOL || LA344_2561 == USING_SYMBOL || LA344_2561 == WHERE_SYMBOL || LA344_2561 == WITH_SYMBOL || LA344_2561 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2561;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 2116;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_74 == EOF || ((LA344_74 >= ASCII_SYMBOL) && (LA344_74 <= YEAR_SYMBOL)) || LA344_74 == AND_SYMBOL || LA344_74 == AS_SYMBOL || LA344_74 == BACK_TICK_QUOTED_ID || LA344_74 == BETWEEN_SYMBOL || LA344_74 == BITWISE_AND_OPERATOR || ((LA344_74 >= BITWISE_OR_OPERATOR) && (LA344_74 <= BITWISE_XOR_OPERATOR)) || ((LA344_74 >= CLOSE_CURLY_SYMBOL) && (LA344_74 <= COLLATE_SYMBOL)) || LA344_74 == COMMA_SYMBOL || LA344_74 == CONCAT_PIPES_SYMBOL || LA344_74 == CROSS_SYMBOL || ((LA344_74 >= DIV_OPERATOR) && (LA344_74 <= DIV_SYMBOL)) || LA344_74 == DOUBLE_QUOTED_TEXT || LA344_74 == EQUAL_OPERATOR || LA344_74 == FOR_SYMBOL || LA344_74 == FROM_SYMBOL || ((LA344_74 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_74 <= GREATER_THAN_OPERATOR)) || ((LA344_74 >= GROUP_SYMBOL) && (LA344_74 <= HAVING_SYMBOL)) || LA344_74 == IDENTIFIER || LA344_74 == INNER_SYMBOL || LA344_74 == INTO_SYMBOL || LA344_74 == IN_SYMBOL || LA344_74 == IS_SYMBOL || LA344_74 == JOIN_SYMBOL || ((LA344_74 >= LEFT_SYMBOL) && (LA344_74 <= LESS_THAN_OPERATOR)) || ((LA344_74 >= LIKE_SYMBOL) && (LA344_74 <= LIMIT_SYMBOL)) || LA344_74 == LOCK_SYMBOL || LA344_74 == LOGICAL_AND_OPERATOR || LA344_74 == LOGICAL_OR_OPERATOR || LA344_74 == MINUS_OPERATOR || ((LA344_74 >= MOD_OPERATOR) && (LA344_74 <= MOD_SYMBOL)) || ((LA344_74 >= MULT_OPERATOR) && (LA344_74 <= NATURAL_SYMBOL)) || ((LA344_74 >= NOT_EQUAL2_OPERATOR) && (LA344_74 <= NOT_SYMBOL)) || LA344_74 == NULL_SAFE_EQUAL_OPERATOR || LA344_74 == ON_SYMBOL || LA344_74 == OPEN_PAR_SYMBOL || ((LA344_74 >= ORDER_SYMBOL) && (LA344_74 <= OR_SYMBOL)) || LA344_74 == PLUS_OPERATOR || LA344_74 == PROCEDURE_SYMBOL || LA344_74 == REGEXP_SYMBOL || LA344_74 == RIGHT_SYMBOL || LA344_74 == SEMICOLON_SYMBOL || LA344_74 == SET_SYMBOL || ((LA344_74 >= SHIFT_LEFT_OPERATOR) && (LA344_74 <= SHIFT_RIGHT_OPERATOR)) || LA344_74 == SINGLE_QUOTED_TEXT || LA344_74 == STRAIGHT_JOIN_SYMBOL || LA344_74 == UNION_SYMBOL || LA344_74 == USING_SYMBOL || LA344_74 == WHERE_SYMBOL || LA344_74 == WITH_SYMBOL || LA344_74 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 74;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == AVG_SYMBOL))
                {
                    {
                        int LA344_75 = LA(2);
                        if ( (LA344_75 == EOF || ((LA344_75 >= ASCII_SYMBOL) && (LA344_75 <= YEAR_SYMBOL)) || LA344_75 == AND_SYMBOL || LA344_75 == AS_SYMBOL || LA344_75 == BACK_TICK_QUOTED_ID || LA344_75 == BETWEEN_SYMBOL || LA344_75 == BITWISE_AND_OPERATOR || ((LA344_75 >= BITWISE_OR_OPERATOR) && (LA344_75 <= BITWISE_XOR_OPERATOR)) || ((LA344_75 >= CLOSE_CURLY_SYMBOL) && (LA344_75 <= COLLATE_SYMBOL)) || LA344_75 == COMMA_SYMBOL || LA344_75 == CONCAT_PIPES_SYMBOL || LA344_75 == CROSS_SYMBOL || ((LA344_75 >= DIV_OPERATOR) && (LA344_75 <= DIV_SYMBOL)) || LA344_75 == DOUBLE_QUOTED_TEXT || LA344_75 == EQUAL_OPERATOR || LA344_75 == FOR_SYMBOL || LA344_75 == FROM_SYMBOL || ((LA344_75 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_75 <= GREATER_THAN_OPERATOR)) || ((LA344_75 >= GROUP_SYMBOL) && (LA344_75 <= HAVING_SYMBOL)) || LA344_75 == IDENTIFIER || LA344_75 == INNER_SYMBOL || LA344_75 == INTO_SYMBOL || LA344_75 == IN_SYMBOL || LA344_75 == IS_SYMBOL || LA344_75 == JOIN_SYMBOL || ((LA344_75 >= LEFT_SYMBOL) && (LA344_75 <= LESS_THAN_OPERATOR)) || ((LA344_75 >= LIKE_SYMBOL) && (LA344_75 <= LIMIT_SYMBOL)) || LA344_75 == LOCK_SYMBOL || LA344_75 == LOGICAL_AND_OPERATOR || LA344_75 == LOGICAL_OR_OPERATOR || LA344_75 == MINUS_OPERATOR || ((LA344_75 >= MOD_OPERATOR) && (LA344_75 <= MOD_SYMBOL)) || ((LA344_75 >= MULT_OPERATOR) && (LA344_75 <= NATURAL_SYMBOL)) || ((LA344_75 >= NOT_EQUAL2_OPERATOR) && (LA344_75 <= NOT_SYMBOL)) || LA344_75 == NULL_SAFE_EQUAL_OPERATOR || LA344_75 == ON_SYMBOL || LA344_75 == OPEN_PAR_SYMBOL || ((LA344_75 >= ORDER_SYMBOL) && (LA344_75 <= OR_SYMBOL)) || LA344_75 == PLUS_OPERATOR || LA344_75 == PROCEDURE_SYMBOL || LA344_75 == REGEXP_SYMBOL || LA344_75 == RIGHT_SYMBOL || LA344_75 == SEMICOLON_SYMBOL || LA344_75 == SET_SYMBOL || ((LA344_75 >= SHIFT_LEFT_OPERATOR) && (LA344_75 <= SHIFT_RIGHT_OPERATOR)) || LA344_75 == SINGLE_QUOTED_TEXT || LA344_75 == STRAIGHT_JOIN_SYMBOL || LA344_75 == UNION_SYMBOL || LA344_75 == USING_SYMBOL || LA344_75 == WHERE_SYMBOL || LA344_75 == WITH_SYMBOL || LA344_75 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_75 == DOT_SYMBOL))
                        {
                            {
                                int LA344_2170 = LA(3);
                                if ( (LA344_2170 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_2170 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2563 = LA(4);
                                        if ( (LA344_2563 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12915 = LA(5);
                                                if ( (LA344_12915 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12915 >= ASCII_SYMBOL) && (LA344_12915 <= YEAR_SYMBOL)) || LA344_12915 == BACK_TICK_QUOTED_ID || LA344_12915 == DOUBLE_QUOTED_TEXT || LA344_12915 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12915;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2563 == EOF || ((LA344_2563 >= ASCII_SYMBOL) && (LA344_2563 <= YEAR_SYMBOL)) || LA344_2563 == AND_SYMBOL || LA344_2563 == AS_SYMBOL || LA344_2563 == BACK_TICK_QUOTED_ID || LA344_2563 == BETWEEN_SYMBOL || LA344_2563 == BITWISE_AND_OPERATOR || ((LA344_2563 >= BITWISE_OR_OPERATOR) && (LA344_2563 <= BITWISE_XOR_OPERATOR)) || ((LA344_2563 >= CLOSE_CURLY_SYMBOL) && (LA344_2563 <= COLLATE_SYMBOL)) || LA344_2563 == COMMA_SYMBOL || LA344_2563 == CONCAT_PIPES_SYMBOL || LA344_2563 == CROSS_SYMBOL || ((LA344_2563 >= DIV_OPERATOR) && (LA344_2563 <= DIV_SYMBOL)) || LA344_2563 == DOUBLE_QUOTED_TEXT || LA344_2563 == EQUAL_OPERATOR || LA344_2563 == FOR_SYMBOL || LA344_2563 == FROM_SYMBOL || ((LA344_2563 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2563 <= GREATER_THAN_OPERATOR)) || ((LA344_2563 >= GROUP_SYMBOL) && (LA344_2563 <= HAVING_SYMBOL)) || LA344_2563 == IDENTIFIER || LA344_2563 == INNER_SYMBOL || LA344_2563 == INTO_SYMBOL || LA344_2563 == IN_SYMBOL || LA344_2563 == IS_SYMBOL || LA344_2563 == JOIN_SYMBOL || ((LA344_2563 >= LEFT_SYMBOL) && (LA344_2563 <= LESS_THAN_OPERATOR)) || ((LA344_2563 >= LIKE_SYMBOL) && (LA344_2563 <= LIMIT_SYMBOL)) || LA344_2563 == LOCK_SYMBOL || LA344_2563 == LOGICAL_AND_OPERATOR || LA344_2563 == LOGICAL_OR_OPERATOR || LA344_2563 == MINUS_OPERATOR || ((LA344_2563 >= MOD_OPERATOR) && (LA344_2563 <= MOD_SYMBOL)) || ((LA344_2563 >= MULT_OPERATOR) && (LA344_2563 <= NATURAL_SYMBOL)) || ((LA344_2563 >= NOT_EQUAL2_OPERATOR) && (LA344_2563 <= NOT_SYMBOL)) || LA344_2563 == NULL_SAFE_EQUAL_OPERATOR || LA344_2563 == ON_SYMBOL || LA344_2563 == OPEN_PAR_SYMBOL || ((LA344_2563 >= ORDER_SYMBOL) && (LA344_2563 <= OR_SYMBOL)) || LA344_2563 == PLUS_OPERATOR || LA344_2563 == PROCEDURE_SYMBOL || LA344_2563 == REGEXP_SYMBOL || LA344_2563 == RIGHT_SYMBOL || LA344_2563 == SEMICOLON_SYMBOL || LA344_2563 == SET_SYMBOL || ((LA344_2563 >= SHIFT_LEFT_OPERATOR) && (LA344_2563 <= SHIFT_RIGHT_OPERATOR)) || LA344_2563 == SINGLE_QUOTED_TEXT || LA344_2563 == STRAIGHT_JOIN_SYMBOL || LA344_2563 == UNION_SYMBOL || LA344_2563 == USING_SYMBOL || LA344_2563 == WHERE_SYMBOL || LA344_2563 == WITH_SYMBOL || LA344_2563 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2563;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2170 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2564 = LA(4);
                                        if ( (LA344_2564 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_12968 = LA(5);
                                                if ( (LA344_12968 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_12968 >= ASCII_SYMBOL) && (LA344_12968 <= YEAR_SYMBOL)) || LA344_12968 == BACK_TICK_QUOTED_ID || LA344_12968 == DOUBLE_QUOTED_TEXT || LA344_12968 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 12968;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2564 == EOF || ((LA344_2564 >= ASCII_SYMBOL) && (LA344_2564 <= YEAR_SYMBOL)) || LA344_2564 == AND_SYMBOL || LA344_2564 == AS_SYMBOL || LA344_2564 == BACK_TICK_QUOTED_ID || LA344_2564 == BETWEEN_SYMBOL || LA344_2564 == BITWISE_AND_OPERATOR || ((LA344_2564 >= BITWISE_OR_OPERATOR) && (LA344_2564 <= BITWISE_XOR_OPERATOR)) || ((LA344_2564 >= CLOSE_CURLY_SYMBOL) && (LA344_2564 <= COLLATE_SYMBOL)) || LA344_2564 == COMMA_SYMBOL || LA344_2564 == CONCAT_PIPES_SYMBOL || LA344_2564 == CROSS_SYMBOL || ((LA344_2564 >= DIV_OPERATOR) && (LA344_2564 <= DIV_SYMBOL)) || LA344_2564 == DOUBLE_QUOTED_TEXT || LA344_2564 == EQUAL_OPERATOR || LA344_2564 == FOR_SYMBOL || LA344_2564 == FROM_SYMBOL || ((LA344_2564 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2564 <= GREATER_THAN_OPERATOR)) || ((LA344_2564 >= GROUP_SYMBOL) && (LA344_2564 <= HAVING_SYMBOL)) || LA344_2564 == IDENTIFIER || LA344_2564 == INNER_SYMBOL || LA344_2564 == INTO_SYMBOL || LA344_2564 == IN_SYMBOL || LA344_2564 == IS_SYMBOL || LA344_2564 == JOIN_SYMBOL || ((LA344_2564 >= LEFT_SYMBOL) && (LA344_2564 <= LESS_THAN_OPERATOR)) || ((LA344_2564 >= LIKE_SYMBOL) && (LA344_2564 <= LIMIT_SYMBOL)) || LA344_2564 == LOCK_SYMBOL || LA344_2564 == LOGICAL_AND_OPERATOR || LA344_2564 == LOGICAL_OR_OPERATOR || LA344_2564 == MINUS_OPERATOR || ((LA344_2564 >= MOD_OPERATOR) && (LA344_2564 <= MOD_SYMBOL)) || ((LA344_2564 >= MULT_OPERATOR) && (LA344_2564 <= NATURAL_SYMBOL)) || ((LA344_2564 >= NOT_EQUAL2_OPERATOR) && (LA344_2564 <= NOT_SYMBOL)) || LA344_2564 == NULL_SAFE_EQUAL_OPERATOR || LA344_2564 == ON_SYMBOL || LA344_2564 == OPEN_PAR_SYMBOL || ((LA344_2564 >= ORDER_SYMBOL) && (LA344_2564 <= OR_SYMBOL)) || LA344_2564 == PLUS_OPERATOR || LA344_2564 == PROCEDURE_SYMBOL || LA344_2564 == REGEXP_SYMBOL || LA344_2564 == RIGHT_SYMBOL || LA344_2564 == SEMICOLON_SYMBOL || LA344_2564 == SET_SYMBOL || ((LA344_2564 >= SHIFT_LEFT_OPERATOR) && (LA344_2564 <= SHIFT_RIGHT_OPERATOR)) || LA344_2564 == SINGLE_QUOTED_TEXT || LA344_2564 == STRAIGHT_JOIN_SYMBOL || LA344_2564 == UNION_SYMBOL || LA344_2564 == USING_SYMBOL || LA344_2564 == WHERE_SYMBOL || LA344_2564 == WITH_SYMBOL || LA344_2564 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2564;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2170 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2565 = LA(4);
                                        if ( (LA344_2565 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13021 = LA(5);
                                                if ( (LA344_13021 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13021 >= ASCII_SYMBOL) && (LA344_13021 <= YEAR_SYMBOL)) || LA344_13021 == BACK_TICK_QUOTED_ID || LA344_13021 == DOUBLE_QUOTED_TEXT || LA344_13021 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13021;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2565 == EOF || ((LA344_2565 >= ASCII_SYMBOL) && (LA344_2565 <= YEAR_SYMBOL)) || LA344_2565 == AND_SYMBOL || LA344_2565 == AS_SYMBOL || LA344_2565 == BACK_TICK_QUOTED_ID || LA344_2565 == BETWEEN_SYMBOL || LA344_2565 == BITWISE_AND_OPERATOR || ((LA344_2565 >= BITWISE_OR_OPERATOR) && (LA344_2565 <= BITWISE_XOR_OPERATOR)) || ((LA344_2565 >= CLOSE_CURLY_SYMBOL) && (LA344_2565 <= COLLATE_SYMBOL)) || LA344_2565 == COMMA_SYMBOL || LA344_2565 == CONCAT_PIPES_SYMBOL || LA344_2565 == CROSS_SYMBOL || ((LA344_2565 >= DIV_OPERATOR) && (LA344_2565 <= DIV_SYMBOL)) || LA344_2565 == DOUBLE_QUOTED_TEXT || LA344_2565 == EQUAL_OPERATOR || LA344_2565 == FOR_SYMBOL || LA344_2565 == FROM_SYMBOL || ((LA344_2565 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2565 <= GREATER_THAN_OPERATOR)) || ((LA344_2565 >= GROUP_SYMBOL) && (LA344_2565 <= HAVING_SYMBOL)) || LA344_2565 == IDENTIFIER || LA344_2565 == INNER_SYMBOL || LA344_2565 == INTO_SYMBOL || LA344_2565 == IN_SYMBOL || LA344_2565 == IS_SYMBOL || LA344_2565 == JOIN_SYMBOL || ((LA344_2565 >= LEFT_SYMBOL) && (LA344_2565 <= LESS_THAN_OPERATOR)) || ((LA344_2565 >= LIKE_SYMBOL) && (LA344_2565 <= LIMIT_SYMBOL)) || LA344_2565 == LOCK_SYMBOL || LA344_2565 == LOGICAL_AND_OPERATOR || LA344_2565 == LOGICAL_OR_OPERATOR || LA344_2565 == MINUS_OPERATOR || ((LA344_2565 >= MOD_OPERATOR) && (LA344_2565 <= MOD_SYMBOL)) || ((LA344_2565 >= MULT_OPERATOR) && (LA344_2565 <= NATURAL_SYMBOL)) || ((LA344_2565 >= NOT_EQUAL2_OPERATOR) && (LA344_2565 <= NOT_SYMBOL)) || LA344_2565 == NULL_SAFE_EQUAL_OPERATOR || LA344_2565 == ON_SYMBOL || LA344_2565 == OPEN_PAR_SYMBOL || ((LA344_2565 >= ORDER_SYMBOL) && (LA344_2565 <= OR_SYMBOL)) || LA344_2565 == PLUS_OPERATOR || LA344_2565 == PROCEDURE_SYMBOL || LA344_2565 == REGEXP_SYMBOL || LA344_2565 == RIGHT_SYMBOL || LA344_2565 == SEMICOLON_SYMBOL || LA344_2565 == SET_SYMBOL || ((LA344_2565 >= SHIFT_LEFT_OPERATOR) && (LA344_2565 <= SHIFT_RIGHT_OPERATOR)) || LA344_2565 == SINGLE_QUOTED_TEXT || LA344_2565 == STRAIGHT_JOIN_SYMBOL || LA344_2565 == UNION_SYMBOL || LA344_2565 == USING_SYMBOL || LA344_2565 == WHERE_SYMBOL || LA344_2565 == WITH_SYMBOL || LA344_2565 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2565;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2170 >= ACTION_SYMBOL) && (LA344_2170 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2566 = LA(4);
                                        if ( (LA344_2566 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13074 = LA(5);
                                                if ( (LA344_13074 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13074 >= ASCII_SYMBOL) && (LA344_13074 <= YEAR_SYMBOL)) || LA344_13074 == BACK_TICK_QUOTED_ID || LA344_13074 == DOUBLE_QUOTED_TEXT || LA344_13074 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13074;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2566 == EOF || ((LA344_2566 >= ASCII_SYMBOL) && (LA344_2566 <= YEAR_SYMBOL)) || LA344_2566 == AND_SYMBOL || LA344_2566 == AS_SYMBOL || LA344_2566 == BACK_TICK_QUOTED_ID || LA344_2566 == BETWEEN_SYMBOL || LA344_2566 == BITWISE_AND_OPERATOR || ((LA344_2566 >= BITWISE_OR_OPERATOR) && (LA344_2566 <= BITWISE_XOR_OPERATOR)) || ((LA344_2566 >= CLOSE_CURLY_SYMBOL) && (LA344_2566 <= COLLATE_SYMBOL)) || LA344_2566 == COMMA_SYMBOL || LA344_2566 == CONCAT_PIPES_SYMBOL || LA344_2566 == CROSS_SYMBOL || ((LA344_2566 >= DIV_OPERATOR) && (LA344_2566 <= DIV_SYMBOL)) || LA344_2566 == DOUBLE_QUOTED_TEXT || LA344_2566 == EQUAL_OPERATOR || LA344_2566 == FOR_SYMBOL || LA344_2566 == FROM_SYMBOL || ((LA344_2566 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2566 <= GREATER_THAN_OPERATOR)) || ((LA344_2566 >= GROUP_SYMBOL) && (LA344_2566 <= HAVING_SYMBOL)) || LA344_2566 == IDENTIFIER || LA344_2566 == INNER_SYMBOL || LA344_2566 == INTO_SYMBOL || LA344_2566 == IN_SYMBOL || LA344_2566 == IS_SYMBOL || LA344_2566 == JOIN_SYMBOL || ((LA344_2566 >= LEFT_SYMBOL) && (LA344_2566 <= LESS_THAN_OPERATOR)) || ((LA344_2566 >= LIKE_SYMBOL) && (LA344_2566 <= LIMIT_SYMBOL)) || LA344_2566 == LOCK_SYMBOL || LA344_2566 == LOGICAL_AND_OPERATOR || LA344_2566 == LOGICAL_OR_OPERATOR || LA344_2566 == MINUS_OPERATOR || ((LA344_2566 >= MOD_OPERATOR) && (LA344_2566 <= MOD_SYMBOL)) || ((LA344_2566 >= MULT_OPERATOR) && (LA344_2566 <= NATURAL_SYMBOL)) || ((LA344_2566 >= NOT_EQUAL2_OPERATOR) && (LA344_2566 <= NOT_SYMBOL)) || LA344_2566 == NULL_SAFE_EQUAL_OPERATOR || LA344_2566 == ON_SYMBOL || LA344_2566 == OPEN_PAR_SYMBOL || ((LA344_2566 >= ORDER_SYMBOL) && (LA344_2566 <= OR_SYMBOL)) || LA344_2566 == PLUS_OPERATOR || LA344_2566 == PROCEDURE_SYMBOL || LA344_2566 == REGEXP_SYMBOL || LA344_2566 == RIGHT_SYMBOL || LA344_2566 == SEMICOLON_SYMBOL || LA344_2566 == SET_SYMBOL || ((LA344_2566 >= SHIFT_LEFT_OPERATOR) && (LA344_2566 <= SHIFT_RIGHT_OPERATOR)) || LA344_2566 == SINGLE_QUOTED_TEXT || LA344_2566 == STRAIGHT_JOIN_SYMBOL || LA344_2566 == UNION_SYMBOL || LA344_2566 == USING_SYMBOL || LA344_2566 == WHERE_SYMBOL || LA344_2566 == WITH_SYMBOL || LA344_2566 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2566;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2170 >= ASCII_SYMBOL) && (LA344_2170 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2567 = LA(4);
                                        if ( (LA344_2567 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13127 = LA(5);
                                                if ( (LA344_13127 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13127 >= ASCII_SYMBOL) && (LA344_13127 <= YEAR_SYMBOL)) || LA344_13127 == BACK_TICK_QUOTED_ID || LA344_13127 == DOUBLE_QUOTED_TEXT || LA344_13127 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13127;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2567 == EOF || ((LA344_2567 >= ASCII_SYMBOL) && (LA344_2567 <= YEAR_SYMBOL)) || LA344_2567 == AND_SYMBOL || LA344_2567 == AS_SYMBOL || LA344_2567 == BACK_TICK_QUOTED_ID || LA344_2567 == BETWEEN_SYMBOL || LA344_2567 == BITWISE_AND_OPERATOR || ((LA344_2567 >= BITWISE_OR_OPERATOR) && (LA344_2567 <= BITWISE_XOR_OPERATOR)) || ((LA344_2567 >= CLOSE_CURLY_SYMBOL) && (LA344_2567 <= COLLATE_SYMBOL)) || LA344_2567 == COMMA_SYMBOL || LA344_2567 == CONCAT_PIPES_SYMBOL || LA344_2567 == CROSS_SYMBOL || ((LA344_2567 >= DIV_OPERATOR) && (LA344_2567 <= DIV_SYMBOL)) || LA344_2567 == DOUBLE_QUOTED_TEXT || LA344_2567 == EQUAL_OPERATOR || LA344_2567 == FOR_SYMBOL || LA344_2567 == FROM_SYMBOL || ((LA344_2567 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2567 <= GREATER_THAN_OPERATOR)) || ((LA344_2567 >= GROUP_SYMBOL) && (LA344_2567 <= HAVING_SYMBOL)) || LA344_2567 == IDENTIFIER || LA344_2567 == INNER_SYMBOL || LA344_2567 == INTO_SYMBOL || LA344_2567 == IN_SYMBOL || LA344_2567 == IS_SYMBOL || LA344_2567 == JOIN_SYMBOL || ((LA344_2567 >= LEFT_SYMBOL) && (LA344_2567 <= LESS_THAN_OPERATOR)) || ((LA344_2567 >= LIKE_SYMBOL) && (LA344_2567 <= LIMIT_SYMBOL)) || LA344_2567 == LOCK_SYMBOL || LA344_2567 == LOGICAL_AND_OPERATOR || LA344_2567 == LOGICAL_OR_OPERATOR || LA344_2567 == MINUS_OPERATOR || ((LA344_2567 >= MOD_OPERATOR) && (LA344_2567 <= MOD_SYMBOL)) || ((LA344_2567 >= MULT_OPERATOR) && (LA344_2567 <= NATURAL_SYMBOL)) || ((LA344_2567 >= NOT_EQUAL2_OPERATOR) && (LA344_2567 <= NOT_SYMBOL)) || LA344_2567 == NULL_SAFE_EQUAL_OPERATOR || LA344_2567 == ON_SYMBOL || LA344_2567 == OPEN_PAR_SYMBOL || ((LA344_2567 >= ORDER_SYMBOL) && (LA344_2567 <= OR_SYMBOL)) || LA344_2567 == PLUS_OPERATOR || LA344_2567 == PROCEDURE_SYMBOL || LA344_2567 == REGEXP_SYMBOL || LA344_2567 == RIGHT_SYMBOL || LA344_2567 == SEMICOLON_SYMBOL || LA344_2567 == SET_SYMBOL || ((LA344_2567 >= SHIFT_LEFT_OPERATOR) && (LA344_2567 <= SHIFT_RIGHT_OPERATOR)) || LA344_2567 == SINGLE_QUOTED_TEXT || LA344_2567 == STRAIGHT_JOIN_SYMBOL || LA344_2567 == UNION_SYMBOL || LA344_2567 == USING_SYMBOL || LA344_2567 == WHERE_SYMBOL || LA344_2567 == WITH_SYMBOL || LA344_2567 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2567;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 2170;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 75;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == ROW_SYMBOL))
                {
                    {
                        int LA344_76 = LA(2);
                        if ( (LA344_76 == EOF || ((LA344_76 >= ASCII_SYMBOL) && (LA344_76 <= YEAR_SYMBOL)) || LA344_76 == AND_SYMBOL || LA344_76 == AS_SYMBOL || LA344_76 == BACK_TICK_QUOTED_ID || LA344_76 == BETWEEN_SYMBOL || LA344_76 == BITWISE_AND_OPERATOR || ((LA344_76 >= BITWISE_OR_OPERATOR) && (LA344_76 <= BITWISE_XOR_OPERATOR)) || ((LA344_76 >= CLOSE_CURLY_SYMBOL) && (LA344_76 <= COLLATE_SYMBOL)) || LA344_76 == COMMA_SYMBOL || LA344_76 == CONCAT_PIPES_SYMBOL || LA344_76 == CROSS_SYMBOL || ((LA344_76 >= DIV_OPERATOR) && (LA344_76 <= DIV_SYMBOL)) || LA344_76 == DOUBLE_QUOTED_TEXT || LA344_76 == EQUAL_OPERATOR || LA344_76 == FOR_SYMBOL || LA344_76 == FROM_SYMBOL || ((LA344_76 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_76 <= GREATER_THAN_OPERATOR)) || ((LA344_76 >= GROUP_SYMBOL) && (LA344_76 <= HAVING_SYMBOL)) || LA344_76 == IDENTIFIER || LA344_76 == INNER_SYMBOL || LA344_76 == INTO_SYMBOL || LA344_76 == IN_SYMBOL || LA344_76 == IS_SYMBOL || LA344_76 == JOIN_SYMBOL || ((LA344_76 >= LEFT_SYMBOL) && (LA344_76 <= LESS_THAN_OPERATOR)) || ((LA344_76 >= LIKE_SYMBOL) && (LA344_76 <= LIMIT_SYMBOL)) || LA344_76 == LOCK_SYMBOL || LA344_76 == LOGICAL_AND_OPERATOR || LA344_76 == LOGICAL_OR_OPERATOR || LA344_76 == MINUS_OPERATOR || ((LA344_76 >= MOD_OPERATOR) && (LA344_76 <= MOD_SYMBOL)) || ((LA344_76 >= MULT_OPERATOR) && (LA344_76 <= NATURAL_SYMBOL)) || ((LA344_76 >= NOT_EQUAL2_OPERATOR) && (LA344_76 <= NOT_SYMBOL)) || LA344_76 == NULL_SAFE_EQUAL_OPERATOR || LA344_76 == ON_SYMBOL || LA344_76 == OPEN_PAR_SYMBOL || ((LA344_76 >= ORDER_SYMBOL) && (LA344_76 <= OR_SYMBOL)) || LA344_76 == PLUS_OPERATOR || LA344_76 == PROCEDURE_SYMBOL || LA344_76 == REGEXP_SYMBOL || LA344_76 == RIGHT_SYMBOL || LA344_76 == SEMICOLON_SYMBOL || LA344_76 == SET_SYMBOL || ((LA344_76 >= SHIFT_LEFT_OPERATOR) && (LA344_76 <= SHIFT_RIGHT_OPERATOR)) || LA344_76 == SINGLE_QUOTED_TEXT || LA344_76 == STRAIGHT_JOIN_SYMBOL || LA344_76 == UNION_SYMBOL || LA344_76 == USING_SYMBOL || LA344_76 == WHERE_SYMBOL || LA344_76 == WITH_SYMBOL || LA344_76 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else if ( (LA344_76 == DOT_SYMBOL))
                        {
                            {
                                int LA344_2223 = LA(3);
                                if ( (LA344_2223 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_2223 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2569 = LA(4);
                                        if ( (LA344_2569 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13180 = LA(5);
                                                if ( (LA344_13180 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13180 >= ASCII_SYMBOL) && (LA344_13180 <= YEAR_SYMBOL)) || LA344_13180 == BACK_TICK_QUOTED_ID || LA344_13180 == DOUBLE_QUOTED_TEXT || LA344_13180 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13180;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2569 == EOF || ((LA344_2569 >= ASCII_SYMBOL) && (LA344_2569 <= YEAR_SYMBOL)) || LA344_2569 == AND_SYMBOL || LA344_2569 == AS_SYMBOL || LA344_2569 == BACK_TICK_QUOTED_ID || LA344_2569 == BETWEEN_SYMBOL || LA344_2569 == BITWISE_AND_OPERATOR || ((LA344_2569 >= BITWISE_OR_OPERATOR) && (LA344_2569 <= BITWISE_XOR_OPERATOR)) || ((LA344_2569 >= CLOSE_CURLY_SYMBOL) && (LA344_2569 <= COLLATE_SYMBOL)) || LA344_2569 == COMMA_SYMBOL || LA344_2569 == CONCAT_PIPES_SYMBOL || LA344_2569 == CROSS_SYMBOL || ((LA344_2569 >= DIV_OPERATOR) && (LA344_2569 <= DIV_SYMBOL)) || LA344_2569 == DOUBLE_QUOTED_TEXT || LA344_2569 == EQUAL_OPERATOR || LA344_2569 == FOR_SYMBOL || LA344_2569 == FROM_SYMBOL || ((LA344_2569 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2569 <= GREATER_THAN_OPERATOR)) || ((LA344_2569 >= GROUP_SYMBOL) && (LA344_2569 <= HAVING_SYMBOL)) || LA344_2569 == IDENTIFIER || LA344_2569 == INNER_SYMBOL || LA344_2569 == INTO_SYMBOL || LA344_2569 == IN_SYMBOL || LA344_2569 == IS_SYMBOL || LA344_2569 == JOIN_SYMBOL || ((LA344_2569 >= LEFT_SYMBOL) && (LA344_2569 <= LESS_THAN_OPERATOR)) || ((LA344_2569 >= LIKE_SYMBOL) && (LA344_2569 <= LIMIT_SYMBOL)) || LA344_2569 == LOCK_SYMBOL || LA344_2569 == LOGICAL_AND_OPERATOR || LA344_2569 == LOGICAL_OR_OPERATOR || LA344_2569 == MINUS_OPERATOR || ((LA344_2569 >= MOD_OPERATOR) && (LA344_2569 <= MOD_SYMBOL)) || ((LA344_2569 >= MULT_OPERATOR) && (LA344_2569 <= NATURAL_SYMBOL)) || ((LA344_2569 >= NOT_EQUAL2_OPERATOR) && (LA344_2569 <= NOT_SYMBOL)) || LA344_2569 == NULL_SAFE_EQUAL_OPERATOR || LA344_2569 == ON_SYMBOL || LA344_2569 == OPEN_PAR_SYMBOL || ((LA344_2569 >= ORDER_SYMBOL) && (LA344_2569 <= OR_SYMBOL)) || LA344_2569 == PLUS_OPERATOR || LA344_2569 == PROCEDURE_SYMBOL || LA344_2569 == REGEXP_SYMBOL || LA344_2569 == RIGHT_SYMBOL || LA344_2569 == SEMICOLON_SYMBOL || LA344_2569 == SET_SYMBOL || ((LA344_2569 >= SHIFT_LEFT_OPERATOR) && (LA344_2569 <= SHIFT_RIGHT_OPERATOR)) || LA344_2569 == SINGLE_QUOTED_TEXT || LA344_2569 == STRAIGHT_JOIN_SYMBOL || LA344_2569 == UNION_SYMBOL || LA344_2569 == USING_SYMBOL || LA344_2569 == WHERE_SYMBOL || LA344_2569 == WITH_SYMBOL || LA344_2569 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2569;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2223 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2570 = LA(4);
                                        if ( (LA344_2570 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13233 = LA(5);
                                                if ( (LA344_13233 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13233 >= ASCII_SYMBOL) && (LA344_13233 <= YEAR_SYMBOL)) || LA344_13233 == BACK_TICK_QUOTED_ID || LA344_13233 == DOUBLE_QUOTED_TEXT || LA344_13233 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13233;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2570 == EOF || ((LA344_2570 >= ASCII_SYMBOL) && (LA344_2570 <= YEAR_SYMBOL)) || LA344_2570 == AND_SYMBOL || LA344_2570 == AS_SYMBOL || LA344_2570 == BACK_TICK_QUOTED_ID || LA344_2570 == BETWEEN_SYMBOL || LA344_2570 == BITWISE_AND_OPERATOR || ((LA344_2570 >= BITWISE_OR_OPERATOR) && (LA344_2570 <= BITWISE_XOR_OPERATOR)) || ((LA344_2570 >= CLOSE_CURLY_SYMBOL) && (LA344_2570 <= COLLATE_SYMBOL)) || LA344_2570 == COMMA_SYMBOL || LA344_2570 == CONCAT_PIPES_SYMBOL || LA344_2570 == CROSS_SYMBOL || ((LA344_2570 >= DIV_OPERATOR) && (LA344_2570 <= DIV_SYMBOL)) || LA344_2570 == DOUBLE_QUOTED_TEXT || LA344_2570 == EQUAL_OPERATOR || LA344_2570 == FOR_SYMBOL || LA344_2570 == FROM_SYMBOL || ((LA344_2570 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2570 <= GREATER_THAN_OPERATOR)) || ((LA344_2570 >= GROUP_SYMBOL) && (LA344_2570 <= HAVING_SYMBOL)) || LA344_2570 == IDENTIFIER || LA344_2570 == INNER_SYMBOL || LA344_2570 == INTO_SYMBOL || LA344_2570 == IN_SYMBOL || LA344_2570 == IS_SYMBOL || LA344_2570 == JOIN_SYMBOL || ((LA344_2570 >= LEFT_SYMBOL) && (LA344_2570 <= LESS_THAN_OPERATOR)) || ((LA344_2570 >= LIKE_SYMBOL) && (LA344_2570 <= LIMIT_SYMBOL)) || LA344_2570 == LOCK_SYMBOL || LA344_2570 == LOGICAL_AND_OPERATOR || LA344_2570 == LOGICAL_OR_OPERATOR || LA344_2570 == MINUS_OPERATOR || ((LA344_2570 >= MOD_OPERATOR) && (LA344_2570 <= MOD_SYMBOL)) || ((LA344_2570 >= MULT_OPERATOR) && (LA344_2570 <= NATURAL_SYMBOL)) || ((LA344_2570 >= NOT_EQUAL2_OPERATOR) && (LA344_2570 <= NOT_SYMBOL)) || LA344_2570 == NULL_SAFE_EQUAL_OPERATOR || LA344_2570 == ON_SYMBOL || LA344_2570 == OPEN_PAR_SYMBOL || ((LA344_2570 >= ORDER_SYMBOL) && (LA344_2570 <= OR_SYMBOL)) || LA344_2570 == PLUS_OPERATOR || LA344_2570 == PROCEDURE_SYMBOL || LA344_2570 == REGEXP_SYMBOL || LA344_2570 == RIGHT_SYMBOL || LA344_2570 == SEMICOLON_SYMBOL || LA344_2570 == SET_SYMBOL || ((LA344_2570 >= SHIFT_LEFT_OPERATOR) && (LA344_2570 <= SHIFT_RIGHT_OPERATOR)) || LA344_2570 == SINGLE_QUOTED_TEXT || LA344_2570 == STRAIGHT_JOIN_SYMBOL || LA344_2570 == UNION_SYMBOL || LA344_2570 == USING_SYMBOL || LA344_2570 == WHERE_SYMBOL || LA344_2570 == WITH_SYMBOL || LA344_2570 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2570;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2223 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2571 = LA(4);
                                        if ( (LA344_2571 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13286 = LA(5);
                                                if ( (LA344_13286 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13286 >= ASCII_SYMBOL) && (LA344_13286 <= YEAR_SYMBOL)) || LA344_13286 == BACK_TICK_QUOTED_ID || LA344_13286 == DOUBLE_QUOTED_TEXT || LA344_13286 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13286;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2571 == EOF || ((LA344_2571 >= ASCII_SYMBOL) && (LA344_2571 <= YEAR_SYMBOL)) || LA344_2571 == AND_SYMBOL || LA344_2571 == AS_SYMBOL || LA344_2571 == BACK_TICK_QUOTED_ID || LA344_2571 == BETWEEN_SYMBOL || LA344_2571 == BITWISE_AND_OPERATOR || ((LA344_2571 >= BITWISE_OR_OPERATOR) && (LA344_2571 <= BITWISE_XOR_OPERATOR)) || ((LA344_2571 >= CLOSE_CURLY_SYMBOL) && (LA344_2571 <= COLLATE_SYMBOL)) || LA344_2571 == COMMA_SYMBOL || LA344_2571 == CONCAT_PIPES_SYMBOL || LA344_2571 == CROSS_SYMBOL || ((LA344_2571 >= DIV_OPERATOR) && (LA344_2571 <= DIV_SYMBOL)) || LA344_2571 == DOUBLE_QUOTED_TEXT || LA344_2571 == EQUAL_OPERATOR || LA344_2571 == FOR_SYMBOL || LA344_2571 == FROM_SYMBOL || ((LA344_2571 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2571 <= GREATER_THAN_OPERATOR)) || ((LA344_2571 >= GROUP_SYMBOL) && (LA344_2571 <= HAVING_SYMBOL)) || LA344_2571 == IDENTIFIER || LA344_2571 == INNER_SYMBOL || LA344_2571 == INTO_SYMBOL || LA344_2571 == IN_SYMBOL || LA344_2571 == IS_SYMBOL || LA344_2571 == JOIN_SYMBOL || ((LA344_2571 >= LEFT_SYMBOL) && (LA344_2571 <= LESS_THAN_OPERATOR)) || ((LA344_2571 >= LIKE_SYMBOL) && (LA344_2571 <= LIMIT_SYMBOL)) || LA344_2571 == LOCK_SYMBOL || LA344_2571 == LOGICAL_AND_OPERATOR || LA344_2571 == LOGICAL_OR_OPERATOR || LA344_2571 == MINUS_OPERATOR || ((LA344_2571 >= MOD_OPERATOR) && (LA344_2571 <= MOD_SYMBOL)) || ((LA344_2571 >= MULT_OPERATOR) && (LA344_2571 <= NATURAL_SYMBOL)) || ((LA344_2571 >= NOT_EQUAL2_OPERATOR) && (LA344_2571 <= NOT_SYMBOL)) || LA344_2571 == NULL_SAFE_EQUAL_OPERATOR || LA344_2571 == ON_SYMBOL || LA344_2571 == OPEN_PAR_SYMBOL || ((LA344_2571 >= ORDER_SYMBOL) && (LA344_2571 <= OR_SYMBOL)) || LA344_2571 == PLUS_OPERATOR || LA344_2571 == PROCEDURE_SYMBOL || LA344_2571 == REGEXP_SYMBOL || LA344_2571 == RIGHT_SYMBOL || LA344_2571 == SEMICOLON_SYMBOL || LA344_2571 == SET_SYMBOL || ((LA344_2571 >= SHIFT_LEFT_OPERATOR) && (LA344_2571 <= SHIFT_RIGHT_OPERATOR)) || LA344_2571 == SINGLE_QUOTED_TEXT || LA344_2571 == STRAIGHT_JOIN_SYMBOL || LA344_2571 == UNION_SYMBOL || LA344_2571 == USING_SYMBOL || LA344_2571 == WHERE_SYMBOL || LA344_2571 == WITH_SYMBOL || LA344_2571 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2571;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2223 >= ACTION_SYMBOL) && (LA344_2223 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2572 = LA(4);
                                        if ( (LA344_2572 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13339 = LA(5);
                                                if ( (LA344_13339 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13339 >= ASCII_SYMBOL) && (LA344_13339 <= YEAR_SYMBOL)) || LA344_13339 == BACK_TICK_QUOTED_ID || LA344_13339 == DOUBLE_QUOTED_TEXT || LA344_13339 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13339;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2572 == EOF || ((LA344_2572 >= ASCII_SYMBOL) && (LA344_2572 <= YEAR_SYMBOL)) || LA344_2572 == AND_SYMBOL || LA344_2572 == AS_SYMBOL || LA344_2572 == BACK_TICK_QUOTED_ID || LA344_2572 == BETWEEN_SYMBOL || LA344_2572 == BITWISE_AND_OPERATOR || ((LA344_2572 >= BITWISE_OR_OPERATOR) && (LA344_2572 <= BITWISE_XOR_OPERATOR)) || ((LA344_2572 >= CLOSE_CURLY_SYMBOL) && (LA344_2572 <= COLLATE_SYMBOL)) || LA344_2572 == COMMA_SYMBOL || LA344_2572 == CONCAT_PIPES_SYMBOL || LA344_2572 == CROSS_SYMBOL || ((LA344_2572 >= DIV_OPERATOR) && (LA344_2572 <= DIV_SYMBOL)) || LA344_2572 == DOUBLE_QUOTED_TEXT || LA344_2572 == EQUAL_OPERATOR || LA344_2572 == FOR_SYMBOL || LA344_2572 == FROM_SYMBOL || ((LA344_2572 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2572 <= GREATER_THAN_OPERATOR)) || ((LA344_2572 >= GROUP_SYMBOL) && (LA344_2572 <= HAVING_SYMBOL)) || LA344_2572 == IDENTIFIER || LA344_2572 == INNER_SYMBOL || LA344_2572 == INTO_SYMBOL || LA344_2572 == IN_SYMBOL || LA344_2572 == IS_SYMBOL || LA344_2572 == JOIN_SYMBOL || ((LA344_2572 >= LEFT_SYMBOL) && (LA344_2572 <= LESS_THAN_OPERATOR)) || ((LA344_2572 >= LIKE_SYMBOL) && (LA344_2572 <= LIMIT_SYMBOL)) || LA344_2572 == LOCK_SYMBOL || LA344_2572 == LOGICAL_AND_OPERATOR || LA344_2572 == LOGICAL_OR_OPERATOR || LA344_2572 == MINUS_OPERATOR || ((LA344_2572 >= MOD_OPERATOR) && (LA344_2572 <= MOD_SYMBOL)) || ((LA344_2572 >= MULT_OPERATOR) && (LA344_2572 <= NATURAL_SYMBOL)) || ((LA344_2572 >= NOT_EQUAL2_OPERATOR) && (LA344_2572 <= NOT_SYMBOL)) || LA344_2572 == NULL_SAFE_EQUAL_OPERATOR || LA344_2572 == ON_SYMBOL || LA344_2572 == OPEN_PAR_SYMBOL || ((LA344_2572 >= ORDER_SYMBOL) && (LA344_2572 <= OR_SYMBOL)) || LA344_2572 == PLUS_OPERATOR || LA344_2572 == PROCEDURE_SYMBOL || LA344_2572 == REGEXP_SYMBOL || LA344_2572 == RIGHT_SYMBOL || LA344_2572 == SEMICOLON_SYMBOL || LA344_2572 == SET_SYMBOL || ((LA344_2572 >= SHIFT_LEFT_OPERATOR) && (LA344_2572 <= SHIFT_RIGHT_OPERATOR)) || LA344_2572 == SINGLE_QUOTED_TEXT || LA344_2572 == STRAIGHT_JOIN_SYMBOL || LA344_2572 == UNION_SYMBOL || LA344_2572 == USING_SYMBOL || LA344_2572 == WHERE_SYMBOL || LA344_2572 == WITH_SYMBOL || LA344_2572 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2572;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2223 >= ASCII_SYMBOL) && (LA344_2223 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2573 = LA(4);
                                        if ( (LA344_2573 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13392 = LA(5);
                                                if ( (LA344_13392 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13392 >= ASCII_SYMBOL) && (LA344_13392 <= YEAR_SYMBOL)) || LA344_13392 == BACK_TICK_QUOTED_ID || LA344_13392 == DOUBLE_QUOTED_TEXT || LA344_13392 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13392;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2573 == EOF || ((LA344_2573 >= ASCII_SYMBOL) && (LA344_2573 <= YEAR_SYMBOL)) || LA344_2573 == AND_SYMBOL || LA344_2573 == AS_SYMBOL || LA344_2573 == BACK_TICK_QUOTED_ID || LA344_2573 == BETWEEN_SYMBOL || LA344_2573 == BITWISE_AND_OPERATOR || ((LA344_2573 >= BITWISE_OR_OPERATOR) && (LA344_2573 <= BITWISE_XOR_OPERATOR)) || ((LA344_2573 >= CLOSE_CURLY_SYMBOL) && (LA344_2573 <= COLLATE_SYMBOL)) || LA344_2573 == COMMA_SYMBOL || LA344_2573 == CONCAT_PIPES_SYMBOL || LA344_2573 == CROSS_SYMBOL || ((LA344_2573 >= DIV_OPERATOR) && (LA344_2573 <= DIV_SYMBOL)) || LA344_2573 == DOUBLE_QUOTED_TEXT || LA344_2573 == EQUAL_OPERATOR || LA344_2573 == FOR_SYMBOL || LA344_2573 == FROM_SYMBOL || ((LA344_2573 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2573 <= GREATER_THAN_OPERATOR)) || ((LA344_2573 >= GROUP_SYMBOL) && (LA344_2573 <= HAVING_SYMBOL)) || LA344_2573 == IDENTIFIER || LA344_2573 == INNER_SYMBOL || LA344_2573 == INTO_SYMBOL || LA344_2573 == IN_SYMBOL || LA344_2573 == IS_SYMBOL || LA344_2573 == JOIN_SYMBOL || ((LA344_2573 >= LEFT_SYMBOL) && (LA344_2573 <= LESS_THAN_OPERATOR)) || ((LA344_2573 >= LIKE_SYMBOL) && (LA344_2573 <= LIMIT_SYMBOL)) || LA344_2573 == LOCK_SYMBOL || LA344_2573 == LOGICAL_AND_OPERATOR || LA344_2573 == LOGICAL_OR_OPERATOR || LA344_2573 == MINUS_OPERATOR || ((LA344_2573 >= MOD_OPERATOR) && (LA344_2573 <= MOD_SYMBOL)) || ((LA344_2573 >= MULT_OPERATOR) && (LA344_2573 <= NATURAL_SYMBOL)) || ((LA344_2573 >= NOT_EQUAL2_OPERATOR) && (LA344_2573 <= NOT_SYMBOL)) || LA344_2573 == NULL_SAFE_EQUAL_OPERATOR || LA344_2573 == ON_SYMBOL || LA344_2573 == OPEN_PAR_SYMBOL || ((LA344_2573 >= ORDER_SYMBOL) && (LA344_2573 <= OR_SYMBOL)) || LA344_2573 == PLUS_OPERATOR || LA344_2573 == PROCEDURE_SYMBOL || LA344_2573 == REGEXP_SYMBOL || LA344_2573 == RIGHT_SYMBOL || LA344_2573 == SEMICOLON_SYMBOL || LA344_2573 == SET_SYMBOL || ((LA344_2573 >= SHIFT_LEFT_OPERATOR) && (LA344_2573 <= SHIFT_RIGHT_OPERATOR)) || LA344_2573 == SINGLE_QUOTED_TEXT || LA344_2573 == STRAIGHT_JOIN_SYMBOL || LA344_2573 == UNION_SYMBOL || LA344_2573 == USING_SYMBOL || LA344_2573 == WHERE_SYMBOL || LA344_2573 == WITH_SYMBOL || LA344_2573 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2573;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 2223;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 76;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA344_0 == ACTION_SYMBOL || ((LA344_0 >= AFTER_SYMBOL) && (LA344_0 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA344_0 >= BINLOG_SYMBOL) && (LA344_0 <= CLASS_ORIGIN_SYMBOL)) || LA344_0 == CODE_SYMBOL || ((LA344_0 >= COLUMN_NAME_SYMBOL) && (LA344_0 <= DATETIME_SYMBOL)) || ((LA344_0 >= DEFAULT_AUTH_SYMBOL) && (LA344_0 <= GEOMETRY_SYMBOL)) || ((LA344_0 >= GRANTS_SYMBOL) && (LA344_0 <= HOSTS_SYMBOL)) || ((LA344_0 >= IDENTIFIED_SYMBOL) && (LA344_0 <= LEVEL_SYMBOL)) || ((LA344_0 >= LIST_SYMBOL) && (LA344_0 <= MESSAGE_TEXT_SYMBOL)) || LA344_0 == MIGRATE_SYMBOL || ((LA344_0 >= MIN_ROWS_SYMBOL) && (LA344_0 <= MODE_SYMBOL)) || ((LA344_0 >= MUTEX_SYMBOL) && (LA344_0 <= OFFSET_SYMBOL)) || ((LA344_0 >= ONE_SHOT_SYMBOL) && (LA344_0 <= PARTITIONS_SYMBOL)) || ((LA344_0 >= PHASE_SYMBOL) && (LA344_0 <= PLUGINS_SYMBOL)) || ((LA344_0 >= PRESERVE_SYMBOL) && (LA344_0 <= PROXY_SYMBOL)) || ((LA344_0 >= QUERY_SYMBOL) && (LA344_0 <= RETURNS_SYMBOL)) || ((LA344_0 >= ROLLUP_SYMBOL) && (LA344_0 <= ROWS_SYMBOL)) || LA344_0 == ROW_FORMAT_SYMBOL || ((LA344_0 >= RTREE_SYMBOL) && (LA344_0 <= SCHEMA_NAME_SYMBOL)) || ((LA344_0 >= SERIAL_SYMBOL) && (LA344_0 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA344_0 >= SUBJECT_SYMBOL) && (LA344_0 <= TRIGGERS_SYMBOL)) || ((LA344_0 >= TYPES_SYMBOL) && (LA344_0 <= USER_RESOURCES_SYMBOL)) || ((LA344_0 >= USE_FRM_SYMBOL) && (LA344_0 <= WAIT_SYMBOL)) || LA344_0 == WORK_SYMBOL || ((LA344_0 >= X509_SYMBOL) && (LA344_0 <= XML_SYMBOL))))
                {
                    {
                        int LA344_95 = LA(2);
                        if ( (LA344_95 == DOT_SYMBOL))
                        {
                            {
                                int LA344_2275 = LA(3);
                                if ( (LA344_2275 == MULT_OPERATOR))
                                {
                                    alt344=1;
                                }
                                else if ( (LA344_2275 == IDENTIFIER))
                                {
                                    {
                                        int LA344_2575 = LA(4);
                                        if ( (LA344_2575 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13445 = LA(5);
                                                if ( (LA344_13445 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13445 >= ASCII_SYMBOL) && (LA344_13445 <= YEAR_SYMBOL)) || LA344_13445 == BACK_TICK_QUOTED_ID || LA344_13445 == DOUBLE_QUOTED_TEXT || LA344_13445 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13445;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2575 == EOF || ((LA344_2575 >= ASCII_SYMBOL) && (LA344_2575 <= YEAR_SYMBOL)) || LA344_2575 == AND_SYMBOL || LA344_2575 == AS_SYMBOL || LA344_2575 == BACK_TICK_QUOTED_ID || LA344_2575 == BETWEEN_SYMBOL || LA344_2575 == BITWISE_AND_OPERATOR || ((LA344_2575 >= BITWISE_OR_OPERATOR) && (LA344_2575 <= BITWISE_XOR_OPERATOR)) || ((LA344_2575 >= CLOSE_CURLY_SYMBOL) && (LA344_2575 <= COLLATE_SYMBOL)) || LA344_2575 == COMMA_SYMBOL || LA344_2575 == CONCAT_PIPES_SYMBOL || LA344_2575 == CROSS_SYMBOL || ((LA344_2575 >= DIV_OPERATOR) && (LA344_2575 <= DIV_SYMBOL)) || LA344_2575 == DOUBLE_QUOTED_TEXT || LA344_2575 == EQUAL_OPERATOR || LA344_2575 == FOR_SYMBOL || LA344_2575 == FROM_SYMBOL || ((LA344_2575 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2575 <= GREATER_THAN_OPERATOR)) || ((LA344_2575 >= GROUP_SYMBOL) && (LA344_2575 <= HAVING_SYMBOL)) || LA344_2575 == IDENTIFIER || LA344_2575 == INNER_SYMBOL || LA344_2575 == INTO_SYMBOL || LA344_2575 == IN_SYMBOL || LA344_2575 == IS_SYMBOL || LA344_2575 == JOIN_SYMBOL || ((LA344_2575 >= LEFT_SYMBOL) && (LA344_2575 <= LESS_THAN_OPERATOR)) || ((LA344_2575 >= LIKE_SYMBOL) && (LA344_2575 <= LIMIT_SYMBOL)) || LA344_2575 == LOCK_SYMBOL || LA344_2575 == LOGICAL_AND_OPERATOR || LA344_2575 == LOGICAL_OR_OPERATOR || LA344_2575 == MINUS_OPERATOR || ((LA344_2575 >= MOD_OPERATOR) && (LA344_2575 <= MOD_SYMBOL)) || ((LA344_2575 >= MULT_OPERATOR) && (LA344_2575 <= NATURAL_SYMBOL)) || ((LA344_2575 >= NOT_EQUAL2_OPERATOR) && (LA344_2575 <= NOT_SYMBOL)) || LA344_2575 == NULL_SAFE_EQUAL_OPERATOR || LA344_2575 == ON_SYMBOL || LA344_2575 == OPEN_PAR_SYMBOL || ((LA344_2575 >= ORDER_SYMBOL) && (LA344_2575 <= OR_SYMBOL)) || LA344_2575 == PLUS_OPERATOR || LA344_2575 == PROCEDURE_SYMBOL || LA344_2575 == REGEXP_SYMBOL || LA344_2575 == RIGHT_SYMBOL || LA344_2575 == SEMICOLON_SYMBOL || LA344_2575 == SET_SYMBOL || ((LA344_2575 >= SHIFT_LEFT_OPERATOR) && (LA344_2575 <= SHIFT_RIGHT_OPERATOR)) || LA344_2575 == SINGLE_QUOTED_TEXT || LA344_2575 == STRAIGHT_JOIN_SYMBOL || LA344_2575 == UNION_SYMBOL || LA344_2575 == USING_SYMBOL || LA344_2575 == WHERE_SYMBOL || LA344_2575 == WITH_SYMBOL || LA344_2575 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2575;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2275 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA344_2576 = LA(4);
                                        if ( (LA344_2576 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13498 = LA(5);
                                                if ( (LA344_13498 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13498 >= ASCII_SYMBOL) && (LA344_13498 <= YEAR_SYMBOL)) || LA344_13498 == BACK_TICK_QUOTED_ID || LA344_13498 == DOUBLE_QUOTED_TEXT || LA344_13498 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13498;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2576 == EOF || ((LA344_2576 >= ASCII_SYMBOL) && (LA344_2576 <= YEAR_SYMBOL)) || LA344_2576 == AND_SYMBOL || LA344_2576 == AS_SYMBOL || LA344_2576 == BACK_TICK_QUOTED_ID || LA344_2576 == BETWEEN_SYMBOL || LA344_2576 == BITWISE_AND_OPERATOR || ((LA344_2576 >= BITWISE_OR_OPERATOR) && (LA344_2576 <= BITWISE_XOR_OPERATOR)) || ((LA344_2576 >= CLOSE_CURLY_SYMBOL) && (LA344_2576 <= COLLATE_SYMBOL)) || LA344_2576 == COMMA_SYMBOL || LA344_2576 == CONCAT_PIPES_SYMBOL || LA344_2576 == CROSS_SYMBOL || ((LA344_2576 >= DIV_OPERATOR) && (LA344_2576 <= DIV_SYMBOL)) || LA344_2576 == DOUBLE_QUOTED_TEXT || LA344_2576 == EQUAL_OPERATOR || LA344_2576 == FOR_SYMBOL || LA344_2576 == FROM_SYMBOL || ((LA344_2576 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2576 <= GREATER_THAN_OPERATOR)) || ((LA344_2576 >= GROUP_SYMBOL) && (LA344_2576 <= HAVING_SYMBOL)) || LA344_2576 == IDENTIFIER || LA344_2576 == INNER_SYMBOL || LA344_2576 == INTO_SYMBOL || LA344_2576 == IN_SYMBOL || LA344_2576 == IS_SYMBOL || LA344_2576 == JOIN_SYMBOL || ((LA344_2576 >= LEFT_SYMBOL) && (LA344_2576 <= LESS_THAN_OPERATOR)) || ((LA344_2576 >= LIKE_SYMBOL) && (LA344_2576 <= LIMIT_SYMBOL)) || LA344_2576 == LOCK_SYMBOL || LA344_2576 == LOGICAL_AND_OPERATOR || LA344_2576 == LOGICAL_OR_OPERATOR || LA344_2576 == MINUS_OPERATOR || ((LA344_2576 >= MOD_OPERATOR) && (LA344_2576 <= MOD_SYMBOL)) || ((LA344_2576 >= MULT_OPERATOR) && (LA344_2576 <= NATURAL_SYMBOL)) || ((LA344_2576 >= NOT_EQUAL2_OPERATOR) && (LA344_2576 <= NOT_SYMBOL)) || LA344_2576 == NULL_SAFE_EQUAL_OPERATOR || LA344_2576 == ON_SYMBOL || LA344_2576 == OPEN_PAR_SYMBOL || ((LA344_2576 >= ORDER_SYMBOL) && (LA344_2576 <= OR_SYMBOL)) || LA344_2576 == PLUS_OPERATOR || LA344_2576 == PROCEDURE_SYMBOL || LA344_2576 == REGEXP_SYMBOL || LA344_2576 == RIGHT_SYMBOL || LA344_2576 == SEMICOLON_SYMBOL || LA344_2576 == SET_SYMBOL || ((LA344_2576 >= SHIFT_LEFT_OPERATOR) && (LA344_2576 <= SHIFT_RIGHT_OPERATOR)) || LA344_2576 == SINGLE_QUOTED_TEXT || LA344_2576 == STRAIGHT_JOIN_SYMBOL || LA344_2576 == UNION_SYMBOL || LA344_2576 == USING_SYMBOL || LA344_2576 == WHERE_SYMBOL || LA344_2576 == WITH_SYMBOL || LA344_2576 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2576;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (LA344_2275 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA344_2577 = LA(4);
                                        if ( (LA344_2577 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13551 = LA(5);
                                                if ( (LA344_13551 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13551 >= ASCII_SYMBOL) && (LA344_13551 <= YEAR_SYMBOL)) || LA344_13551 == BACK_TICK_QUOTED_ID || LA344_13551 == DOUBLE_QUOTED_TEXT || LA344_13551 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13551;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2577 == EOF || ((LA344_2577 >= ASCII_SYMBOL) && (LA344_2577 <= YEAR_SYMBOL)) || LA344_2577 == AND_SYMBOL || LA344_2577 == AS_SYMBOL || LA344_2577 == BACK_TICK_QUOTED_ID || LA344_2577 == BETWEEN_SYMBOL || LA344_2577 == BITWISE_AND_OPERATOR || ((LA344_2577 >= BITWISE_OR_OPERATOR) && (LA344_2577 <= BITWISE_XOR_OPERATOR)) || ((LA344_2577 >= CLOSE_CURLY_SYMBOL) && (LA344_2577 <= COLLATE_SYMBOL)) || LA344_2577 == COMMA_SYMBOL || LA344_2577 == CONCAT_PIPES_SYMBOL || LA344_2577 == CROSS_SYMBOL || ((LA344_2577 >= DIV_OPERATOR) && (LA344_2577 <= DIV_SYMBOL)) || LA344_2577 == DOUBLE_QUOTED_TEXT || LA344_2577 == EQUAL_OPERATOR || LA344_2577 == FOR_SYMBOL || LA344_2577 == FROM_SYMBOL || ((LA344_2577 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2577 <= GREATER_THAN_OPERATOR)) || ((LA344_2577 >= GROUP_SYMBOL) && (LA344_2577 <= HAVING_SYMBOL)) || LA344_2577 == IDENTIFIER || LA344_2577 == INNER_SYMBOL || LA344_2577 == INTO_SYMBOL || LA344_2577 == IN_SYMBOL || LA344_2577 == IS_SYMBOL || LA344_2577 == JOIN_SYMBOL || ((LA344_2577 >= LEFT_SYMBOL) && (LA344_2577 <= LESS_THAN_OPERATOR)) || ((LA344_2577 >= LIKE_SYMBOL) && (LA344_2577 <= LIMIT_SYMBOL)) || LA344_2577 == LOCK_SYMBOL || LA344_2577 == LOGICAL_AND_OPERATOR || LA344_2577 == LOGICAL_OR_OPERATOR || LA344_2577 == MINUS_OPERATOR || ((LA344_2577 >= MOD_OPERATOR) && (LA344_2577 <= MOD_SYMBOL)) || ((LA344_2577 >= MULT_OPERATOR) && (LA344_2577 <= NATURAL_SYMBOL)) || ((LA344_2577 >= NOT_EQUAL2_OPERATOR) && (LA344_2577 <= NOT_SYMBOL)) || LA344_2577 == NULL_SAFE_EQUAL_OPERATOR || LA344_2577 == ON_SYMBOL || LA344_2577 == OPEN_PAR_SYMBOL || ((LA344_2577 >= ORDER_SYMBOL) && (LA344_2577 <= OR_SYMBOL)) || LA344_2577 == PLUS_OPERATOR || LA344_2577 == PROCEDURE_SYMBOL || LA344_2577 == REGEXP_SYMBOL || LA344_2577 == RIGHT_SYMBOL || LA344_2577 == SEMICOLON_SYMBOL || LA344_2577 == SET_SYMBOL || ((LA344_2577 >= SHIFT_LEFT_OPERATOR) && (LA344_2577 <= SHIFT_RIGHT_OPERATOR)) || LA344_2577 == SINGLE_QUOTED_TEXT || LA344_2577 == STRAIGHT_JOIN_SYMBOL || LA344_2577 == UNION_SYMBOL || LA344_2577 == USING_SYMBOL || LA344_2577 == WHERE_SYMBOL || LA344_2577 == WITH_SYMBOL || LA344_2577 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2577;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2275 >= ACTION_SYMBOL) && (LA344_2275 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA344_2578 = LA(4);
                                        if ( (LA344_2578 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13604 = LA(5);
                                                if ( (LA344_13604 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13604 >= ASCII_SYMBOL) && (LA344_13604 <= YEAR_SYMBOL)) || LA344_13604 == BACK_TICK_QUOTED_ID || LA344_13604 == DOUBLE_QUOTED_TEXT || LA344_13604 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13604;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2578 == EOF || ((LA344_2578 >= ASCII_SYMBOL) && (LA344_2578 <= YEAR_SYMBOL)) || LA344_2578 == AND_SYMBOL || LA344_2578 == AS_SYMBOL || LA344_2578 == BACK_TICK_QUOTED_ID || LA344_2578 == BETWEEN_SYMBOL || LA344_2578 == BITWISE_AND_OPERATOR || ((LA344_2578 >= BITWISE_OR_OPERATOR) && (LA344_2578 <= BITWISE_XOR_OPERATOR)) || ((LA344_2578 >= CLOSE_CURLY_SYMBOL) && (LA344_2578 <= COLLATE_SYMBOL)) || LA344_2578 == COMMA_SYMBOL || LA344_2578 == CONCAT_PIPES_SYMBOL || LA344_2578 == CROSS_SYMBOL || ((LA344_2578 >= DIV_OPERATOR) && (LA344_2578 <= DIV_SYMBOL)) || LA344_2578 == DOUBLE_QUOTED_TEXT || LA344_2578 == EQUAL_OPERATOR || LA344_2578 == FOR_SYMBOL || LA344_2578 == FROM_SYMBOL || ((LA344_2578 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2578 <= GREATER_THAN_OPERATOR)) || ((LA344_2578 >= GROUP_SYMBOL) && (LA344_2578 <= HAVING_SYMBOL)) || LA344_2578 == IDENTIFIER || LA344_2578 == INNER_SYMBOL || LA344_2578 == INTO_SYMBOL || LA344_2578 == IN_SYMBOL || LA344_2578 == IS_SYMBOL || LA344_2578 == JOIN_SYMBOL || ((LA344_2578 >= LEFT_SYMBOL) && (LA344_2578 <= LESS_THAN_OPERATOR)) || ((LA344_2578 >= LIKE_SYMBOL) && (LA344_2578 <= LIMIT_SYMBOL)) || LA344_2578 == LOCK_SYMBOL || LA344_2578 == LOGICAL_AND_OPERATOR || LA344_2578 == LOGICAL_OR_OPERATOR || LA344_2578 == MINUS_OPERATOR || ((LA344_2578 >= MOD_OPERATOR) && (LA344_2578 <= MOD_SYMBOL)) || ((LA344_2578 >= MULT_OPERATOR) && (LA344_2578 <= NATURAL_SYMBOL)) || ((LA344_2578 >= NOT_EQUAL2_OPERATOR) && (LA344_2578 <= NOT_SYMBOL)) || LA344_2578 == NULL_SAFE_EQUAL_OPERATOR || LA344_2578 == ON_SYMBOL || LA344_2578 == OPEN_PAR_SYMBOL || ((LA344_2578 >= ORDER_SYMBOL) && (LA344_2578 <= OR_SYMBOL)) || LA344_2578 == PLUS_OPERATOR || LA344_2578 == PROCEDURE_SYMBOL || LA344_2578 == REGEXP_SYMBOL || LA344_2578 == RIGHT_SYMBOL || LA344_2578 == SEMICOLON_SYMBOL || LA344_2578 == SET_SYMBOL || ((LA344_2578 >= SHIFT_LEFT_OPERATOR) && (LA344_2578 <= SHIFT_RIGHT_OPERATOR)) || LA344_2578 == SINGLE_QUOTED_TEXT || LA344_2578 == STRAIGHT_JOIN_SYMBOL || LA344_2578 == UNION_SYMBOL || LA344_2578 == USING_SYMBOL || LA344_2578 == WHERE_SYMBOL || LA344_2578 == WITH_SYMBOL || LA344_2578 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2578;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else if ( (((LA344_2275 >= ASCII_SYMBOL) && (LA344_2275 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA344_2579 = LA(4);
                                        if ( (LA344_2579 == DOT_SYMBOL))
                                        {
                                            {
                                                int LA344_13657 = LA(5);
                                                if ( (LA344_13657 == MULT_OPERATOR))
                                                {
                                                    alt344=1;
                                                }
                                                else if ( (((LA344_13657 >= ASCII_SYMBOL) && (LA344_13657 <= YEAR_SYMBOL)) || LA344_13657 == BACK_TICK_QUOTED_ID || LA344_13657 == DOUBLE_QUOTED_TEXT || LA344_13657 == IDENTIFIER))
                                                {
                                                    alt344=2;
                                                }
                                                else
                                                {
                                                    if (BACKTRACKING>0)
                                                    {
                                                        FAILEDFLAG = ANTLR3_TRUE;
                                                        return retval;
                                                    }


                                                    CONSTRUCTEX();
                                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                                    EXCEPTION->message      = (void *)"";
                                                    EXCEPTION->decisionNum  = 344;
                                                    EXCEPTION->state        = 13657;


                                                    goto ruleselect_itemEx;

                                                }
                                            }
                                        }
                                        else if ( (LA344_2579 == EOF || ((LA344_2579 >= ASCII_SYMBOL) && (LA344_2579 <= YEAR_SYMBOL)) || LA344_2579 == AND_SYMBOL || LA344_2579 == AS_SYMBOL || LA344_2579 == BACK_TICK_QUOTED_ID || LA344_2579 == BETWEEN_SYMBOL || LA344_2579 == BITWISE_AND_OPERATOR || ((LA344_2579 >= BITWISE_OR_OPERATOR) && (LA344_2579 <= BITWISE_XOR_OPERATOR)) || ((LA344_2579 >= CLOSE_CURLY_SYMBOL) && (LA344_2579 <= COLLATE_SYMBOL)) || LA344_2579 == COMMA_SYMBOL || LA344_2579 == CONCAT_PIPES_SYMBOL || LA344_2579 == CROSS_SYMBOL || ((LA344_2579 >= DIV_OPERATOR) && (LA344_2579 <= DIV_SYMBOL)) || LA344_2579 == DOUBLE_QUOTED_TEXT || LA344_2579 == EQUAL_OPERATOR || LA344_2579 == FOR_SYMBOL || LA344_2579 == FROM_SYMBOL || ((LA344_2579 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_2579 <= GREATER_THAN_OPERATOR)) || ((LA344_2579 >= GROUP_SYMBOL) && (LA344_2579 <= HAVING_SYMBOL)) || LA344_2579 == IDENTIFIER || LA344_2579 == INNER_SYMBOL || LA344_2579 == INTO_SYMBOL || LA344_2579 == IN_SYMBOL || LA344_2579 == IS_SYMBOL || LA344_2579 == JOIN_SYMBOL || ((LA344_2579 >= LEFT_SYMBOL) && (LA344_2579 <= LESS_THAN_OPERATOR)) || ((LA344_2579 >= LIKE_SYMBOL) && (LA344_2579 <= LIMIT_SYMBOL)) || LA344_2579 == LOCK_SYMBOL || LA344_2579 == LOGICAL_AND_OPERATOR || LA344_2579 == LOGICAL_OR_OPERATOR || LA344_2579 == MINUS_OPERATOR || ((LA344_2579 >= MOD_OPERATOR) && (LA344_2579 <= MOD_SYMBOL)) || ((LA344_2579 >= MULT_OPERATOR) && (LA344_2579 <= NATURAL_SYMBOL)) || ((LA344_2579 >= NOT_EQUAL2_OPERATOR) && (LA344_2579 <= NOT_SYMBOL)) || LA344_2579 == NULL_SAFE_EQUAL_OPERATOR || LA344_2579 == ON_SYMBOL || LA344_2579 == OPEN_PAR_SYMBOL || ((LA344_2579 >= ORDER_SYMBOL) && (LA344_2579 <= OR_SYMBOL)) || LA344_2579 == PLUS_OPERATOR || LA344_2579 == PROCEDURE_SYMBOL || LA344_2579 == REGEXP_SYMBOL || LA344_2579 == RIGHT_SYMBOL || LA344_2579 == SEMICOLON_SYMBOL || LA344_2579 == SET_SYMBOL || ((LA344_2579 >= SHIFT_LEFT_OPERATOR) && (LA344_2579 <= SHIFT_RIGHT_OPERATOR)) || LA344_2579 == SINGLE_QUOTED_TEXT || LA344_2579 == STRAIGHT_JOIN_SYMBOL || LA344_2579 == UNION_SYMBOL || LA344_2579 == USING_SYMBOL || LA344_2579 == WHERE_SYMBOL || LA344_2579 == WITH_SYMBOL || LA344_2579 == XOR_SYMBOL))
                                        {
                                            alt344=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 344;
                                            EXCEPTION->state        = 2579;


                                            goto ruleselect_itemEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 344;
                                    EXCEPTION->state        = 2275;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA344_95 == EOF || ((LA344_95 >= ASCII_SYMBOL) && (LA344_95 <= YEAR_SYMBOL)) || LA344_95 == AND_SYMBOL || LA344_95 == AS_SYMBOL || LA344_95 == BACK_TICK_QUOTED_ID || LA344_95 == BETWEEN_SYMBOL || LA344_95 == BITWISE_AND_OPERATOR || ((LA344_95 >= BITWISE_OR_OPERATOR) && (LA344_95 <= BITWISE_XOR_OPERATOR)) || ((LA344_95 >= CLOSE_CURLY_SYMBOL) && (LA344_95 <= COLLATE_SYMBOL)) || LA344_95 == COMMA_SYMBOL || LA344_95 == CONCAT_PIPES_SYMBOL || LA344_95 == CROSS_SYMBOL || ((LA344_95 >= DIV_OPERATOR) && (LA344_95 <= DIV_SYMBOL)) || LA344_95 == DOUBLE_QUOTED_TEXT || LA344_95 == EQUAL_OPERATOR || LA344_95 == FOR_SYMBOL || LA344_95 == FROM_SYMBOL || ((LA344_95 >= GREATER_OR_EQUAL_OPERATOR) && (LA344_95 <= GREATER_THAN_OPERATOR)) || ((LA344_95 >= GROUP_SYMBOL) && (LA344_95 <= HAVING_SYMBOL)) || LA344_95 == IDENTIFIER || LA344_95 == INNER_SYMBOL || LA344_95 == INTO_SYMBOL || LA344_95 == IN_SYMBOL || LA344_95 == IS_SYMBOL || LA344_95 == JOIN_SYMBOL || ((LA344_95 >= LEFT_SYMBOL) && (LA344_95 <= LESS_THAN_OPERATOR)) || ((LA344_95 >= LIKE_SYMBOL) && (LA344_95 <= LIMIT_SYMBOL)) || LA344_95 == LOCK_SYMBOL || LA344_95 == LOGICAL_AND_OPERATOR || LA344_95 == LOGICAL_OR_OPERATOR || LA344_95 == MINUS_OPERATOR || ((LA344_95 >= MOD_OPERATOR) && (LA344_95 <= MOD_SYMBOL)) || ((LA344_95 >= MULT_OPERATOR) && (LA344_95 <= NATURAL_SYMBOL)) || ((LA344_95 >= NOT_EQUAL2_OPERATOR) && (LA344_95 <= NOT_SYMBOL)) || LA344_95 == NULL_SAFE_EQUAL_OPERATOR || LA344_95 == ON_SYMBOL || LA344_95 == OPEN_PAR_SYMBOL || ((LA344_95 >= ORDER_SYMBOL) && (LA344_95 <= OR_SYMBOL)) || LA344_95 == PLUS_OPERATOR || LA344_95 == PROCEDURE_SYMBOL || LA344_95 == REGEXP_SYMBOL || LA344_95 == RIGHT_SYMBOL || LA344_95 == SEMICOLON_SYMBOL || LA344_95 == SET_SYMBOL || ((LA344_95 >= SHIFT_LEFT_OPERATOR) && (LA344_95 <= SHIFT_RIGHT_OPERATOR)) || LA344_95 == SINGLE_QUOTED_TEXT || LA344_95 == STRAIGHT_JOIN_SYMBOL || LA344_95 == UNION_SYMBOL || LA344_95 == USING_SYMBOL || LA344_95 == WHERE_SYMBOL || LA344_95 == WITH_SYMBOL || LA344_95 == XOR_SYMBOL))
                        {
                            alt344=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 344;
                            EXCEPTION->state        = 95;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 344;
                    EXCEPTION->state        = 0;


                    goto ruleselect_itemEx;

                }
            }
            switch (alt344)
            {
        	case 1:
        	    // MySQL.g:1069:2: table_wild
        	    {
        	        FOLLOWPUSH(FOLLOW_table_wild_in_select_item5403);
        	        table_wild972=table_wild(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) { CREATE_stream_table_wild; stream_table_wild->add(stream_table_wild, table_wild972.tree, NULL); }

        	        /* AST REWRITE
        	         * elements          : table_wild
        	         * token labels      : 
        	         * rule labels       : retval
        	         * token list labels : 
        	         * rule list labels  : 
        	         */
        	        if ( BACKTRACKING==0 ) 

        	        {
        	        	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

        	        	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

        	        	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	retval.tree    = root_0;
        	        	// 1069:13: -> ^( COLUMN_REF_TOKEN table_wild )
        	        	{
        	        	    // MySQL.g:1069:16: ^( COLUMN_REF_TOKEN table_wild )
        	        	    {
        	        	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
        	        	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_REF_TOKEN, (pANTLR3_UINT8)"COLUMN_REF_TOKEN")
        	        	        , root_1));

        	        	        ADAPTOR->addChild(ADAPTOR, root_1, stream_table_wild == NULL ? NULL : stream_table_wild->nextTree(stream_table_wild));

        	        	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
        	        	    }

        	        	}


        	        	retval.tree = root_0; // set result root
        	        	if (stream_retval != NULL) stream_retval->free(stream_retval);


        	        }
        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1070:4: expression ( select_alias )?
        	    {
        	        FOLLOWPUSH(FOLLOW_expression_in_select_item5416);
        	        expression973=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression973.tree, NULL); }

        	        // MySQL.g:1070:15: ( select_alias )?
        	        {
        	            int alt343=2;
        	            {
        	                int LA343_0 = LA(1);
        	                if ( (LA343_0 == AS_SYMBOL || LA343_0 == BACK_TICK_QUOTED_ID || LA343_0 == IDENTIFIER || LA343_0 == SINGLE_QUOTED_TEXT))
        	                {
        	                    alt343=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA343_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt343=1;
        	                }
        	                else if ( (((LA343_0 >= ASCII_SYMBOL) && (LA343_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt343=1;
        	                }
        	            }
        	            switch (alt343)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1070:15: select_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_alias_in_select_item5418);
        	        	        select_alias974=select_alias(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleselect_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) { CREATE_stream_select_alias; stream_select_alias->add(stream_select_alias, select_alias974.tree, NULL); }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        /* AST REWRITE
        	         * elements          : expression, select_alias
        	         * token labels      : 
        	         * rule labels       : retval
        	         * token list labels : 
        	         * rule list labels  : 
        	         */
        	        if ( BACKTRACKING==0 ) 

        	        {
        	        	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

        	        	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

        	        	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	retval.tree    = root_0;
        	        	// 1070:29: -> ^( SELECT_EXPR_TOKEN expression ( select_alias )? )
        	        	{
        	        	    // MySQL.g:1070:32: ^( SELECT_EXPR_TOKEN expression ( select_alias )? )
        	        	    {
        	        	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
        	        	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SELECT_EXPR_TOKEN, (pANTLR3_UINT8)"SELECT_EXPR_TOKEN")
        	        	        , root_1));

        	        	        ADAPTOR->addChild(ADAPTOR, root_1, stream_expression == NULL ? NULL : stream_expression->nextTree(stream_expression));

        	        	        // MySQL.g:1070:63: ( select_alias )?
        	        	        {
        	        	        	if ( (stream_select_alias != NULL && stream_select_alias->hasNext(stream_select_alias))  )
        	        	        	{
        	        	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_select_alias == NULL ? NULL : stream_select_alias->nextTree(stream_select_alias));

        	        	        	}
        	        	        	if ( stream_select_alias != NULL) stream_select_alias->reset(stream_select_alias);

        	        	        }

        	        	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
        	        	    }

        	        	}


        	        	retval.tree = root_0; // set result root
        	        	if (stream_retval != NULL) stream_retval->free(stream_retval);


        	        }
        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleselect_itemEx; /* Prevent compiler warnings */
    ruleselect_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_expression != NULL) stream_expression->free(stream_expression);
        if (stream_select_alias != NULL) stream_select_alias->free(stream_select_alias);
        if (stream_table_wild != NULL) stream_table_wild->free(stream_table_wild);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_item */

/**
 * $ANTLR start select_alias
 * MySQL.g:1073:1: select_alias : ( AS_SYMBOL )? text_or_identifier ;
 */
static MySQLParser_select_alias_return
select_alias(pMySQLParser ctx)
{
    MySQLParser_select_alias_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AS_SYMBOL975;
    MySQLParser_text_or_identifier_return text_or_identifier976;
    #undef	RETURN_TYPE_text_or_identifier976
    #define	RETURN_TYPE_text_or_identifier976 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE AS_SYMBOL975_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AS_SYMBOL975       = NULL;
    text_or_identifier976.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AS_SYMBOL975_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1073:13: ( ( AS_SYMBOL )? text_or_identifier )
        // MySQL.g:1074:2: ( AS_SYMBOL )? text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1074:2: ( AS_SYMBOL )?
            {
                int alt345=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    	{
                    		alt345=1;
                    	}
                        break;
                }

                switch (alt345)
                {
            	case 1:
            	    // MySQL.g:1074:2: AS_SYMBOL
            	    {
            	        AS_SYMBOL975 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_select_alias5439);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_aliasEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        AS_SYMBOL975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL975));
            	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL975_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_select_alias5442);
            text_or_identifier976=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleselect_aliasEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier976.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleselect_aliasEx; /* Prevent compiler warnings */
    ruleselect_aliasEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_alias */

/**
 * $ANTLR start limit_clause
 * MySQL.g:1077:1: limit_clause : LIMIT_SYMBOL limit_options ;
 */
static MySQLParser_limit_clause_return
limit_clause(pMySQLParser ctx)
{
    MySQLParser_limit_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LIMIT_SYMBOL977;
    MySQLParser_limit_options_return limit_options978;
    #undef	RETURN_TYPE_limit_options978
    #define	RETURN_TYPE_limit_options978 MySQLParser_limit_options_return

    pANTLR3_BASE_TREE LIMIT_SYMBOL977_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LIMIT_SYMBOL977       = NULL;
    limit_options978.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LIMIT_SYMBOL977_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1077:13: ( LIMIT_SYMBOL limit_options )
        // MySQL.g:1078:2: LIMIT_SYMBOL limit_options
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LIMIT_SYMBOL977 = (pANTLR3_COMMON_TOKEN) MATCHT(LIMIT_SYMBOL, &FOLLOW_LIMIT_SYMBOL_in_limit_clause5460);
            if  (HASEXCEPTION())
            {
                goto rulelimit_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LIMIT_SYMBOL977_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIMIT_SYMBOL977));
            ADAPTOR->addChild(ADAPTOR, root_0, LIMIT_SYMBOL977_tree);
            }

            FOLLOWPUSH(FOLLOW_limit_options_in_limit_clause5462);
            limit_options978=limit_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelimit_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_options978.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulelimit_clauseEx; /* Prevent compiler warnings */
    rulelimit_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end limit_clause */

/**
 * $ANTLR start limit_options
 * MySQL.g:1081:1: limit_options : limit_option ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )? ;
 */
static MySQLParser_limit_options_return
limit_options(pMySQLParser ctx)
{
    MySQLParser_limit_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set980;
    MySQLParser_limit_option_return limit_option979;
    #undef	RETURN_TYPE_limit_option979
    #define	RETURN_TYPE_limit_option979 MySQLParser_limit_option_return

    MySQLParser_limit_option_return limit_option981;
    #undef	RETURN_TYPE_limit_option981
    #define	RETURN_TYPE_limit_option981 MySQLParser_limit_option_return

    pANTLR3_BASE_TREE set980_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set980       = NULL;
    limit_option979.tree = NULL;

    limit_option981.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set980_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1081:14: ( limit_option ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )? )
        // MySQL.g:1082:2: limit_option ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_limit_option_in_limit_options5471);
            limit_option979=limit_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelimit_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_option979.tree);

            // MySQL.g:1082:15: ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )?
            {
                int alt346=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		{
                    		    int LA346_1 = LA(2);
                    		    if ( (LA346_1 == INTEGER || LA346_1 == PARAM_MARKER))
                    		    {
                    		        alt346=1;
                    		    }
                    		    else if ( (LA346_1 == IDENTIFIER))
                    		    {
                    		        alt346=1;
                    		    }
                    		    else if ( (LA346_1 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        alt346=1;
                    		    }
                    		    else if ( (LA346_1 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        alt346=1;
                    		    }
                    		    else if ( (((LA346_1 >= ACTION_SYMBOL) && (LA346_1 <= YEAR_SYMBOL))))
                    		    {
                    		        alt346=1;
                    		    }
                    		    else if ( (((LA346_1 >= ASCII_SYMBOL) && (LA346_1 <= XA_SYMBOL))))
                    		    {
                    		        alt346=1;
                    		    }
                    		}
                    	}
                        break;
                    case OFFSET_SYMBOL:
                    	{
                    		alt346=1;
                    	}
                        break;
                }

                switch (alt346)
                {
            	case 1:
            	    // MySQL.g:1082:45: ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option
            	    {
            	        set980=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == OFFSET_SYMBOL || LA(1) == COMMA_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set980))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulelimit_optionsEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_limit_option_in_limit_options5495);
            	        limit_option981=limit_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelimit_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_option981.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulelimit_optionsEx; /* Prevent compiler warnings */
    rulelimit_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end limit_options */

/**
 * $ANTLR start limit_option
 * MySQL.g:1085:1: limit_option : ( PARAM_MARKER | INTEGER | identifier );
 */
static MySQLParser_limit_option_return
limit_option(pMySQLParser ctx)
{
    MySQLParser_limit_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARAM_MARKER982;
    pANTLR3_COMMON_TOKEN    INTEGER983;
    MySQLParser_identifier_return identifier984;
    #undef	RETURN_TYPE_identifier984
    #define	RETURN_TYPE_identifier984 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PARAM_MARKER982_tree;
    pANTLR3_BASE_TREE INTEGER983_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER982       = NULL;
    INTEGER983       = NULL;
    identifier984.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER982_tree   = NULL;
    INTEGER983_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1085:13: ( PARAM_MARKER | INTEGER | identifier )

            ANTLR3_UINT32 alt347;

            alt347=3;

            {
                int LA347_0 = LA(1);
                if ( (LA347_0 == PARAM_MARKER))
                {
                    alt347=1;
                }
                else if ( (LA347_0 == INTEGER))
                {
                    alt347=2;
                }
                else if ( (LA347_0 == BACK_TICK_QUOTED_ID || LA347_0 == IDENTIFIER))
                {
                    alt347=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA347_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt347=3;
                }
                else if ( (((LA347_0 >= ASCII_SYMBOL) && (LA347_0 <= YEAR_SYMBOL))))
                {
                    alt347=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 347;
                    EXCEPTION->state        = 0;


                    goto rulelimit_optionEx;

                }
            }
            switch (alt347)
            {
        	case 1:
        	    // MySQL.g:1086:2: PARAM_MARKER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PARAM_MARKER982 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_limit_option5506);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelimit_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARAM_MARKER982_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER982));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER982_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1087:4: INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTEGER983 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_limit_option5511);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelimit_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER983_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER983));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER983_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1088:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_limit_option5516);
        	        identifier984=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelimit_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier984.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelimit_optionEx; /* Prevent compiler warnings */
    rulelimit_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end limit_option */

/**
 * $ANTLR start into_clause
 * MySQL.g:1091:1: into_clause : INTO_SYMBOL ( OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )? | DUMPFILE_SYMBOL string_literal | ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )* | AT_TEXT_SUFFIX ( COMMA_SYMBOL AT_TEXT_SUFFIX )* ) ;
 */
static MySQLParser_into_clause_return
into_clause(pMySQLParser ctx)
{
    MySQLParser_into_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTO_SYMBOL985;
    pANTLR3_COMMON_TOKEN    OUTFILE_SYMBOL986;
    pANTLR3_COMMON_TOKEN    DUMPFILE_SYMBOL991;
    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL993;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL995;
    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL996;
    pANTLR3_COMMON_TOKEN    AT_TEXT_SUFFIX998;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL999;
    pANTLR3_COMMON_TOKEN    AT_TEXT_SUFFIX1000;
    MySQLParser_string_literal_return string_literal987;
    #undef	RETURN_TYPE_string_literal987
    #define	RETURN_TYPE_string_literal987 MySQLParser_string_literal_return

    MySQLParser_charset_clause_return charset_clause988;
    #undef	RETURN_TYPE_charset_clause988
    #define	RETURN_TYPE_charset_clause988 MySQLParser_charset_clause_return

    MySQLParser_fields_clause_return fields_clause989;
    #undef	RETURN_TYPE_fields_clause989
    #define	RETURN_TYPE_fields_clause989 MySQLParser_fields_clause_return

    MySQLParser_lines_clause_return lines_clause990;
    #undef	RETURN_TYPE_lines_clause990
    #define	RETURN_TYPE_lines_clause990 MySQLParser_lines_clause_return

    MySQLParser_string_literal_return string_literal992;
    #undef	RETURN_TYPE_string_literal992
    #define	RETURN_TYPE_string_literal992 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier994;
    #undef	RETURN_TYPE_text_or_identifier994
    #define	RETURN_TYPE_text_or_identifier994 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier997;
    #undef	RETURN_TYPE_text_or_identifier997
    #define	RETURN_TYPE_text_or_identifier997 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE INTO_SYMBOL985_tree;
    pANTLR3_BASE_TREE OUTFILE_SYMBOL986_tree;
    pANTLR3_BASE_TREE DUMPFILE_SYMBOL991_tree;
    pANTLR3_BASE_TREE AT_SIGN_SYMBOL993_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL995_tree;
    pANTLR3_BASE_TREE AT_SIGN_SYMBOL996_tree;
    pANTLR3_BASE_TREE AT_TEXT_SUFFIX998_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL999_tree;
    pANTLR3_BASE_TREE AT_TEXT_SUFFIX1000_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTO_SYMBOL985       = NULL;
    OUTFILE_SYMBOL986       = NULL;
    DUMPFILE_SYMBOL991       = NULL;
    AT_SIGN_SYMBOL993       = NULL;
    COMMA_SYMBOL995       = NULL;
    AT_SIGN_SYMBOL996       = NULL;
    AT_TEXT_SUFFIX998       = NULL;
    COMMA_SYMBOL999       = NULL;
    AT_TEXT_SUFFIX1000       = NULL;
    string_literal987.tree = NULL;

    charset_clause988.tree = NULL;

    fields_clause989.tree = NULL;

    lines_clause990.tree = NULL;

    string_literal992.tree = NULL;

    text_or_identifier994.tree = NULL;

    text_or_identifier997.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTO_SYMBOL985_tree   = NULL;
    OUTFILE_SYMBOL986_tree   = NULL;
    DUMPFILE_SYMBOL991_tree   = NULL;
    AT_SIGN_SYMBOL993_tree   = NULL;
    COMMA_SYMBOL995_tree   = NULL;
    AT_SIGN_SYMBOL996_tree   = NULL;
    AT_TEXT_SUFFIX998_tree   = NULL;
    COMMA_SYMBOL999_tree   = NULL;
    AT_TEXT_SUFFIX1000_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1091:12: ( INTO_SYMBOL ( OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )? | DUMPFILE_SYMBOL string_literal | ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )* | AT_TEXT_SUFFIX ( COMMA_SYMBOL AT_TEXT_SUFFIX )* ) )
        // MySQL.g:1092:2: INTO_SYMBOL ( OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )? | DUMPFILE_SYMBOL string_literal | ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )* | AT_TEXT_SUFFIX ( COMMA_SYMBOL AT_TEXT_SUFFIX )* )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTO_SYMBOL985 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_into_clause5526);
            if  (HASEXCEPTION())
            {
                goto ruleinto_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL985_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL985));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL985_tree);
            }

            // MySQL.g:1093:2: ( OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )? | DUMPFILE_SYMBOL string_literal | ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )* | AT_TEXT_SUFFIX ( COMMA_SYMBOL AT_TEXT_SUFFIX )* )
            {
                int alt355=4;
                {
                    int LA355_0 = LA(1);
                    if ( (LA355_0 == OUTFILE_SYMBOL))
                    {
                        alt355=1;
                    }
                    else if ( (LA355_0 == DUMPFILE_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case DOUBLE_QUOTED_TEXT:
                        case NCHAR_TEXT:
                        case SINGLE_QUOTED_TEXT:
                        case UNDERSCORE_CHARSET:
                        	{
                        		alt355=2;
                        	}
                            break;
                        case EOF:
                        case CLOSE_PAR_SYMBOL:
                        case COMMA_SYMBOL:
                        case FOR_SYMBOL:
                        case FROM_SYMBOL:
                        case LOCK_SYMBOL:
                        case ON_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        case UNION_SYMBOL:
                        case WITH_SYMBOL:
                        	{
                        		alt355=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 355;
                            EXCEPTION->state        = 2;


                            goto ruleinto_clauseEx;

                        }

                    }
                    else if ( (LA355_0 == AT_SIGN_SYMBOL || LA355_0 == BACK_TICK_QUOTED_ID || LA355_0 == IDENTIFIER || LA355_0 == SINGLE_QUOTED_TEXT))
                    {
                        alt355=3;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA355_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt355=3;
                    }
                    else if ( (((LA355_0 >= ASCII_SYMBOL) && (LA355_0 <= DISK_SYMBOL)) || ((LA355_0 >= DUPLICATE_SYMBOL) && (LA355_0 <= YEAR_SYMBOL))))
                    {
                        alt355=3;
                    }
                    else if ( (LA355_0 == AT_TEXT_SUFFIX))
                    {
                        alt355=4;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 355;
                        EXCEPTION->state        = 0;


                        goto ruleinto_clauseEx;

                    }
                }
                switch (alt355)
                {
            	case 1:
            	    // MySQL.g:1094:3: OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )?
            	    {
            	        OUTFILE_SYMBOL986 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTFILE_SYMBOL, &FOLLOW_OUTFILE_SYMBOL_in_into_clause5533);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OUTFILE_SYMBOL986_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OUTFILE_SYMBOL986));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OUTFILE_SYMBOL986_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_into_clause5535);
            	        string_literal987=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal987.tree);

            	        // MySQL.g:1094:33: ( charset_clause )?
            	        {
            	            int alt348=2;
            	            switch ( LA(1) )
            	            {
            	                case CHARSET_SYMBOL:
            	                case CHAR_SYMBOL:
            	                	{
            	                		alt348=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt348)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1094:33: charset_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_charset_clause_in_into_clause5537);
            	        	        charset_clause988=charset_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause988.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1094:49: ( fields_clause )?
            	        {
            	            int alt349=2;
            	            switch ( LA(1) )
            	            {
            	                case COLUMNS_SYMBOL:
            	                	{
            	                		alt349=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt349)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1094:49: fields_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_fields_clause_in_into_clause5540);
            	        	        fields_clause989=fields_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fields_clause989.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1094:64: ( lines_clause )?
            	        {
            	            int alt350=2;
            	            switch ( LA(1) )
            	            {
            	                case LINES_SYMBOL:
            	                	{
            	                		alt350=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt350)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1094:64: lines_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_lines_clause_in_into_clause5543);
            	        	        lines_clause990=lines_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lines_clause990.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1095:5: DUMPFILE_SYMBOL string_literal
            	    {
            	        DUMPFILE_SYMBOL991 = (pANTLR3_COMMON_TOKEN) MATCHT(DUMPFILE_SYMBOL, &FOLLOW_DUMPFILE_SYMBOL_in_into_clause5550);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DUMPFILE_SYMBOL991_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DUMPFILE_SYMBOL991));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DUMPFILE_SYMBOL991_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_into_clause5552);
            	        string_literal992=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal992.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1096:5: ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )*
            	    {
            	        // MySQL.g:1096:5: ( AT_SIGN_SYMBOL )?
            	        {
            	            int alt351=2;
            	            switch ( LA(1) )
            	            {
            	                case AT_SIGN_SYMBOL:
            	                	{
            	                		alt351=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt351)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1096:5: AT_SIGN_SYMBOL
            	        	    {
            	        	        AT_SIGN_SYMBOL993 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_into_clause5558);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        AT_SIGN_SYMBOL993_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL993));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL993_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_into_clause5561);
            	        text_or_identifier994=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier994.tree);

            	        // MySQL.g:1096:40: ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )*

            	        for (;;)
            	        {
            	            int alt353=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt353=1;
            	            	}
            	                break;

            	            }

            	            switch (alt353)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1096:41: COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier
            	        	    {
            	        	        COMMA_SYMBOL995 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_into_clause5564);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL995_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL995));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL995_tree);
            	        	        }

            	        	        // MySQL.g:1096:54: ( AT_SIGN_SYMBOL )?
            	        	        {
            	        	            int alt352=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AT_SIGN_SYMBOL:
            	        	                	{
            	        	                		alt352=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt352)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1096:54: AT_SIGN_SYMBOL
            	        	        	    {
            	        	        	        AT_SIGN_SYMBOL996 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_into_clause5566);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleinto_clauseEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AT_SIGN_SYMBOL996_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL996));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL996_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_into_clause5569);
            	        	        text_or_identifier997=text_or_identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier997.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop353;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop353: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1097:5: AT_TEXT_SUFFIX ( COMMA_SYMBOL AT_TEXT_SUFFIX )*
            	    {
            	        AT_TEXT_SUFFIX998 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_TEXT_SUFFIX, &FOLLOW_AT_TEXT_SUFFIX_in_into_clause5577);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        AT_TEXT_SUFFIX998_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_TEXT_SUFFIX998));
            	        ADAPTOR->addChild(ADAPTOR, root_0, AT_TEXT_SUFFIX998_tree);
            	        }

            	        // MySQL.g:1097:20: ( COMMA_SYMBOL AT_TEXT_SUFFIX )*

            	        for (;;)
            	        {
            	            int alt354=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt354=1;
            	            	}
            	                break;

            	            }

            	            switch (alt354)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1097:21: COMMA_SYMBOL AT_TEXT_SUFFIX
            	        	    {
            	        	        COMMA_SYMBOL999 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_into_clause5580);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL999_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL999));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL999_tree);
            	        	        }

            	        	        AT_TEXT_SUFFIX1000 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_TEXT_SUFFIX, &FOLLOW_AT_TEXT_SUFFIX_in_into_clause5582);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        AT_TEXT_SUFFIX1000_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_TEXT_SUFFIX1000));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_TEXT_SUFFIX1000_tree);
            	        	        }

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop354;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop354: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinto_clauseEx; /* Prevent compiler warnings */
    ruleinto_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end into_clause */

/**
 * $ANTLR start procedure_analyse_clause
 * MySQL.g:1101:1: procedure_analyse_clause : PROCEDURE_SYMBOL ^ ANALYSE_SYMBOL OPEN_PAR_SYMBOL ( INTEGER ( COMMA_SYMBOL INTEGER )? )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_procedure_analyse_clause_return
procedure_analyse_clause(pMySQLParser ctx)
{
    MySQLParser_procedure_analyse_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1001;
    pANTLR3_COMMON_TOKEN    ANALYSE_SYMBOL1002;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1003;
    pANTLR3_COMMON_TOKEN    INTEGER1004;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1005;
    pANTLR3_COMMON_TOKEN    INTEGER1006;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1007;

    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1001_tree;
    pANTLR3_BASE_TREE ANALYSE_SYMBOL1002_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1003_tree;
    pANTLR3_BASE_TREE INTEGER1004_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1005_tree;
    pANTLR3_BASE_TREE INTEGER1006_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1007_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PROCEDURE_SYMBOL1001       = NULL;
    ANALYSE_SYMBOL1002       = NULL;
    OPEN_PAR_SYMBOL1003       = NULL;
    INTEGER1004       = NULL;
    COMMA_SYMBOL1005       = NULL;
    INTEGER1006       = NULL;
    CLOSE_PAR_SYMBOL1007       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PROCEDURE_SYMBOL1001_tree   = NULL;
    ANALYSE_SYMBOL1002_tree   = NULL;
    OPEN_PAR_SYMBOL1003_tree   = NULL;
    INTEGER1004_tree   = NULL;
    COMMA_SYMBOL1005_tree   = NULL;
    INTEGER1006_tree   = NULL;
    CLOSE_PAR_SYMBOL1007_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1101:25: ( PROCEDURE_SYMBOL ^ ANALYSE_SYMBOL OPEN_PAR_SYMBOL ( INTEGER ( COMMA_SYMBOL INTEGER )? )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1102:2: PROCEDURE_SYMBOL ^ ANALYSE_SYMBOL OPEN_PAR_SYMBOL ( INTEGER ( COMMA_SYMBOL INTEGER )? )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            PROCEDURE_SYMBOL1001 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause5596);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PROCEDURE_SYMBOL1001_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1001))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PROCEDURE_SYMBOL1001_tree, root_0));
            }

            ANALYSE_SYMBOL1002 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYSE_SYMBOL, &FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause5599);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ANALYSE_SYMBOL1002_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ANALYSE_SYMBOL1002));
            ADAPTOR->addChild(ADAPTOR, root_0, ANALYSE_SYMBOL1002_tree);
            }

            OPEN_PAR_SYMBOL1003 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause5601);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1003_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1003));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1003_tree);
            }

            // MySQL.g:1102:51: ( INTEGER ( COMMA_SYMBOL INTEGER )? )?
            {
                int alt357=2;
                switch ( LA(1) )
                {
                    case INTEGER:
                    	{
                    		alt357=1;
                    	}
                        break;
                }

                switch (alt357)
                {
            	case 1:
            	    // MySQL.g:1102:52: INTEGER ( COMMA_SYMBOL INTEGER )?
            	    {
            	        INTEGER1004 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_procedure_analyse_clause5604);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprocedure_analyse_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER1004_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1004));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1004_tree);
            	        }

            	        // MySQL.g:1102:60: ( COMMA_SYMBOL INTEGER )?
            	        {
            	            int alt356=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt356=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt356)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1102:61: COMMA_SYMBOL INTEGER
            	        	    {
            	        	        COMMA_SYMBOL1005 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause5607);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprocedure_analyse_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL1005_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1005));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1005_tree);
            	        	        }

            	        	        INTEGER1006 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_procedure_analyse_clause5609);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprocedure_analyse_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        INTEGER1006_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1006));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1006_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1007 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause5615);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1007_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1007));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1007_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprocedure_analyse_clauseEx; /* Prevent compiler warnings */
    ruleprocedure_analyse_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end procedure_analyse_clause */

/**
 * $ANTLR start having_clause
 * MySQL.g:1105:1: having_clause : HAVING_SYMBOL ^ expression ;
 */
static MySQLParser_having_clause_return
having_clause(pMySQLParser ctx)
{
    MySQLParser_having_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    HAVING_SYMBOL1008;
    MySQLParser_expression_return expression1009;
    #undef	RETURN_TYPE_expression1009
    #define	RETURN_TYPE_expression1009 MySQLParser_expression_return

    pANTLR3_BASE_TREE HAVING_SYMBOL1008_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    HAVING_SYMBOL1008       = NULL;
    expression1009.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    HAVING_SYMBOL1008_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1105:14: ( HAVING_SYMBOL ^ expression )
        // MySQL.g:1106:2: HAVING_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            HAVING_SYMBOL1008 = (pANTLR3_COMMON_TOKEN) MATCHT(HAVING_SYMBOL, &FOLLOW_HAVING_SYMBOL_in_having_clause5624);
            if  (HASEXCEPTION())
            {
                goto rulehaving_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HAVING_SYMBOL1008_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HAVING_SYMBOL1008))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, HAVING_SYMBOL1008_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_having_clause5627);
            expression1009=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehaving_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1009.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulehaving_clauseEx; /* Prevent compiler warnings */
    rulehaving_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end having_clause */

/**
 * $ANTLR start group_by_clause
 * MySQL.g:1109:1: group_by_clause : GROUP_SYMBOL ^ BY_SYMBOL expression_list_with_direction ( olap_option )? ;
 */
static MySQLParser_group_by_clause_return
group_by_clause(pMySQLParser ctx)
{
    MySQLParser_group_by_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL1010;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL1011;
    MySQLParser_expression_list_with_direction_return expression_list_with_direction1012;
    #undef	RETURN_TYPE_expression_list_with_direction1012
    #define	RETURN_TYPE_expression_list_with_direction1012 MySQLParser_expression_list_with_direction_return

    MySQLParser_olap_option_return olap_option1013;
    #undef	RETURN_TYPE_olap_option1013
    #define	RETURN_TYPE_olap_option1013 MySQLParser_olap_option_return

    pANTLR3_BASE_TREE GROUP_SYMBOL1010_tree;
    pANTLR3_BASE_TREE BY_SYMBOL1011_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GROUP_SYMBOL1010       = NULL;
    BY_SYMBOL1011       = NULL;
    expression_list_with_direction1012.tree = NULL;

    olap_option1013.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GROUP_SYMBOL1010_tree   = NULL;
    BY_SYMBOL1011_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1109:16: ( GROUP_SYMBOL ^ BY_SYMBOL expression_list_with_direction ( olap_option )? )
        // MySQL.g:1110:2: GROUP_SYMBOL ^ BY_SYMBOL expression_list_with_direction ( olap_option )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            GROUP_SYMBOL1010 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_group_by_clause5636);
            if  (HASEXCEPTION())
            {
                goto rulegroup_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GROUP_SYMBOL1010_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL1010))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, GROUP_SYMBOL1010_tree, root_0));
            }

            BY_SYMBOL1011 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_group_by_clause5639);
            if  (HASEXCEPTION())
            {
                goto rulegroup_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL1011_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL1011));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL1011_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_list_with_direction_in_group_by_clause5641);
            expression_list_with_direction1012=expression_list_with_direction(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegroup_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_direction1012.tree);

            // MySQL.g:1110:57: ( olap_option )?
            {
                int alt358=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case CUBE_SYMBOL:
                    		    case ROLLUP_SYMBOL:
                    		    	{
                    		    		alt358=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt358)
                {
            	case 1:
            	    // MySQL.g:1110:57: olap_option
            	    {
            	        FOLLOWPUSH(FOLLOW_olap_option_in_group_by_clause5643);
            	        olap_option1013=olap_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegroup_by_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, olap_option1013.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulegroup_by_clauseEx; /* Prevent compiler warnings */
    rulegroup_by_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end group_by_clause */

/**
 * $ANTLR start olap_option
 * MySQL.g:1113:1: olap_option : ( WITH_SYMBOL CUBE_SYMBOL | WITH_SYMBOL ROLLUP_SYMBOL );
 */
static MySQLParser_olap_option_return
olap_option(pMySQLParser ctx)
{
    MySQLParser_olap_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1014;
    pANTLR3_COMMON_TOKEN    CUBE_SYMBOL1015;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1016;
    pANTLR3_COMMON_TOKEN    ROLLUP_SYMBOL1017;

    pANTLR3_BASE_TREE WITH_SYMBOL1014_tree;
    pANTLR3_BASE_TREE CUBE_SYMBOL1015_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1016_tree;
    pANTLR3_BASE_TREE ROLLUP_SYMBOL1017_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL1014       = NULL;
    CUBE_SYMBOL1015       = NULL;
    WITH_SYMBOL1016       = NULL;
    ROLLUP_SYMBOL1017       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL1014_tree   = NULL;
    CUBE_SYMBOL1015_tree   = NULL;
    WITH_SYMBOL1016_tree   = NULL;
    ROLLUP_SYMBOL1017_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1113:12: ( WITH_SYMBOL CUBE_SYMBOL | WITH_SYMBOL ROLLUP_SYMBOL )

            ANTLR3_UINT32 alt359;

            alt359=2;

            switch ( LA(1) )
            {
            case WITH_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case CUBE_SYMBOL:
            			{
            				alt359=1;
            			}
            		    break;
            		case ROLLUP_SYMBOL:
            			{
            				alt359=2;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 359;
            		    EXCEPTION->state        = 1;


            		    goto ruleolap_optionEx;

            		}

            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 359;
                EXCEPTION->state        = 0;


                goto ruleolap_optionEx;

            }

            switch (alt359)
            {
        	case 1:
        	    // MySQL.g:1114:2: WITH_SYMBOL CUBE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1014 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_olap_option5653);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL1014_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1014));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1014_tree);
        	        }

        	        CUBE_SYMBOL1015 = (pANTLR3_COMMON_TOKEN) MATCHT(CUBE_SYMBOL, &FOLLOW_CUBE_SYMBOL_in_olap_option5655);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CUBE_SYMBOL1015_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CUBE_SYMBOL1015));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CUBE_SYMBOL1015_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1115:4: WITH_SYMBOL ROLLUP_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1016 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_olap_option5660);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL1016_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1016));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1016_tree);
        	        }

        	        ROLLUP_SYMBOL1017 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLUP_SYMBOL, &FOLLOW_ROLLUP_SYMBOL_in_olap_option5662);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROLLUP_SYMBOL1017_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROLLUP_SYMBOL1017));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROLLUP_SYMBOL1017_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleolap_optionEx; /* Prevent compiler warnings */
    ruleolap_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end olap_option */

/**
 * $ANTLR start order_by_clause
 * MySQL.g:1118:1: order_by_clause : ORDER_SYMBOL ^ BY_SYMBOL expression_list_with_direction ;
 */
static MySQLParser_order_by_clause_return
order_by_clause(pMySQLParser ctx)
{
    MySQLParser_order_by_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ORDER_SYMBOL1018;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL1019;
    MySQLParser_expression_list_with_direction_return expression_list_with_direction1020;
    #undef	RETURN_TYPE_expression_list_with_direction1020
    #define	RETURN_TYPE_expression_list_with_direction1020 MySQLParser_expression_list_with_direction_return

    pANTLR3_BASE_TREE ORDER_SYMBOL1018_tree;
    pANTLR3_BASE_TREE BY_SYMBOL1019_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ORDER_SYMBOL1018       = NULL;
    BY_SYMBOL1019       = NULL;
    expression_list_with_direction1020.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ORDER_SYMBOL1018_tree   = NULL;
    BY_SYMBOL1019_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1118:16: ( ORDER_SYMBOL ^ BY_SYMBOL expression_list_with_direction )
        // MySQL.g:1119:2: ORDER_SYMBOL ^ BY_SYMBOL expression_list_with_direction
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ORDER_SYMBOL1018 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_order_by_clause5671);
            if  (HASEXCEPTION())
            {
                goto ruleorder_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ORDER_SYMBOL1018_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ORDER_SYMBOL1018))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ORDER_SYMBOL1018_tree, root_0));
            }

            BY_SYMBOL1019 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_order_by_clause5674);
            if  (HASEXCEPTION())
            {
                goto ruleorder_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL1019_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL1019));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL1019_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_list_with_direction_in_order_by_clause5676);
            expression_list_with_direction1020=expression_list_with_direction(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleorder_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_direction1020.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleorder_by_clauseEx; /* Prevent compiler warnings */
    ruleorder_by_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end order_by_clause */

/**
 * $ANTLR start order_by_or_limit
 * MySQL.g:1122:1: order_by_or_limit : ( order_by_clause ( limit_clause )? | limit_clause );
 */
static MySQLParser_order_by_or_limit_return
order_by_or_limit(pMySQLParser ctx)
{
    MySQLParser_order_by_or_limit_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_order_by_clause_return order_by_clause1021;
    #undef	RETURN_TYPE_order_by_clause1021
    #define	RETURN_TYPE_order_by_clause1021 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause1022;
    #undef	RETURN_TYPE_limit_clause1022
    #define	RETURN_TYPE_limit_clause1022 MySQLParser_limit_clause_return

    MySQLParser_limit_clause_return limit_clause1023;
    #undef	RETURN_TYPE_limit_clause1023
    #define	RETURN_TYPE_limit_clause1023 MySQLParser_limit_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    order_by_clause1021.tree = NULL;

    limit_clause1022.tree = NULL;

    limit_clause1023.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1122:18: ( order_by_clause ( limit_clause )? | limit_clause )

            ANTLR3_UINT32 alt361;

            alt361=2;

            switch ( LA(1) )
            {
            case ORDER_SYMBOL:
            	{
            		alt361=1;
            	}
                break;
            case LIMIT_SYMBOL:
            	{
            		alt361=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 361;
                EXCEPTION->state        = 0;


                goto ruleorder_by_or_limitEx;

            }

            switch (alt361)
            {
        	case 1:
        	    // MySQL.g:1123:2: order_by_clause ( limit_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_order_by_or_limit5685);
        	        order_by_clause1021=order_by_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleorder_by_or_limitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause1021.tree);

        	        // MySQL.g:1123:18: ( limit_clause )?
        	        {
        	            int alt360=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                	{
        	                		alt360=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt360)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1123:18: limit_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_order_by_or_limit5687);
        	        	        limit_clause1022=limit_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleorder_by_or_limitEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1022.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1124:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_order_by_or_limit5693);
        	        limit_clause1023=limit_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleorder_by_or_limitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1023.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleorder_by_or_limitEx; /* Prevent compiler warnings */
    ruleorder_by_or_limitEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end order_by_or_limit */

/**
 * $ANTLR start direction
 * MySQL.g:1127:1: direction : ( ASC_SYMBOL | DESC_SYMBOL );
 */
static MySQLParser_direction_return
direction(pMySQLParser ctx)
{
    MySQLParser_direction_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1024;

    pANTLR3_BASE_TREE set1024_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1024       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1024_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1127:10: ( ASC_SYMBOL | DESC_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1024=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == ASC_SYMBOL || LA(1) == DESC_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1024))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruledirectionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruledirectionEx; /* Prevent compiler warnings */
    ruledirectionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end direction */

/**
 * $ANTLR start from_clause
 * MySQL.g:1132:1: from_clause : FROM_SYMBOL table_reference_list ;
 */
static MySQLParser_from_clause_return
from_clause(pMySQLParser ctx)
{
    MySQLParser_from_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1025;
    MySQLParser_table_reference_list_return table_reference_list1026;
    #undef	RETURN_TYPE_table_reference_list1026
    #define	RETURN_TYPE_table_reference_list1026 MySQLParser_table_reference_list_return

    pANTLR3_BASE_TREE FROM_SYMBOL1025_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FROM_SYMBOL1025       = NULL;
    table_reference_list1026.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FROM_SYMBOL1025_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1132:12: ( FROM_SYMBOL table_reference_list )
        // MySQL.g:1133:2: FROM_SYMBOL table_reference_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FROM_SYMBOL1025 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_from_clause5716);
            if  (HASEXCEPTION())
            {
                goto rulefrom_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FROM_SYMBOL1025_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1025));
            ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1025_tree);
            }

            FOLLOWPUSH(FOLLOW_table_reference_list_in_from_clause5718);
            table_reference_list1026=table_reference_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefrom_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference_list1026.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefrom_clauseEx; /* Prevent compiler warnings */
    rulefrom_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end from_clause */

/**
 * $ANTLR start where_clause
 * MySQL.g:1136:1: where_clause : WHERE_SYMBOL ^ expression ;
 */
static MySQLParser_where_clause_return
where_clause(pMySQLParser ctx)
{
    MySQLParser_where_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    WHERE_SYMBOL1027;
    MySQLParser_expression_return expression1028;
    #undef	RETURN_TYPE_expression1028
    #define	RETURN_TYPE_expression1028 MySQLParser_expression_return

    pANTLR3_BASE_TREE WHERE_SYMBOL1027_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHERE_SYMBOL1027       = NULL;
    expression1028.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHERE_SYMBOL1027_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1136:13: ( WHERE_SYMBOL ^ expression )
        // MySQL.g:1137:2: WHERE_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHERE_SYMBOL1027 = (pANTLR3_COMMON_TOKEN) MATCHT(WHERE_SYMBOL, &FOLLOW_WHERE_SYMBOL_in_where_clause5727);
            if  (HASEXCEPTION())
            {
                goto rulewhere_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHERE_SYMBOL1027_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHERE_SYMBOL1027))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHERE_SYMBOL1027_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_where_clause5730);
            expression1028=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhere_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1028.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulewhere_clauseEx; /* Prevent compiler warnings */
    rulewhere_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end where_clause */

/**
 * $ANTLR start table_reference_list
 * MySQL.g:1140:1: table_reference_list : ( join_table_list | DUAL_SYMBOL );
 */
static MySQLParser_table_reference_list_return
table_reference_list(pMySQLParser ctx)
{
    MySQLParser_table_reference_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DUAL_SYMBOL1030;
    MySQLParser_join_table_list_return join_table_list1029;
    #undef	RETURN_TYPE_join_table_list1029
    #define	RETURN_TYPE_join_table_list1029 MySQLParser_join_table_list_return

    pANTLR3_BASE_TREE DUAL_SYMBOL1030_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DUAL_SYMBOL1030       = NULL;
    join_table_list1029.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DUAL_SYMBOL1030_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1140:21: ( join_table_list | DUAL_SYMBOL )

            ANTLR3_UINT32 alt362;

            alt362=2;

            {
                int LA362_0 = LA(1);
                if ( (LA362_0 == BACK_TICK_QUOTED_ID || LA362_0 == IDENTIFIER || LA362_0 == OPEN_PAR_SYMBOL || LA362_0 == SELECT_SYMBOL))
                {
                    alt362=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA362_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt362=1;
                }
                else if ( (((LA362_0 >= ASCII_SYMBOL) && (LA362_0 <= YEAR_SYMBOL)) || LA362_0 == DOT_SYMBOL || LA362_0 == OPEN_CURLY_SYMBOL))
                {
                    alt362=1;
                }
                else if ( (LA362_0 == DUAL_SYMBOL))
                {
                    alt362=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 362;
                    EXCEPTION->state        = 0;


                    goto ruletable_reference_listEx;

                }
            }
            switch (alt362)
            {
        	case 1:
        	    // MySQL.g:1141:2: join_table_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_join_table_list_in_table_reference_list5739);
        	        join_table_list1029=join_table_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_reference_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_table_list1029.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1142:4: DUAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DUAL_SYMBOL1030 = (pANTLR3_COMMON_TOKEN) MATCHT(DUAL_SYMBOL, &FOLLOW_DUAL_SYMBOL_in_table_reference_list5744);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_reference_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DUAL_SYMBOL1030_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DUAL_SYMBOL1030));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DUAL_SYMBOL1030_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletable_reference_listEx; /* Prevent compiler warnings */
    ruletable_reference_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_reference_list */

/**
 * $ANTLR start join_table_list
 * MySQL.g:1145:1: join_table_list : escaped_table_reference ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )* ;
 */
static MySQLParser_join_table_list_return
join_table_list(pMySQLParser ctx)
{
    MySQLParser_join_table_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1032;
    MySQLParser_escaped_table_reference_return escaped_table_reference1031;
    #undef	RETURN_TYPE_escaped_table_reference1031
    #define	RETURN_TYPE_escaped_table_reference1031 MySQLParser_escaped_table_reference_return

    MySQLParser_escaped_table_reference_return escaped_table_reference1033;
    #undef	RETURN_TYPE_escaped_table_reference1033
    #define	RETURN_TYPE_escaped_table_reference1033 MySQLParser_escaped_table_reference_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1032_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1032       = NULL;
    escaped_table_reference1031.tree = NULL;

    escaped_table_reference1033.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1032_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1145:16: ( escaped_table_reference ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )* )
        // MySQL.g:1146:3: escaped_table_reference ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_escaped_table_reference_in_join_table_list5755);
            escaped_table_reference1031=escaped_table_reference(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulejoin_table_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, escaped_table_reference1031.tree);

            // MySQL.g:1146:27: ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )*

            for (;;)
            {
                int alt363=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt363=1;
                	}
                    break;

                }

                switch (alt363)
                {
            	case 1:
            	    // MySQL.g:1146:57: COMMA_SYMBOL escaped_table_reference
            	    {
            	        COMMA_SYMBOL1032 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_join_table_list5771);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulejoin_table_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1032_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1032));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1032_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_escaped_table_reference_in_join_table_list5773);
            	        escaped_table_reference1033=escaped_table_reference(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulejoin_table_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, escaped_table_reference1033.tree);

            	    }
            	    break;

            	default:
            	    goto loop363;	/* break out of the loop */
            	    break;
                }
            }
            loop363: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulejoin_table_listEx; /* Prevent compiler warnings */
    rulejoin_table_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end join_table_list */

/**
 * $ANTLR start escaped_table_reference
 * MySQL.g:1155:1: escaped_table_reference : ( table_reference | OPEN_CURLY_SYMBOL identifier table_reference CLOSE_CURLY_SYMBOL );
 */
static MySQLParser_escaped_table_reference_return
escaped_table_reference(pMySQLParser ctx)
{
    MySQLParser_escaped_table_reference_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_CURLY_SYMBOL1035;
    pANTLR3_COMMON_TOKEN    CLOSE_CURLY_SYMBOL1038;
    MySQLParser_table_reference_return table_reference1034;
    #undef	RETURN_TYPE_table_reference1034
    #define	RETURN_TYPE_table_reference1034 MySQLParser_table_reference_return

    MySQLParser_identifier_return identifier1036;
    #undef	RETURN_TYPE_identifier1036
    #define	RETURN_TYPE_identifier1036 MySQLParser_identifier_return

    MySQLParser_table_reference_return table_reference1037;
    #undef	RETURN_TYPE_table_reference1037
    #define	RETURN_TYPE_table_reference1037 MySQLParser_table_reference_return

    pANTLR3_BASE_TREE OPEN_CURLY_SYMBOL1035_tree;
    pANTLR3_BASE_TREE CLOSE_CURLY_SYMBOL1038_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_CURLY_SYMBOL1035       = NULL;
    CLOSE_CURLY_SYMBOL1038       = NULL;
    table_reference1034.tree = NULL;

    identifier1036.tree = NULL;

    table_reference1037.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_CURLY_SYMBOL1035_tree   = NULL;
    CLOSE_CURLY_SYMBOL1038_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1155:24: ( table_reference | OPEN_CURLY_SYMBOL identifier table_reference CLOSE_CURLY_SYMBOL )

            ANTLR3_UINT32 alt364;

            alt364=2;

            {
                int LA364_0 = LA(1);
                if ( (LA364_0 == BACK_TICK_QUOTED_ID || LA364_0 == IDENTIFIER || LA364_0 == OPEN_PAR_SYMBOL || LA364_0 == SELECT_SYMBOL))
                {
                    alt364=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA364_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt364=1;
                }
                else if ( (((LA364_0 >= ASCII_SYMBOL) && (LA364_0 <= YEAR_SYMBOL)) || LA364_0 == DOT_SYMBOL))
                {
                    alt364=1;
                }
                else if ( (LA364_0 == OPEN_CURLY_SYMBOL))
                {
                    alt364=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 364;
                    EXCEPTION->state        = 0;


                    goto ruleescaped_table_referenceEx;

                }
            }
            switch (alt364)
            {
        	case 1:
        	    // MySQL.g:1156:2: table_reference
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_reference_in_escaped_table_reference5790);
        	        table_reference1034=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference1034.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1157:4: OPEN_CURLY_SYMBOL identifier table_reference CLOSE_CURLY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_CURLY_SYMBOL1035 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_CURLY_SYMBOL, &FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference5795);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_CURLY_SYMBOL1035_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_CURLY_SYMBOL1035));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_CURLY_SYMBOL1035_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_escaped_table_reference5797);
        	        identifier1036=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1036.tree);

        	        FOLLOWPUSH(FOLLOW_table_reference_in_escaped_table_reference5799);
        	        table_reference1037=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference1037.tree);

        	        CLOSE_CURLY_SYMBOL1038 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_CURLY_SYMBOL, &FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference5801);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_CURLY_SYMBOL1038_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_CURLY_SYMBOL1038));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_CURLY_SYMBOL1038_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleescaped_table_referenceEx; /* Prevent compiler warnings */
    ruleescaped_table_referenceEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end escaped_table_reference */

/**
 * $ANTLR start table_reference
 * MySQL.g:1160:1: table_reference : table_factor ( options {greedy=true; } : join )* ;
 */
static MySQLParser_table_reference_return
table_reference(pMySQLParser ctx)
{
    MySQLParser_table_reference_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_factor_return table_factor1039;
    #undef	RETURN_TYPE_table_factor1039
    #define	RETURN_TYPE_table_factor1039 MySQLParser_table_factor_return

    MySQLParser_join_return join1040;
    #undef	RETURN_TYPE_join1040
    #define	RETURN_TYPE_join1040 MySQLParser_join_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_factor1039.tree = NULL;

    join1040.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1160:16: ( table_factor ( options {greedy=true; } : join )* )
        // MySQL.g:1161:2: table_factor ( options {greedy=true; } : join )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_factor_in_table_reference5811);
            table_factor1039=table_factor(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_referenceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor1039.tree);

            // MySQL.g:1161:15: ( options {greedy=true; } : join )*

            for (;;)
            {
                int alt365=2;
                switch ( LA(1) )
                {
                case CROSS_SYMBOL:
                case INNER_SYMBOL:
                	{
                		alt365=1;
                	}
                    break;
                case JOIN_SYMBOL:
                	{
                		alt365=1;
                	}
                    break;
                case STRAIGHT_JOIN_SYMBOL:
                	{
                		alt365=1;
                	}
                    break;
                case LEFT_SYMBOL:
                case RIGHT_SYMBOL:
                	{
                		alt365=1;
                	}
                    break;
                case NATURAL_SYMBOL:
                	{
                		alt365=1;
                	}
                    break;

                }

                switch (alt365)
                {
            	case 1:
            	    // MySQL.g:1161:45: join
            	    {
            	        FOLLOWPUSH(FOLLOW_join_in_table_reference5827);
            	        join1040=join(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_referenceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join1040.tree);

            	    }
            	    break;

            	default:
            	    goto loop365;	/* break out of the loop */
            	    break;
                }
            }
            loop365: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_referenceEx; /* Prevent compiler warnings */
    ruletable_referenceEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_reference */

/**
 * $ANTLR start join
 * MySQL.g:1164:1: join : join_table -> ^( JOIN_EXPR_TOKEN join_table ) ;
 */
static MySQLParser_join_return
join(pMySQLParser ctx)
{
    MySQLParser_join_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_join_table_return join_table1041;
    #undef	RETURN_TYPE_join_table1041
    #define	RETURN_TYPE_join_table1041 MySQLParser_join_table_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_join_table;
    /* Initialize rule variables
     */

    root_0 = NULL;

    join_table1041.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_join_table   = NULL;
    #define CREATE_stream_join_table  if (stream_join_table == NULL) {stream_join_table = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule join_table"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1164:5: ( join_table -> ^( JOIN_EXPR_TOKEN join_table ) )
        // MySQL.g:1165:2: join_table
        {
            FOLLOWPUSH(FOLLOW_join_table_in_join5838);
            join_table1041=join_table(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulejoinEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_join_table; stream_join_table->add(stream_join_table, join_table1041.tree, NULL); }

            /* AST REWRITE
             * elements          : join_table
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1165:13: -> ^( JOIN_EXPR_TOKEN join_table )
            	{
            	    // MySQL.g:1165:16: ^( JOIN_EXPR_TOKEN join_table )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, JOIN_EXPR_TOKEN, (pANTLR3_UINT8)"JOIN_EXPR_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_join_table == NULL ? NULL : stream_join_table->nextTree(stream_join_table));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulejoinEx; /* Prevent compiler warnings */
    rulejoinEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_join_table != NULL) stream_join_table->free(stream_join_table);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end join */

/**
 * $ANTLR start table_factor
 * MySQL.g:1168:1: table_factor : ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list table_expression | OPEN_PAR_SYMBOL select_table_factor_union CLOSE_PAR_SYMBOL ( table_alias )? | table_ref ( use_partition )? ( table_alias )? ( index_hint_list )? );
 */
static MySQLParser_table_factor_return
table_factor(pMySQLParser ctx)
{
    MySQLParser_table_factor_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL1042;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1046;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1048;
    MySQLParser_select_option_return select_option1043;
    #undef	RETURN_TYPE_select_option1043
    #define	RETURN_TYPE_select_option1043 MySQLParser_select_option_return

    MySQLParser_select_item_list_return select_item_list1044;
    #undef	RETURN_TYPE_select_item_list1044
    #define	RETURN_TYPE_select_item_list1044 MySQLParser_select_item_list_return

    MySQLParser_table_expression_return table_expression1045;
    #undef	RETURN_TYPE_table_expression1045
    #define	RETURN_TYPE_table_expression1045 MySQLParser_table_expression_return

    MySQLParser_select_table_factor_union_return select_table_factor_union1047;
    #undef	RETURN_TYPE_select_table_factor_union1047
    #define	RETURN_TYPE_select_table_factor_union1047 MySQLParser_select_table_factor_union_return

    MySQLParser_table_alias_return table_alias1049;
    #undef	RETURN_TYPE_table_alias1049
    #define	RETURN_TYPE_table_alias1049 MySQLParser_table_alias_return

    MySQLParser_table_ref_return table_ref1050;
    #undef	RETURN_TYPE_table_ref1050
    #define	RETURN_TYPE_table_ref1050 MySQLParser_table_ref_return

    MySQLParser_use_partition_return use_partition1051;
    #undef	RETURN_TYPE_use_partition1051
    #define	RETURN_TYPE_use_partition1051 MySQLParser_use_partition_return

    MySQLParser_table_alias_return table_alias1052;
    #undef	RETURN_TYPE_table_alias1052
    #define	RETURN_TYPE_table_alias1052 MySQLParser_table_alias_return

    MySQLParser_index_hint_list_return index_hint_list1053;
    #undef	RETURN_TYPE_index_hint_list1053
    #define	RETURN_TYPE_index_hint_list1053 MySQLParser_index_hint_list_return

    pANTLR3_BASE_TREE SELECT_SYMBOL1042_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1046_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1048_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL1042       = NULL;
    OPEN_PAR_SYMBOL1046       = NULL;
    CLOSE_PAR_SYMBOL1048       = NULL;
    select_option1043.tree = NULL;

    select_item_list1044.tree = NULL;

    table_expression1045.tree = NULL;

    select_table_factor_union1047.tree = NULL;

    table_alias1049.tree = NULL;

    table_ref1050.tree = NULL;

    use_partition1051.tree = NULL;

    table_alias1052.tree = NULL;

    index_hint_list1053.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL1042_tree   = NULL;
    OPEN_PAR_SYMBOL1046_tree   = NULL;
    CLOSE_PAR_SYMBOL1048_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1168:13: ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list table_expression | OPEN_PAR_SYMBOL select_table_factor_union CLOSE_PAR_SYMBOL ( table_alias )? | table_ref ( use_partition )? ( table_alias )? ( index_hint_list )? )

            ANTLR3_UINT32 alt371;

            alt371=3;

            {
                int LA371_0 = LA(1);
                if ( (LA371_0 == SELECT_SYMBOL))
                {
                    alt371=1;
                }
                else if ( (LA371_0 == OPEN_PAR_SYMBOL))
                {
                    alt371=2;
                }
                else if ( (LA371_0 == BACK_TICK_QUOTED_ID || LA371_0 == IDENTIFIER))
                {
                    alt371=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA371_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt371=3;
                }
                else if ( (((LA371_0 >= ASCII_SYMBOL) && (LA371_0 <= YEAR_SYMBOL)) || LA371_0 == DOT_SYMBOL))
                {
                    alt371=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 371;
                    EXCEPTION->state        = 0;


                    goto ruletable_factorEx;

                }
            }
            switch (alt371)
            {
        	case 1:
        	    // MySQL.g:1169:2: SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list table_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL1042 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_table_factor5855);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL1042_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL1042));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL1042_tree);
        	        }

        	        // MySQL.g:1169:16: ( options {greedy=true; } : select_option )*

        	        for (;;)
        	        {
        	            int alt366=2;
        	            switch ( LA(1) )
        	            {
        	            case SQL_BUFFER_RESULT_SYMBOL:
        	            	{
        	            		{
        	            		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	            		    */
        	            		    int LA366_95 = LA(2);
        	            		    if ( (LA366_95 == OPEN_PAR_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MOD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MINUS_OPERATOR || LA366_95 == PLUS_OPERATOR))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == NOT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == SOUNDS_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == SINGLE_QUOTED_TEXT))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == IDENTIFIER))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == BACK_TICK_QUOTED_ID))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == DOUBLE_QUOTED_TEXT))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == DATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == ASCII_SYMBOL || ((LA366_95 >= BITNUMBER) && (LA366_95 <= BITSTRING)) || LA366_95 == BITWISE_NOT_OPERATOR || LA366_95 == FALSE_SYMBOL || LA366_95 == FLOAT || ((LA366_95 >= HEXNUMBER) && (LA366_95 <= HEXSTRING)) || LA366_95 == INTEGER || LA366_95 == INTERVAL_SYMBOL || LA366_95 == LOGICAL_NOT_OPERATOR || LA366_95 == NCHAR_TEXT || LA366_95 == NOT2_SYMBOL || LA366_95 == NULL2_SYMBOL || LA366_95 == NULL_SYMBOL || LA366_95 == TRUE_SYMBOL || LA366_95 == UNDERSCORE_CHARSET))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == STRAIGHT_JOIN_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == LEFT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == TIME_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == TIMESTAMP_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == DAY_SYMBOL || LA366_95 == CHAR_SYMBOL || LA366_95 == CURRENT_USER_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == HOUR_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MINUTE_SYMBOL || LA366_95 == INSERT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == RIGHT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MONTH_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == SECOND_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == USER_SYMBOL || LA366_95 == TRIM_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == YEAR_SYMBOL || LA366_95 == VALUES_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == ADDDATE_SYMBOL || LA366_95 == SUBDATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == GET_FORMAT_SYMBOL || LA366_95 == CURDATE_SYMBOL || LA366_95 == CURTIME_SYMBOL || LA366_95 == DATE_ADD_SYMBOL || LA366_95 == DATE_SUB_SYMBOL || LA366_95 == EXTRACT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (((LA366_95 >= TIMESTAMP_ADD_SYMBOL) && (LA366_95 <= TIMESTAMP_DIFF_SYMBOL)) || LA366_95 == NOW_SYMBOL || LA366_95 == POSITION_SYMBOL || LA366_95 == SUBSTRING_SYMBOL || LA366_95 == SYSDATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == COALESCE_SYMBOL || ((LA366_95 >= UTC_DATE_SYMBOL) && (LA366_95 <= UTC_TIME_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == CHARSET_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == FORMAT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == COLLATION_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MICROSECOND_SYMBOL || LA366_95 == DATABASE_SYMBOL || LA366_95 == IF_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == TRUNCATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == OLD_PASSWORD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MULT_OPERATOR))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == PASSWORD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == QUARTER_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == REVERSE_SYMBOL || ((LA366_95 >= REPEAT_SYMBOL) && (LA366_95 <= REPLACE_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == ROW_COUNT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == WEEK_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == CONTAINS_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == WEIGHT_STRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == GEOMETRYCOLLECTION_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (((LA366_95 >= BACKUP_SYMBOL) && (LA366_95 <= CACHE_SYMBOL)) || ((LA366_95 >= CHECKSUM_SYMBOL) && (LA366_95 <= COMMIT_SYMBOL)) || ((LA366_95 >= DEALLOCATE_SYMBOL) && (LA366_95 <= FOLLOWS_SYMBOL)) || ((LA366_95 >= HANDLER_SYMBOL) && (LA366_95 <= STOP_SYMBOL)) || ((LA366_95 >= UNICODE_SYMBOL) && (LA366_95 <= XA_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == LINESTRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MULTILINESTRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MULTIPOINT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MULTIPOLYGON_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == POINT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == POLYGON_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == AVG_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == ROW_SYMBOL || ((LA366_95 >= AT_AT_SIGN_SYMBOL) && (LA366_95 <= AT_TEXT_SUFFIX)) || ((LA366_95 >= BIT_AND_SYMBOL) && (LA366_95 <= BIT_XOR_SYMBOL)) || LA366_95 == COUNT_SYMBOL || LA366_95 == EXISTS_SYMBOL || LA366_95 == GROUP_CONCAT_SYMBOL || LA366_95 == MAX_SYMBOL || LA366_95 == MIN_SYMBOL || LA366_95 == PARAM_MARKER || LA366_95 == STDDEV_SAMP_SYMBOL || LA366_95 == STD_SYMBOL || LA366_95 == SUM_SYMBOL || LA366_95 == VARIANCE_SYMBOL || LA366_95 == VAR_SAMP_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == SQL_BUFFER_RESULT_SYMBOL || LA366_95 == BINARY_SYMBOL || ((LA366_95 >= CASE_SYMBOL) && (LA366_95 <= CAST_SYMBOL)) || LA366_95 == CONVERT_SYMBOL || LA366_95 == MATCH_SYMBOL || LA366_95 == OPEN_CURLY_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == SQL_NO_CACHE_SYMBOL || LA366_95 == ALL_SYMBOL || LA366_95 == DISTINCT_SYMBOL || LA366_95 == HIGH_PRIORITY_SYMBOL || ((LA366_95 >= SQL_BIG_RESULT_SYMBOL) && (LA366_95 <= SQL_SMALL_RESULT_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == SQL_CACHE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == MAX_STATEMENT_TIME_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_95 == ACTION_SYMBOL || ((LA366_95 >= AFTER_SYMBOL) && (LA366_95 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA366_95 >= BINLOG_SYMBOL) && (LA366_95 <= CLASS_ORIGIN_SYMBOL)) || LA366_95 == CODE_SYMBOL || ((LA366_95 >= COLUMN_NAME_SYMBOL) && (LA366_95 <= DATETIME_SYMBOL)) || ((LA366_95 >= DEFAULT_AUTH_SYMBOL) && (LA366_95 <= GEOMETRY_SYMBOL)) || ((LA366_95 >= GRANTS_SYMBOL) && (LA366_95 <= HOSTS_SYMBOL)) || ((LA366_95 >= IDENTIFIED_SYMBOL) && (LA366_95 <= LEVEL_SYMBOL)) || ((LA366_95 >= LIST_SYMBOL) && (LA366_95 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA366_95 >= MAX_SIZE_SYMBOL) && (LA366_95 <= MESSAGE_TEXT_SYMBOL)) || LA366_95 == MIGRATE_SYMBOL || ((LA366_95 >= MIN_ROWS_SYMBOL) && (LA366_95 <= MODE_SYMBOL)) || ((LA366_95 >= MUTEX_SYMBOL) && (LA366_95 <= OFFSET_SYMBOL)) || ((LA366_95 >= ONE_SHOT_SYMBOL) && (LA366_95 <= PARTITIONS_SYMBOL)) || ((LA366_95 >= PHASE_SYMBOL) && (LA366_95 <= PLUGINS_SYMBOL)) || ((LA366_95 >= PRESERVE_SYMBOL) && (LA366_95 <= PROXY_SYMBOL)) || ((LA366_95 >= QUERY_SYMBOL) && (LA366_95 <= RETURNS_SYMBOL)) || ((LA366_95 >= ROLLUP_SYMBOL) && (LA366_95 <= ROWS_SYMBOL)) || LA366_95 == ROW_FORMAT_SYMBOL || ((LA366_95 >= RTREE_SYMBOL) && (LA366_95 <= SCHEMA_NAME_SYMBOL)) || ((LA366_95 >= SERIAL_SYMBOL) && (LA366_95 <= SNAPSHOT_SYMBOL)) || ((LA366_95 >= SOURCE_SYMBOL) && (LA366_95 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA366_95 >= SQL_THREAD_SYMBOL) && (LA366_95 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA366_95 >= SUBJECT_SYMBOL) && (LA366_95 <= TRIGGERS_SYMBOL)) || ((LA366_95 >= TYPES_SYMBOL) && (LA366_95 <= USER_RESOURCES_SYMBOL)) || ((LA366_95 >= USE_FRM_SYMBOL) && (LA366_95 <= WAIT_SYMBOL)) || LA366_95 == WORK_SYMBOL || ((LA366_95 >= X509_SYMBOL) && (LA366_95 <= XML_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }

        	            		}
        	            	}
        	                break;
        	            case SQL_NO_CACHE_SYMBOL:
        	            	{
        	            		{
        	            		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	            		    */
        	            		    int LA366_103 = LA(2);
        	            		    if ( (LA366_103 == OPEN_PAR_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MOD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MINUS_OPERATOR || LA366_103 == PLUS_OPERATOR))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == NOT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == SOUNDS_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == SINGLE_QUOTED_TEXT))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == IDENTIFIER))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == BACK_TICK_QUOTED_ID))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == DOUBLE_QUOTED_TEXT))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == DATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == ASCII_SYMBOL || ((LA366_103 >= BITNUMBER) && (LA366_103 <= BITSTRING)) || LA366_103 == BITWISE_NOT_OPERATOR || LA366_103 == FALSE_SYMBOL || LA366_103 == FLOAT || ((LA366_103 >= HEXNUMBER) && (LA366_103 <= HEXSTRING)) || LA366_103 == INTEGER || LA366_103 == INTERVAL_SYMBOL || LA366_103 == LOGICAL_NOT_OPERATOR || LA366_103 == NCHAR_TEXT || LA366_103 == NOT2_SYMBOL || LA366_103 == NULL2_SYMBOL || LA366_103 == NULL_SYMBOL || LA366_103 == TRUE_SYMBOL || LA366_103 == UNDERSCORE_CHARSET))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == STRAIGHT_JOIN_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == LEFT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == TIME_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == TIMESTAMP_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == DAY_SYMBOL || LA366_103 == CHAR_SYMBOL || LA366_103 == CURRENT_USER_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == HOUR_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MINUTE_SYMBOL || LA366_103 == INSERT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == RIGHT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MONTH_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == SECOND_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == USER_SYMBOL || LA366_103 == TRIM_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == YEAR_SYMBOL || LA366_103 == VALUES_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == ADDDATE_SYMBOL || LA366_103 == SUBDATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == GET_FORMAT_SYMBOL || LA366_103 == CURDATE_SYMBOL || LA366_103 == CURTIME_SYMBOL || LA366_103 == DATE_ADD_SYMBOL || LA366_103 == DATE_SUB_SYMBOL || LA366_103 == EXTRACT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (((LA366_103 >= TIMESTAMP_ADD_SYMBOL) && (LA366_103 <= TIMESTAMP_DIFF_SYMBOL)) || LA366_103 == NOW_SYMBOL || LA366_103 == POSITION_SYMBOL || LA366_103 == SUBSTRING_SYMBOL || LA366_103 == SYSDATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == COALESCE_SYMBOL || ((LA366_103 >= UTC_DATE_SYMBOL) && (LA366_103 <= UTC_TIME_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == CHARSET_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == FORMAT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == COLLATION_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MICROSECOND_SYMBOL || LA366_103 == DATABASE_SYMBOL || LA366_103 == IF_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == TRUNCATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == OLD_PASSWORD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MULT_OPERATOR))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == PASSWORD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == QUARTER_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == REVERSE_SYMBOL || ((LA366_103 >= REPEAT_SYMBOL) && (LA366_103 <= REPLACE_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == ROW_COUNT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == WEEK_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == CONTAINS_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == WEIGHT_STRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == GEOMETRYCOLLECTION_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (((LA366_103 >= BACKUP_SYMBOL) && (LA366_103 <= CACHE_SYMBOL)) || ((LA366_103 >= CHECKSUM_SYMBOL) && (LA366_103 <= COMMIT_SYMBOL)) || ((LA366_103 >= DEALLOCATE_SYMBOL) && (LA366_103 <= FOLLOWS_SYMBOL)) || ((LA366_103 >= HANDLER_SYMBOL) && (LA366_103 <= STOP_SYMBOL)) || ((LA366_103 >= UNICODE_SYMBOL) && (LA366_103 <= XA_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == LINESTRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MULTILINESTRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MULTIPOINT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MULTIPOLYGON_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == POINT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == POLYGON_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == AVG_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == ROW_SYMBOL || ((LA366_103 >= AT_AT_SIGN_SYMBOL) && (LA366_103 <= AT_TEXT_SUFFIX)) || ((LA366_103 >= BIT_AND_SYMBOL) && (LA366_103 <= BIT_XOR_SYMBOL)) || LA366_103 == COUNT_SYMBOL || LA366_103 == EXISTS_SYMBOL || LA366_103 == GROUP_CONCAT_SYMBOL || LA366_103 == MAX_SYMBOL || LA366_103 == MIN_SYMBOL || LA366_103 == PARAM_MARKER || LA366_103 == STDDEV_SAMP_SYMBOL || LA366_103 == STD_SYMBOL || LA366_103 == SUM_SYMBOL || LA366_103 == VARIANCE_SYMBOL || LA366_103 == VAR_SAMP_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == SQL_BUFFER_RESULT_SYMBOL || LA366_103 == BINARY_SYMBOL || ((LA366_103 >= CASE_SYMBOL) && (LA366_103 <= CAST_SYMBOL)) || LA366_103 == CONVERT_SYMBOL || LA366_103 == MATCH_SYMBOL || LA366_103 == OPEN_CURLY_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == SQL_NO_CACHE_SYMBOL || LA366_103 == ALL_SYMBOL || LA366_103 == DISTINCT_SYMBOL || LA366_103 == HIGH_PRIORITY_SYMBOL || ((LA366_103 >= SQL_BIG_RESULT_SYMBOL) && (LA366_103 <= SQL_SMALL_RESULT_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == SQL_CACHE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == MAX_STATEMENT_TIME_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_103 == ACTION_SYMBOL || ((LA366_103 >= AFTER_SYMBOL) && (LA366_103 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA366_103 >= BINLOG_SYMBOL) && (LA366_103 <= CLASS_ORIGIN_SYMBOL)) || LA366_103 == CODE_SYMBOL || ((LA366_103 >= COLUMN_NAME_SYMBOL) && (LA366_103 <= DATETIME_SYMBOL)) || ((LA366_103 >= DEFAULT_AUTH_SYMBOL) && (LA366_103 <= GEOMETRY_SYMBOL)) || ((LA366_103 >= GRANTS_SYMBOL) && (LA366_103 <= HOSTS_SYMBOL)) || ((LA366_103 >= IDENTIFIED_SYMBOL) && (LA366_103 <= LEVEL_SYMBOL)) || ((LA366_103 >= LIST_SYMBOL) && (LA366_103 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA366_103 >= MAX_SIZE_SYMBOL) && (LA366_103 <= MESSAGE_TEXT_SYMBOL)) || LA366_103 == MIGRATE_SYMBOL || ((LA366_103 >= MIN_ROWS_SYMBOL) && (LA366_103 <= MODE_SYMBOL)) || ((LA366_103 >= MUTEX_SYMBOL) && (LA366_103 <= OFFSET_SYMBOL)) || ((LA366_103 >= ONE_SHOT_SYMBOL) && (LA366_103 <= PARTITIONS_SYMBOL)) || ((LA366_103 >= PHASE_SYMBOL) && (LA366_103 <= PLUGINS_SYMBOL)) || ((LA366_103 >= PRESERVE_SYMBOL) && (LA366_103 <= PROXY_SYMBOL)) || ((LA366_103 >= QUERY_SYMBOL) && (LA366_103 <= RETURNS_SYMBOL)) || ((LA366_103 >= ROLLUP_SYMBOL) && (LA366_103 <= ROWS_SYMBOL)) || LA366_103 == ROW_FORMAT_SYMBOL || ((LA366_103 >= RTREE_SYMBOL) && (LA366_103 <= SCHEMA_NAME_SYMBOL)) || ((LA366_103 >= SERIAL_SYMBOL) && (LA366_103 <= SNAPSHOT_SYMBOL)) || ((LA366_103 >= SOURCE_SYMBOL) && (LA366_103 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA366_103 >= SQL_THREAD_SYMBOL) && (LA366_103 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA366_103 >= SUBJECT_SYMBOL) && (LA366_103 <= TRIGGERS_SYMBOL)) || ((LA366_103 >= TYPES_SYMBOL) && (LA366_103 <= USER_RESOURCES_SYMBOL)) || ((LA366_103 >= USE_FRM_SYMBOL) && (LA366_103 <= WAIT_SYMBOL)) || LA366_103 == WORK_SYMBOL || ((LA366_103 >= X509_SYMBOL) && (LA366_103 <= XML_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }

        	            		}
        	            	}
        	                break;
        	            case ALL_SYMBOL:
        	            case DISTINCT_SYMBOL:
        	            case HIGH_PRIORITY_SYMBOL:
        	            case SQL_BIG_RESULT_SYMBOL:
        	            case SQL_CALC_FOUND_ROWS_SYMBOL:
        	            case SQL_SMALL_RESULT_SYMBOL:
        	            case STRAIGHT_JOIN_SYMBOL:
        	            	{
        	            		alt366=1;
        	            	}
        	                break;
        	            case SQL_CACHE_SYMBOL:
        	            	{
        	            		{
        	            		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	            		    */
        	            		    int LA366_105 = LA(2);
        	            		    if ( (LA366_105 == OPEN_PAR_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MOD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MINUS_OPERATOR || LA366_105 == PLUS_OPERATOR))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == NOT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == SOUNDS_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == SINGLE_QUOTED_TEXT))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == IDENTIFIER))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == BACK_TICK_QUOTED_ID))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == DOUBLE_QUOTED_TEXT))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == DATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == ASCII_SYMBOL || ((LA366_105 >= BITNUMBER) && (LA366_105 <= BITSTRING)) || LA366_105 == BITWISE_NOT_OPERATOR || LA366_105 == FALSE_SYMBOL || LA366_105 == FLOAT || ((LA366_105 >= HEXNUMBER) && (LA366_105 <= HEXSTRING)) || LA366_105 == INTEGER || LA366_105 == INTERVAL_SYMBOL || LA366_105 == LOGICAL_NOT_OPERATOR || LA366_105 == NCHAR_TEXT || LA366_105 == NOT2_SYMBOL || LA366_105 == NULL2_SYMBOL || LA366_105 == NULL_SYMBOL || LA366_105 == TRUE_SYMBOL || LA366_105 == UNDERSCORE_CHARSET))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == STRAIGHT_JOIN_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == LEFT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == TIME_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == TIMESTAMP_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == DAY_SYMBOL || LA366_105 == CHAR_SYMBOL || LA366_105 == CURRENT_USER_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == HOUR_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MINUTE_SYMBOL || LA366_105 == INSERT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == RIGHT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MONTH_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == SECOND_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == USER_SYMBOL || LA366_105 == TRIM_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == YEAR_SYMBOL || LA366_105 == VALUES_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == ADDDATE_SYMBOL || LA366_105 == SUBDATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == GET_FORMAT_SYMBOL || LA366_105 == CURDATE_SYMBOL || LA366_105 == CURTIME_SYMBOL || LA366_105 == DATE_ADD_SYMBOL || LA366_105 == DATE_SUB_SYMBOL || LA366_105 == EXTRACT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (((LA366_105 >= TIMESTAMP_ADD_SYMBOL) && (LA366_105 <= TIMESTAMP_DIFF_SYMBOL)) || LA366_105 == NOW_SYMBOL || LA366_105 == POSITION_SYMBOL || LA366_105 == SUBSTRING_SYMBOL || LA366_105 == SYSDATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == COALESCE_SYMBOL || ((LA366_105 >= UTC_DATE_SYMBOL) && (LA366_105 <= UTC_TIME_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == CHARSET_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == FORMAT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == COLLATION_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MICROSECOND_SYMBOL || LA366_105 == DATABASE_SYMBOL || LA366_105 == IF_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == TRUNCATE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == OLD_PASSWORD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MULT_OPERATOR))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == PASSWORD_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == QUARTER_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == REVERSE_SYMBOL || ((LA366_105 >= REPEAT_SYMBOL) && (LA366_105 <= REPLACE_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == ROW_COUNT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == WEEK_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == CONTAINS_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == WEIGHT_STRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == GEOMETRYCOLLECTION_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (((LA366_105 >= BACKUP_SYMBOL) && (LA366_105 <= CACHE_SYMBOL)) || ((LA366_105 >= CHECKSUM_SYMBOL) && (LA366_105 <= COMMIT_SYMBOL)) || ((LA366_105 >= DEALLOCATE_SYMBOL) && (LA366_105 <= FOLLOWS_SYMBOL)) || ((LA366_105 >= HANDLER_SYMBOL) && (LA366_105 <= STOP_SYMBOL)) || ((LA366_105 >= UNICODE_SYMBOL) && (LA366_105 <= XA_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == LINESTRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MULTILINESTRING_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MULTIPOINT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MULTIPOLYGON_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == POINT_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == POLYGON_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == AVG_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == ROW_SYMBOL || ((LA366_105 >= AT_AT_SIGN_SYMBOL) && (LA366_105 <= AT_TEXT_SUFFIX)) || ((LA366_105 >= BIT_AND_SYMBOL) && (LA366_105 <= BIT_XOR_SYMBOL)) || LA366_105 == COUNT_SYMBOL || LA366_105 == EXISTS_SYMBOL || LA366_105 == GROUP_CONCAT_SYMBOL || LA366_105 == MAX_SYMBOL || LA366_105 == MIN_SYMBOL || LA366_105 == PARAM_MARKER || LA366_105 == STDDEV_SAMP_SYMBOL || LA366_105 == STD_SYMBOL || LA366_105 == SUM_SYMBOL || LA366_105 == VARIANCE_SYMBOL || LA366_105 == VAR_SAMP_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == SQL_BUFFER_RESULT_SYMBOL || LA366_105 == BINARY_SYMBOL || ((LA366_105 >= CASE_SYMBOL) && (LA366_105 <= CAST_SYMBOL)) || LA366_105 == CONVERT_SYMBOL || LA366_105 == MATCH_SYMBOL || LA366_105 == OPEN_CURLY_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == SQL_NO_CACHE_SYMBOL || LA366_105 == ALL_SYMBOL || LA366_105 == DISTINCT_SYMBOL || LA366_105 == HIGH_PRIORITY_SYMBOL || ((LA366_105 >= SQL_BIG_RESULT_SYMBOL) && (LA366_105 <= SQL_SMALL_RESULT_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == SQL_CACHE_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == MAX_STATEMENT_TIME_SYMBOL))
        	            		    {
        	            		        alt366=1;
        	            		    }
        	            		    else if ( (LA366_105 == ACTION_SYMBOL || ((LA366_105 >= AFTER_SYMBOL) && (LA366_105 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA366_105 >= BINLOG_SYMBOL) && (LA366_105 <= CLASS_ORIGIN_SYMBOL)) || LA366_105 == CODE_SYMBOL || ((LA366_105 >= COLUMN_NAME_SYMBOL) && (LA366_105 <= DATETIME_SYMBOL)) || ((LA366_105 >= DEFAULT_AUTH_SYMBOL) && (LA366_105 <= GEOMETRY_SYMBOL)) || ((LA366_105 >= GRANTS_SYMBOL) && (LA366_105 <= HOSTS_SYMBOL)) || ((LA366_105 >= IDENTIFIED_SYMBOL) && (LA366_105 <= LEVEL_SYMBOL)) || ((LA366_105 >= LIST_SYMBOL) && (LA366_105 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA366_105 >= MAX_SIZE_SYMBOL) && (LA366_105 <= MESSAGE_TEXT_SYMBOL)) || LA366_105 == MIGRATE_SYMBOL || ((LA366_105 >= MIN_ROWS_SYMBOL) && (LA366_105 <= MODE_SYMBOL)) || ((LA366_105 >= MUTEX_SYMBOL) && (LA366_105 <= OFFSET_SYMBOL)) || ((LA366_105 >= ONE_SHOT_SYMBOL) && (LA366_105 <= PARTITIONS_SYMBOL)) || ((LA366_105 >= PHASE_SYMBOL) && (LA366_105 <= PLUGINS_SYMBOL)) || ((LA366_105 >= PRESERVE_SYMBOL) && (LA366_105 <= PROXY_SYMBOL)) || ((LA366_105 >= QUERY_SYMBOL) && (LA366_105 <= RETURNS_SYMBOL)) || ((LA366_105 >= ROLLUP_SYMBOL) && (LA366_105 <= ROWS_SYMBOL)) || LA366_105 == ROW_FORMAT_SYMBOL || ((LA366_105 >= RTREE_SYMBOL) && (LA366_105 <= SCHEMA_NAME_SYMBOL)) || ((LA366_105 >= SERIAL_SYMBOL) && (LA366_105 <= SNAPSHOT_SYMBOL)) || ((LA366_105 >= SOURCE_SYMBOL) && (LA366_105 <= SQL_BEFORE_GTIDS_SYMBOL)) || ((LA366_105 >= SQL_THREAD_SYMBOL) && (LA366_105 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA366_105 >= SUBJECT_SYMBOL) && (LA366_105 <= TRIGGERS_SYMBOL)) || ((LA366_105 >= TYPES_SYMBOL) && (LA366_105 <= USER_RESOURCES_SYMBOL)) || ((LA366_105 >= USE_FRM_SYMBOL) && (LA366_105 <= WAIT_SYMBOL)) || LA366_105 == WORK_SYMBOL || ((LA366_105 >= X509_SYMBOL) && (LA366_105 <= XML_SYMBOL))))
        	            		    {
        	            		        alt366=1;
        	            		    }

        	            		}
        	            	}
        	                break;
        	            case MAX_STATEMENT_TIME_SYMBOL:
        	            	{
        	            		switch ( LA(2) )
        	            		{
        	            		case EQUAL_OPERATOR:
        	            			{
        	            				{
        	            				   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	            				    */
        	            				    int LA366_561 = LA(3);
        	            				    if ( ((SERVER_VERSION >= 50704)))
        	            				    {
        	            				        alt366=1;
        	            				    }

        	            				}
        	            			}
        	            		    break;

        	            		}

        	            	}
        	                break;

        	            }

        	            switch (alt366)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1169:46: select_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_option_in_table_factor5871);
        	        	        select_option1043=select_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_option1043.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop366;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop366: ; /* Jump out to here if this rule does not match */


        	        FOLLOWPUSH(FOLLOW_select_item_list_in_table_factor5875);
        	        select_item_list1044=select_item_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list1044.tree);

        	        FOLLOWPUSH(FOLLOW_table_expression_in_table_factor5877);
        	        table_expression1045=table_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_expression1045.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1170:4: OPEN_PAR_SYMBOL select_table_factor_union CLOSE_PAR_SYMBOL ( table_alias )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL1046 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5882);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1046));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1046_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_table_factor_union_in_table_factor5884);
        	        select_table_factor_union1047=select_table_factor_union(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_table_factor_union1047.tree);

        	        CLOSE_PAR_SYMBOL1048 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5886);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1048_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1048));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1048_tree);
        	        }

        	        // MySQL.g:1170:63: ( table_alias )?
        	        {
        	            int alt367=2;
        	            {
        	                int LA367_0 = LA(1);
        	                if ( (LA367_0 == AS_SYMBOL || LA367_0 == BACK_TICK_QUOTED_ID || LA367_0 == EQUAL_OPERATOR || LA367_0 == IDENTIFIER))
        	                {
        	                    alt367=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA367_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt367=1;
        	                }
        	                else if ( (((LA367_0 >= ASCII_SYMBOL) && (LA367_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt367=1;
        	                }
        	            }
        	            switch (alt367)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1170:63: table_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_alias_in_table_factor5888);
        	        	        table_alias1049=table_alias(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_alias1049.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1171:4: table_ref ( use_partition )? ( table_alias )? ( index_hint_list )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_ref_in_table_factor5894);
        	        table_ref1050=table_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1050.tree);

        	        // MySQL.g:1171:14: ( use_partition )?
        	        {
        	            int alt368=2;
        	            switch ( LA(1) )
        	            {
        	                case PARTITION_SYMBOL:
        	                	{
        	                		{
        	                		    int LA368_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50602)) && (LA368_1 == OPEN_PAR_SYMBOL))
        	                		    {
        	                		        alt368=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt368)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1171:14: use_partition
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_use_partition_in_table_factor5896);
        	        	        use_partition1051=use_partition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition1051.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1171:29: ( table_alias )?
        	        {
        	            int alt369=2;
        	            {
        	                int LA369_0 = LA(1);
        	                if ( (LA369_0 == AS_SYMBOL || LA369_0 == BACK_TICK_QUOTED_ID || LA369_0 == EQUAL_OPERATOR || LA369_0 == IDENTIFIER))
        	                {
        	                    alt369=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA369_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt369=1;
        	                }
        	                else if ( (((LA369_0 >= ASCII_SYMBOL) && (LA369_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt369=1;
        	                }
        	            }
        	            switch (alt369)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1171:29: table_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_alias_in_table_factor5899);
        	        	        table_alias1052=table_alias(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_alias1052.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1171:42: ( index_hint_list )?
        	        {
        	            int alt370=2;
        	            switch ( LA(1) )
        	            {
        	                case FORCE_SYMBOL:
        	                case IGNORE_SYMBOL:
        	                case USE_SYMBOL:
        	                	{
        	                		alt370=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt370)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1171:42: index_hint_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_list_in_table_factor5902);
        	        	        index_hint_list1053=index_hint_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_list1053.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletable_factorEx; /* Prevent compiler warnings */
    ruletable_factorEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_factor */

/**
 * $ANTLR start select_table_factor_union
 * MySQL.g:1174:1: select_table_factor_union : ( table_reference_list ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? query_specification )* ;
 */
static MySQLParser_select_table_factor_union_return
select_table_factor_union(pMySQLParser ctx)
{
    MySQLParser_select_table_factor_union_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNION_SYMBOL1056;
    MySQLParser_table_reference_list_return table_reference_list1054;
    #undef	RETURN_TYPE_table_reference_list1054
    #define	RETURN_TYPE_table_reference_list1054 MySQLParser_table_reference_list_return

    MySQLParser_order_by_or_limit_return order_by_or_limit1055;
    #undef	RETURN_TYPE_order_by_or_limit1055
    #define	RETURN_TYPE_order_by_or_limit1055 MySQLParser_order_by_or_limit_return

    MySQLParser_union_option_return union_option1057;
    #undef	RETURN_TYPE_union_option1057
    #define	RETURN_TYPE_union_option1057 MySQLParser_union_option_return

    MySQLParser_query_specification_return query_specification1058;
    #undef	RETURN_TYPE_query_specification1058
    #define	RETURN_TYPE_query_specification1058 MySQLParser_query_specification_return

    pANTLR3_BASE_TREE UNION_SYMBOL1056_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNION_SYMBOL1056       = NULL;
    table_reference_list1054.tree = NULL;

    order_by_or_limit1055.tree = NULL;

    union_option1057.tree = NULL;

    query_specification1058.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNION_SYMBOL1056_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1174:26: ( ( table_reference_list ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? query_specification )* )
        // MySQL.g:1175:2: ( table_reference_list ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? query_specification )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1175:2: ( table_reference_list ( order_by_or_limit )? )
            // MySQL.g:1175:3: table_reference_list ( order_by_or_limit )?
            {
                FOLLOWPUSH(FOLLOW_table_reference_list_in_select_table_factor_union5913);
                table_reference_list1054=table_reference_list(ctx);

                FOLLOWPOP();
                if  (HASEXCEPTION())
                {
                    goto ruleselect_table_factor_unionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference_list1054.tree);

                // MySQL.g:1175:24: ( order_by_or_limit )?
                {
                    int alt372=2;
                    switch ( LA(1) )
                    {
                        case LIMIT_SYMBOL:
                        case ORDER_SYMBOL:
                        	{
                        		alt372=1;
                        	}
                            break;
                    }

                    switch (alt372)
                    {
                	case 1:
                	    // MySQL.g:1175:24: order_by_or_limit
                	    {
                	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_select_table_factor_union5915);
                	        order_by_or_limit1055=order_by_or_limit(ctx);

                	        FOLLOWPOP();
                	        if  (HASEXCEPTION())
                	        {
                	            goto ruleselect_table_factor_unionEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_or_limit1055.tree);

                	    }
                	    break;

                    }
                }

            }


            // MySQL.g:1175:44: ( UNION_SYMBOL ( union_option )? query_specification )*

            for (;;)
            {
                int alt374=2;
                switch ( LA(1) )
                {
                case UNION_SYMBOL:
                	{
                		alt374=1;
                	}
                    break;

                }

                switch (alt374)
                {
            	case 1:
            	    // MySQL.g:1175:45: UNION_SYMBOL ( union_option )? query_specification
            	    {
            	        UNION_SYMBOL1056 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_select_table_factor_union5920);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_table_factor_unionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNION_SYMBOL1056_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL1056));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNION_SYMBOL1056_tree);
            	        }

            	        // MySQL.g:1175:58: ( union_option )?
            	        {
            	            int alt373=2;
            	            switch ( LA(1) )
            	            {
            	                case ALL_SYMBOL:
            	                case DISTINCT_SYMBOL:
            	                	{
            	                		alt373=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt373)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1175:58: union_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_union_option_in_select_table_factor_union5922);
            	        	        union_option1057=union_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_table_factor_unionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_option1057.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_query_specification_in_select_table_factor_union5925);
            	        query_specification1058=query_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_table_factor_unionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_specification1058.tree);

            	    }
            	    break;

            	default:
            	    goto loop374;	/* break out of the loop */
            	    break;
                }
            }
            loop374: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleselect_table_factor_unionEx; /* Prevent compiler warnings */
    ruleselect_table_factor_unionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_table_factor_union */

/**
 * $ANTLR start query_specification
 * MySQL.g:1178:1: query_specification : ( SELECT_SYMBOL select_part2_derived table_expression | OPEN_PAR_SYMBOL query_specification CLOSE_PAR_SYMBOL ( order_by_or_limit )? );
 */
static MySQLParser_query_specification_return
query_specification(pMySQLParser ctx)
{
    MySQLParser_query_specification_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL1059;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1062;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1064;
    MySQLParser_select_part2_derived_return select_part2_derived1060;
    #undef	RETURN_TYPE_select_part2_derived1060
    #define	RETURN_TYPE_select_part2_derived1060 MySQLParser_select_part2_derived_return

    MySQLParser_table_expression_return table_expression1061;
    #undef	RETURN_TYPE_table_expression1061
    #define	RETURN_TYPE_table_expression1061 MySQLParser_table_expression_return

    MySQLParser_query_specification_return query_specification1063;
    #undef	RETURN_TYPE_query_specification1063
    #define	RETURN_TYPE_query_specification1063 MySQLParser_query_specification_return

    MySQLParser_order_by_or_limit_return order_by_or_limit1065;
    #undef	RETURN_TYPE_order_by_or_limit1065
    #define	RETURN_TYPE_order_by_or_limit1065 MySQLParser_order_by_or_limit_return

    pANTLR3_BASE_TREE SELECT_SYMBOL1059_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1062_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1064_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL1059       = NULL;
    OPEN_PAR_SYMBOL1062       = NULL;
    CLOSE_PAR_SYMBOL1064       = NULL;
    select_part2_derived1060.tree = NULL;

    table_expression1061.tree = NULL;

    query_specification1063.tree = NULL;

    order_by_or_limit1065.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL1059_tree   = NULL;
    OPEN_PAR_SYMBOL1062_tree   = NULL;
    CLOSE_PAR_SYMBOL1064_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1178:20: ( SELECT_SYMBOL select_part2_derived table_expression | OPEN_PAR_SYMBOL query_specification CLOSE_PAR_SYMBOL ( order_by_or_limit )? )

            ANTLR3_UINT32 alt376;

            alt376=2;

            switch ( LA(1) )
            {
            case SELECT_SYMBOL:
            	{
            		alt376=1;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt376=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 376;
                EXCEPTION->state        = 0;


                goto rulequery_specificationEx;

            }

            switch (alt376)
            {
        	case 1:
        	    // MySQL.g:1179:2: SELECT_SYMBOL select_part2_derived table_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL1059 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_query_specification5936);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulequery_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL1059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL1059));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL1059_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_part2_derived_in_query_specification5938);
        	        select_part2_derived1060=select_part2_derived(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulequery_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_part2_derived1060.tree);

        	        FOLLOWPUSH(FOLLOW_table_expression_in_query_specification5940);
        	        table_expression1061=table_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulequery_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_expression1061.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1180:4: OPEN_PAR_SYMBOL query_specification CLOSE_PAR_SYMBOL ( order_by_or_limit )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL1062 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_query_specification5945);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulequery_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1062));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1062_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_query_specification_in_query_specification5947);
        	        query_specification1063=query_specification(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulequery_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_specification1063.tree);

        	        CLOSE_PAR_SYMBOL1064 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_query_specification5949);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulequery_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1064));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1064_tree);
        	        }

        	        // MySQL.g:1180:57: ( order_by_or_limit )?
        	        {
        	            int alt375=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                case ORDER_SYMBOL:
        	                	{
        	                		alt375=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt375)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1180:57: order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_query_specification5951);
        	        	        order_by_or_limit1065=order_by_or_limit(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulequery_specificationEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_or_limit1065.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulequery_specificationEx; /* Prevent compiler warnings */
    rulequery_specificationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end query_specification */

/**
 * $ANTLR start join_table
 * MySQL.g:1183:1: join_table : ( ( INNER_SYMBOL | CROSS_SYMBOL )? JOIN_SYMBOL table_reference ( options {greedy=true; } : join_condition )? | STRAIGHT_JOIN_SYMBOL table_factor ( options {greedy=true; } : ON_SYMBOL expression )? | ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? JOIN_SYMBOL table_reference join_condition | NATURAL_SYMBOL ( ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? )? JOIN_SYMBOL table_factor );
 */
static MySQLParser_join_table_return
join_table(pMySQLParser ctx)
{
    MySQLParser_join_table_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1066;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL1067;
    pANTLR3_COMMON_TOKEN    STRAIGHT_JOIN_SYMBOL1070;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1072;
    pANTLR3_COMMON_TOKEN    set1074;
    pANTLR3_COMMON_TOKEN    OUTER_SYMBOL1075;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL1076;
    pANTLR3_COMMON_TOKEN    NATURAL_SYMBOL1079;
    pANTLR3_COMMON_TOKEN    set1080;
    pANTLR3_COMMON_TOKEN    OUTER_SYMBOL1081;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL1082;
    MySQLParser_table_reference_return table_reference1068;
    #undef	RETURN_TYPE_table_reference1068
    #define	RETURN_TYPE_table_reference1068 MySQLParser_table_reference_return

    MySQLParser_join_condition_return join_condition1069;
    #undef	RETURN_TYPE_join_condition1069
    #define	RETURN_TYPE_join_condition1069 MySQLParser_join_condition_return

    MySQLParser_table_factor_return table_factor1071;
    #undef	RETURN_TYPE_table_factor1071
    #define	RETURN_TYPE_table_factor1071 MySQLParser_table_factor_return

    MySQLParser_expression_return expression1073;
    #undef	RETURN_TYPE_expression1073
    #define	RETURN_TYPE_expression1073 MySQLParser_expression_return

    MySQLParser_table_reference_return table_reference1077;
    #undef	RETURN_TYPE_table_reference1077
    #define	RETURN_TYPE_table_reference1077 MySQLParser_table_reference_return

    MySQLParser_join_condition_return join_condition1078;
    #undef	RETURN_TYPE_join_condition1078
    #define	RETURN_TYPE_join_condition1078 MySQLParser_join_condition_return

    MySQLParser_table_factor_return table_factor1083;
    #undef	RETURN_TYPE_table_factor1083
    #define	RETURN_TYPE_table_factor1083 MySQLParser_table_factor_return

    pANTLR3_BASE_TREE set1066_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL1067_tree;
    pANTLR3_BASE_TREE STRAIGHT_JOIN_SYMBOL1070_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1072_tree;
    pANTLR3_BASE_TREE set1074_tree;
    pANTLR3_BASE_TREE OUTER_SYMBOL1075_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL1076_tree;
    pANTLR3_BASE_TREE NATURAL_SYMBOL1079_tree;
    pANTLR3_BASE_TREE set1080_tree;
    pANTLR3_BASE_TREE OUTER_SYMBOL1081_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL1082_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1066       = NULL;
    JOIN_SYMBOL1067       = NULL;
    STRAIGHT_JOIN_SYMBOL1070       = NULL;
    ON_SYMBOL1072       = NULL;
    set1074       = NULL;
    OUTER_SYMBOL1075       = NULL;
    JOIN_SYMBOL1076       = NULL;
    NATURAL_SYMBOL1079       = NULL;
    set1080       = NULL;
    OUTER_SYMBOL1081       = NULL;
    JOIN_SYMBOL1082       = NULL;
    table_reference1068.tree = NULL;

    join_condition1069.tree = NULL;

    table_factor1071.tree = NULL;

    expression1073.tree = NULL;

    table_reference1077.tree = NULL;

    join_condition1078.tree = NULL;

    table_factor1083.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1066_tree   = NULL;
    JOIN_SYMBOL1067_tree   = NULL;
    STRAIGHT_JOIN_SYMBOL1070_tree   = NULL;
    ON_SYMBOL1072_tree   = NULL;
    set1074_tree   = NULL;
    OUTER_SYMBOL1075_tree   = NULL;
    JOIN_SYMBOL1076_tree   = NULL;
    NATURAL_SYMBOL1079_tree   = NULL;
    set1080_tree   = NULL;
    OUTER_SYMBOL1081_tree   = NULL;
    JOIN_SYMBOL1082_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1183:11: ( ( INNER_SYMBOL | CROSS_SYMBOL )? JOIN_SYMBOL table_reference ( options {greedy=true; } : join_condition )? | STRAIGHT_JOIN_SYMBOL table_factor ( options {greedy=true; } : ON_SYMBOL expression )? | ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? JOIN_SYMBOL table_reference join_condition | NATURAL_SYMBOL ( ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? )? JOIN_SYMBOL table_factor )

            ANTLR3_UINT32 alt383;

            alt383=4;

            switch ( LA(1) )
            {
            case CROSS_SYMBOL:
            case INNER_SYMBOL:
            case JOIN_SYMBOL:
            	{
            		alt383=1;
            	}
                break;
            case STRAIGHT_JOIN_SYMBOL:
            	{
            		alt383=2;
            	}
                break;
            case LEFT_SYMBOL:
            case RIGHT_SYMBOL:
            	{
            		alt383=3;
            	}
                break;
            case NATURAL_SYMBOL:
            	{
            		alt383=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 383;
                EXCEPTION->state        = 0;


                goto rulejoin_tableEx;

            }

            switch (alt383)
            {
        	case 1:
        	    // MySQL.g:1184:2: ( INNER_SYMBOL | CROSS_SYMBOL )? JOIN_SYMBOL table_reference ( options {greedy=true; } : join_condition )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1184:2: ( INNER_SYMBOL | CROSS_SYMBOL )?
        	        {
        	            int alt377=2;
        	            switch ( LA(1) )
        	            {
        	                case CROSS_SYMBOL:
        	                case INNER_SYMBOL:
        	                	{
        	                		alt377=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt377)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1066=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == CROSS_SYMBOL || LA(1) == INNER_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1066))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulejoin_tableEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	        JOIN_SYMBOL1067 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_join_table5971);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        JOIN_SYMBOL1067_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL1067));
        	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL1067_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_reference_in_join_table5973);
        	        table_reference1068=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference1068.tree);

        	        // MySQL.g:1184:61: ( options {greedy=true; } : join_condition )?
        	        {
        	            int alt378=2;
        	            switch ( LA(1) )
        	            {
        	                case ON_SYMBOL:
        	                	{
        	                		alt378=1;
        	                	}
        	                    break;
        	                case USING_SYMBOL:
        	                	{
        	                		alt378=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt378)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1184:89: join_condition
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_join_condition_in_join_table5987);
        	        	        join_condition1069=join_condition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_condition1069.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1185:4: STRAIGHT_JOIN_SYMBOL table_factor ( options {greedy=true; } : ON_SYMBOL expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STRAIGHT_JOIN_SYMBOL1070 = (pANTLR3_COMMON_TOKEN) MATCHT(STRAIGHT_JOIN_SYMBOL, &FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5994);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STRAIGHT_JOIN_SYMBOL1070_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STRAIGHT_JOIN_SYMBOL1070));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STRAIGHT_JOIN_SYMBOL1070_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_factor_in_join_table5996);
        	        table_factor1071=table_factor(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor1071.tree);

        	        // MySQL.g:1185:38: ( options {greedy=true; } : ON_SYMBOL expression )?
        	        {
        	            int alt379=2;
        	            switch ( LA(1) )
        	            {
        	                case ON_SYMBOL:
        	                	{
        	                		alt379=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt379)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1185:66: ON_SYMBOL expression
        	        	    {
        	        	        ON_SYMBOL1072 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_join_table6010);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ON_SYMBOL1072_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1072));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1072_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_join_table6012);
        	        	        expression1073=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1073.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1186:4: ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? JOIN_SYMBOL table_reference join_condition
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1074=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == LEFT_SYMBOL || LA(1) == RIGHT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1074))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulejoin_tableEx;
        	        }


        	        // MySQL.g:1186:33: ( OUTER_SYMBOL )?
        	        {
        	            int alt380=2;
        	            switch ( LA(1) )
        	            {
        	                case OUTER_SYMBOL:
        	                	{
        	                		alt380=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt380)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1186:33: OUTER_SYMBOL
        	        	    {
        	        	        OUTER_SYMBOL1075 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTER_SYMBOL, &FOLLOW_OUTER_SYMBOL_in_join_table6027);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OUTER_SYMBOL1075_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OUTER_SYMBOL1075));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OUTER_SYMBOL1075_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        JOIN_SYMBOL1076 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_join_table6030);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        JOIN_SYMBOL1076_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL1076));
        	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL1076_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_reference_in_join_table6032);
        	        table_reference1077=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference1077.tree);

        	        FOLLOWPUSH(FOLLOW_join_condition_in_join_table6034);
        	        join_condition1078=join_condition(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_condition1078.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1187:4: NATURAL_SYMBOL ( ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? )? JOIN_SYMBOL table_factor
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATURAL_SYMBOL1079 = (pANTLR3_COMMON_TOKEN) MATCHT(NATURAL_SYMBOL, &FOLLOW_NATURAL_SYMBOL_in_join_table6039);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATURAL_SYMBOL1079_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATURAL_SYMBOL1079));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATURAL_SYMBOL1079_tree);
        	        }

        	        // MySQL.g:1187:19: ( ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? )?
        	        {
        	            int alt382=2;
        	            switch ( LA(1) )
        	            {
        	                case LEFT_SYMBOL:
        	                case RIGHT_SYMBOL:
        	                	{
        	                		alt382=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt382)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1187:20: ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )?
        	        	    {
        	        	        set1080=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == LEFT_SYMBOL || LA(1) == RIGHT_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1080))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulejoin_tableEx;
        	        	        }


        	        	        // MySQL.g:1187:49: ( OUTER_SYMBOL )?
        	        	        {
        	        	            int alt381=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case OUTER_SYMBOL:
        	        	                	{
        	        	                		alt381=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt381)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1187:49: OUTER_SYMBOL
        	        	        	    {
        	        	        	        OUTER_SYMBOL1081 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTER_SYMBOL, &FOLLOW_OUTER_SYMBOL_in_join_table6050);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulejoin_tableEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        OUTER_SYMBOL1081_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OUTER_SYMBOL1081));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OUTER_SYMBOL1081_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        JOIN_SYMBOL1082 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_join_table6055);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        JOIN_SYMBOL1082_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL1082));
        	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL1082_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_factor_in_join_table6057);
        	        table_factor1083=table_factor(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor1083.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulejoin_tableEx; /* Prevent compiler warnings */
    rulejoin_tableEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end join_table */

/**
 * $ANTLR start join_condition
 * MySQL.g:1190:1: join_condition : ( ON_SYMBOL expression | USING_SYMBOL identifier_list_with_parentheses );
 */
static MySQLParser_join_condition_return
join_condition(pMySQLParser ctx)
{
    MySQLParser_join_condition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ON_SYMBOL1084;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL1086;
    MySQLParser_expression_return expression1085;
    #undef	RETURN_TYPE_expression1085
    #define	RETURN_TYPE_expression1085 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1087;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1087
    #define	RETURN_TYPE_identifier_list_with_parentheses1087 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE ON_SYMBOL1084_tree;
    pANTLR3_BASE_TREE USING_SYMBOL1086_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL1084       = NULL;
    USING_SYMBOL1086       = NULL;
    expression1085.tree = NULL;

    identifier_list_with_parentheses1087.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL1084_tree   = NULL;
    USING_SYMBOL1086_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1190:15: ( ON_SYMBOL expression | USING_SYMBOL identifier_list_with_parentheses )

            ANTLR3_UINT32 alt384;

            alt384=2;

            switch ( LA(1) )
            {
            case ON_SYMBOL:
            	{
            		alt384=1;
            	}
                break;
            case USING_SYMBOL:
            	{
            		alt384=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 384;
                EXCEPTION->state        = 0;


                goto rulejoin_conditionEx;

            }

            switch (alt384)
            {
        	case 1:
        	    // MySQL.g:1191:2: ON_SYMBOL expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL1084 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_join_condition6066);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL1084_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1084));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1084_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_join_condition6068);
        	        expression1085=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1085.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1192:4: USING_SYMBOL identifier_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USING_SYMBOL1086 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_join_condition6073);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USING_SYMBOL1086_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL1086));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL1086_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_join_condition6075);
        	        identifier_list_with_parentheses1087=identifier_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses1087.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulejoin_conditionEx; /* Prevent compiler warnings */
    rulejoin_conditionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end join_condition */

/**
 * $ANTLR start union_clause
 * MySQL.g:1195:1: union_clause : UNION_SYMBOL ^ ( union_option )? select_statement ;
 */
static MySQLParser_union_clause_return
union_clause(pMySQLParser ctx)
{
    MySQLParser_union_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNION_SYMBOL1088;
    MySQLParser_union_option_return union_option1089;
    #undef	RETURN_TYPE_union_option1089
    #define	RETURN_TYPE_union_option1089 MySQLParser_union_option_return

    MySQLParser_select_statement_return select_statement1090;
    #undef	RETURN_TYPE_select_statement1090
    #define	RETURN_TYPE_select_statement1090 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE UNION_SYMBOL1088_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNION_SYMBOL1088       = NULL;
    union_option1089.tree = NULL;

    select_statement1090.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNION_SYMBOL1088_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1195:13: ( UNION_SYMBOL ^ ( union_option )? select_statement )
        // MySQL.g:1196:3: UNION_SYMBOL ^ ( union_option )? select_statement
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            UNION_SYMBOL1088 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_union_clause6085);
            if  (HASEXCEPTION())
            {
                goto ruleunion_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UNION_SYMBOL1088_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL1088))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNION_SYMBOL1088_tree, root_0));
            }

            // MySQL.g:1196:17: ( union_option )?
            {
                int alt385=2;
                switch ( LA(1) )
                {
                    case ALL_SYMBOL:
                    case DISTINCT_SYMBOL:
                    	{
                    		alt385=1;
                    	}
                        break;
                }

                switch (alt385)
                {
            	case 1:
            	    // MySQL.g:1196:17: union_option
            	    {
            	        FOLLOWPUSH(FOLLOW_union_option_in_union_clause6088);
            	        union_option1089=union_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleunion_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_option1089.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_select_statement_in_union_clause6091);
            select_statement1090=select_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleunion_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement1090.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleunion_clauseEx; /* Prevent compiler warnings */
    ruleunion_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end union_clause */

/**
 * $ANTLR start union_option
 * MySQL.g:1199:1: union_option : ( DISTINCT_SYMBOL | ALL_SYMBOL );
 */
static MySQLParser_union_option_return
union_option(pMySQLParser ctx)
{
    MySQLParser_union_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1091;

    pANTLR3_BASE_TREE set1091_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1091       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1091_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1199:13: ( DISTINCT_SYMBOL | ALL_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1091=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == ALL_SYMBOL || LA(1) == DISTINCT_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1091))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleunion_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleunion_optionEx; /* Prevent compiler warnings */
    ruleunion_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end union_option */

/**
 * $ANTLR start union_or_order_by_or_limit
 * MySQL.g:1204:1: union_or_order_by_or_limit : ( union_clause | order_by_or_limit );
 */
static MySQLParser_union_or_order_by_or_limit_return
union_or_order_by_or_limit(pMySQLParser ctx)
{
    MySQLParser_union_or_order_by_or_limit_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_union_clause_return union_clause1092;
    #undef	RETURN_TYPE_union_clause1092
    #define	RETURN_TYPE_union_clause1092 MySQLParser_union_clause_return

    MySQLParser_order_by_or_limit_return order_by_or_limit1093;
    #undef	RETURN_TYPE_order_by_or_limit1093
    #define	RETURN_TYPE_order_by_or_limit1093 MySQLParser_order_by_or_limit_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    union_clause1092.tree = NULL;

    order_by_or_limit1093.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1204:27: ( union_clause | order_by_or_limit )

            ANTLR3_UINT32 alt386;

            alt386=2;

            switch ( LA(1) )
            {
            case UNION_SYMBOL:
            	{
            		alt386=1;
            	}
                break;
            case LIMIT_SYMBOL:
            case ORDER_SYMBOL:
            	{
            		alt386=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 386;
                EXCEPTION->state        = 0;


                goto ruleunion_or_order_by_or_limitEx;

            }

            switch (alt386)
            {
        	case 1:
        	    // MySQL.g:1205:2: union_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_union_clause_in_union_or_order_by_or_limit6116);
        	        union_clause1092=union_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunion_or_order_by_or_limitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause1092.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1206:4: order_by_or_limit
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_union_or_order_by_or_limit6121);
        	        order_by_or_limit1093=order_by_or_limit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunion_or_order_by_or_limitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_or_limit1093.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleunion_or_order_by_or_limitEx; /* Prevent compiler warnings */
    ruleunion_or_order_by_or_limitEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end union_or_order_by_or_limit */

/**
 * $ANTLR start select_lock_type
 * MySQL.g:1209:1: select_lock_type : ( FOR_SYMBOL UPDATE_SYMBOL | LOCK_SYMBOL IN_SYMBOL SHARE_SYMBOL MODE_SYMBOL );
 */
static MySQLParser_select_lock_type_return
select_lock_type(pMySQLParser ctx)
{
    MySQLParser_select_lock_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1094;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL1095;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1096;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1097;
    pANTLR3_COMMON_TOKEN    SHARE_SYMBOL1098;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL1099;

    pANTLR3_BASE_TREE FOR_SYMBOL1094_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL1095_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1096_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1097_tree;
    pANTLR3_BASE_TREE SHARE_SYMBOL1098_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL1099_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1094       = NULL;
    UPDATE_SYMBOL1095       = NULL;
    LOCK_SYMBOL1096       = NULL;
    IN_SYMBOL1097       = NULL;
    SHARE_SYMBOL1098       = NULL;
    MODE_SYMBOL1099       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1094_tree   = NULL;
    UPDATE_SYMBOL1095_tree   = NULL;
    LOCK_SYMBOL1096_tree   = NULL;
    IN_SYMBOL1097_tree   = NULL;
    SHARE_SYMBOL1098_tree   = NULL;
    MODE_SYMBOL1099_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1209:17: ( FOR_SYMBOL UPDATE_SYMBOL | LOCK_SYMBOL IN_SYMBOL SHARE_SYMBOL MODE_SYMBOL )

            ANTLR3_UINT32 alt387;

            alt387=2;

            switch ( LA(1) )
            {
            case FOR_SYMBOL:
            	{
            		alt387=1;
            	}
                break;
            case LOCK_SYMBOL:
            	{
            		alt387=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 387;
                EXCEPTION->state        = 0;


                goto ruleselect_lock_typeEx;

            }

            switch (alt387)
            {
        	case 1:
        	    // MySQL.g:1210:2: FOR_SYMBOL UPDATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOR_SYMBOL1094 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_select_lock_type6130);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL1094_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1094));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1094_tree);
        	        }

        	        UPDATE_SYMBOL1095 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_select_lock_type6132);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL1095_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL1095));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL1095_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1211:4: LOCK_SYMBOL IN_SYMBOL SHARE_SYMBOL MODE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOCK_SYMBOL1096 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_select_lock_type6137);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1096_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1096));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1096_tree);
        	        }

        	        IN_SYMBOL1097 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_select_lock_type6139);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL1097_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1097));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1097_tree);
        	        }

        	        SHARE_SYMBOL1098 = (pANTLR3_COMMON_TOKEN) MATCHT(SHARE_SYMBOL, &FOLLOW_SHARE_SYMBOL_in_select_lock_type6141);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHARE_SYMBOL1098_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHARE_SYMBOL1098));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHARE_SYMBOL1098_tree);
        	        }

        	        MODE_SYMBOL1099 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_select_lock_type6143);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MODE_SYMBOL1099_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL1099));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL1099_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleselect_lock_typeEx; /* Prevent compiler warnings */
    ruleselect_lock_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end select_lock_type */

/**
 * $ANTLR start table_alias
 * MySQL.g:1214:1: table_alias : ( AS_SYMBOL | EQUAL_OPERATOR )? identifier ;
 */
static MySQLParser_table_alias_return
table_alias(pMySQLParser ctx)
{
    MySQLParser_table_alias_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1100;
    MySQLParser_identifier_return identifier1101;
    #undef	RETURN_TYPE_identifier1101
    #define	RETURN_TYPE_identifier1101 MySQLParser_identifier_return

    pANTLR3_BASE_TREE set1100_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1100       = NULL;
    identifier1101.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1100_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1214:12: ( ( AS_SYMBOL | EQUAL_OPERATOR )? identifier )
        // MySQL.g:1215:2: ( AS_SYMBOL | EQUAL_OPERATOR )? identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1215:2: ( AS_SYMBOL | EQUAL_OPERATOR )?
            {
                int alt388=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    case EQUAL_OPERATOR:
                    	{
                    		alt388=1;
                    	}
                        break;
                }

                switch (alt388)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set1100=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == AS_SYMBOL || LA(1) == EQUAL_OPERATOR )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1100))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruletable_aliasEx;
            	        }


            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_identifier_in_table_alias6161);
            identifier1101=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_aliasEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1101.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_aliasEx; /* Prevent compiler warnings */
    ruletable_aliasEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_alias */

/**
 * $ANTLR start index_hint_list
 * MySQL.g:1218:1: index_hint_list : index_hint ( COMMA_SYMBOL index_hint )* -> ^( INDEX_HINT_LIST_TOKEN index_hint ( COMMA_SYMBOL index_hint )* ) ;
 */
static MySQLParser_index_hint_list_return
index_hint_list(pMySQLParser ctx)
{
    MySQLParser_index_hint_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1103;
    MySQLParser_index_hint_return index_hint1102;
    #undef	RETURN_TYPE_index_hint1102
    #define	RETURN_TYPE_index_hint1102 MySQLParser_index_hint_return

    MySQLParser_index_hint_return index_hint1104;
    #undef	RETURN_TYPE_index_hint1104
    #define	RETURN_TYPE_index_hint1104 MySQLParser_index_hint_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1103_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_index_hint;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1103       = NULL;
    index_hint1102.tree = NULL;

    index_hint1104.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1103_tree   = NULL;

    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_index_hint   = NULL;
    #define CREATE_stream_index_hint  if (stream_index_hint == NULL) {stream_index_hint = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule index_hint"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1218:16: ( index_hint ( COMMA_SYMBOL index_hint )* -> ^( INDEX_HINT_LIST_TOKEN index_hint ( COMMA_SYMBOL index_hint )* ) )
        // MySQL.g:1219:2: index_hint ( COMMA_SYMBOL index_hint )*
        {
            FOLLOWPUSH(FOLLOW_index_hint_in_index_hint_list6170);
            index_hint1102=index_hint(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_hint_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_index_hint; stream_index_hint->add(stream_index_hint, index_hint1102.tree, NULL); }

            // MySQL.g:1219:13: ( COMMA_SYMBOL index_hint )*

            for (;;)
            {
                int alt389=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case FORCE_SYMBOL:
                		case IGNORE_SYMBOL:
                		case USE_SYMBOL:
                			{
                				alt389=1;
                			}
                		    break;

                		}

                	}
                    break;

                }

                switch (alt389)
                {
            	case 1:
            	    // MySQL.g:1219:14: COMMA_SYMBOL index_hint
            	    {
            	        COMMA_SYMBOL1103 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_hint_list6173);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1103, NULL); }


            	        FOLLOWPUSH(FOLLOW_index_hint_in_index_hint_list6175);
            	        index_hint1104=index_hint(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_index_hint; stream_index_hint->add(stream_index_hint, index_hint1104.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop389;	/* break out of the loop */
            	    break;
                }
            }
            loop389: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : index_hint, index_hint, COMMA_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1219:40: -> ^( INDEX_HINT_LIST_TOKEN index_hint ( COMMA_SYMBOL index_hint )* )
            	{
            	    // MySQL.g:1219:43: ^( INDEX_HINT_LIST_TOKEN index_hint ( COMMA_SYMBOL index_hint )* )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, INDEX_HINT_LIST_TOKEN, (pANTLR3_UINT8)"INDEX_HINT_LIST_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_index_hint == NULL ? NULL : stream_index_hint->nextTree(stream_index_hint));

            	        // MySQL.g:1219:78: ( COMMA_SYMBOL index_hint )*
            	        {
            	        	while ( (stream_index_hint != NULL && stream_index_hint->hasNext(stream_index_hint)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_index_hint == NULL ? NULL : stream_index_hint->nextTree(stream_index_hint));

            	        	}
            	        	if (stream_index_hint != NULL) stream_index_hint->reset(stream_index_hint);
            	        	if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_hint_listEx; /* Prevent compiler warnings */
    ruleindex_hint_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_index_hint != NULL) stream_index_hint->free(stream_index_hint);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_hint_list */

/**
 * $ANTLR start index_hint
 * MySQL.g:1222:1: index_hint : ( index_hint_type key_or_index ( index_hint_clause )? OPEN_PAR_SYMBOL index_list CLOSE_PAR_SYMBOL | USE_SYMBOL key_or_index ( index_hint_clause )? OPEN_PAR_SYMBOL ( index_list )? CLOSE_PAR_SYMBOL );
 */
static MySQLParser_index_hint_return
index_hint(pMySQLParser ctx)
{
    MySQLParser_index_hint_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1108;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1110;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL1111;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1114;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1116;
    MySQLParser_index_hint_type_return index_hint_type1105;
    #undef	RETURN_TYPE_index_hint_type1105
    #define	RETURN_TYPE_index_hint_type1105 MySQLParser_index_hint_type_return

    MySQLParser_key_or_index_return key_or_index1106;
    #undef	RETURN_TYPE_key_or_index1106
    #define	RETURN_TYPE_key_or_index1106 MySQLParser_key_or_index_return

    MySQLParser_index_hint_clause_return index_hint_clause1107;
    #undef	RETURN_TYPE_index_hint_clause1107
    #define	RETURN_TYPE_index_hint_clause1107 MySQLParser_index_hint_clause_return

    MySQLParser_index_list_return index_list1109;
    #undef	RETURN_TYPE_index_list1109
    #define	RETURN_TYPE_index_list1109 MySQLParser_index_list_return

    MySQLParser_key_or_index_return key_or_index1112;
    #undef	RETURN_TYPE_key_or_index1112
    #define	RETURN_TYPE_key_or_index1112 MySQLParser_key_or_index_return

    MySQLParser_index_hint_clause_return index_hint_clause1113;
    #undef	RETURN_TYPE_index_hint_clause1113
    #define	RETURN_TYPE_index_hint_clause1113 MySQLParser_index_hint_clause_return

    MySQLParser_index_list_return index_list1115;
    #undef	RETURN_TYPE_index_list1115
    #define	RETURN_TYPE_index_list1115 MySQLParser_index_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1108_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1110_tree;
    pANTLR3_BASE_TREE USE_SYMBOL1111_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1114_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1116_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL1108       = NULL;
    CLOSE_PAR_SYMBOL1110       = NULL;
    USE_SYMBOL1111       = NULL;
    OPEN_PAR_SYMBOL1114       = NULL;
    CLOSE_PAR_SYMBOL1116       = NULL;
    index_hint_type1105.tree = NULL;

    key_or_index1106.tree = NULL;

    index_hint_clause1107.tree = NULL;

    index_list1109.tree = NULL;

    key_or_index1112.tree = NULL;

    index_hint_clause1113.tree = NULL;

    index_list1115.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL1108_tree   = NULL;
    CLOSE_PAR_SYMBOL1110_tree   = NULL;
    USE_SYMBOL1111_tree   = NULL;
    OPEN_PAR_SYMBOL1114_tree   = NULL;
    CLOSE_PAR_SYMBOL1116_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1222:11: ( index_hint_type key_or_index ( index_hint_clause )? OPEN_PAR_SYMBOL index_list CLOSE_PAR_SYMBOL | USE_SYMBOL key_or_index ( index_hint_clause )? OPEN_PAR_SYMBOL ( index_list )? CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt393;

            alt393=2;

            switch ( LA(1) )
            {
            case FORCE_SYMBOL:
            case IGNORE_SYMBOL:
            	{
            		alt393=1;
            	}
                break;
            case USE_SYMBOL:
            	{
            		alt393=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 393;
                EXCEPTION->state        = 0;


                goto ruleindex_hintEx;

            }

            switch (alt393)
            {
        	case 1:
        	    // MySQL.g:1223:2: index_hint_type key_or_index ( index_hint_clause )? OPEN_PAR_SYMBOL index_list CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_index_hint_type_in_index_hint6201);
        	        index_hint_type1105=index_hint_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_type1105.tree);

        	        FOLLOWPUSH(FOLLOW_key_or_index_in_index_hint6203);
        	        key_or_index1106=key_or_index(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_or_index1106.tree);

        	        // MySQL.g:1223:31: ( index_hint_clause )?
        	        {
        	            int alt390=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt390=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt390)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1223:31: index_hint_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_clause_in_index_hint6205);
        	        	        index_hint_clause1107=index_hint_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleindex_hintEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_clause1107.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL1108 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6208);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1108_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1108));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1108_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_index_list_in_index_hint6210);
        	        index_list1109=index_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list1109.tree);

        	        CLOSE_PAR_SYMBOL1110 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6212);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1110_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1110));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1110_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1224:4: USE_SYMBOL key_or_index ( index_hint_clause )? OPEN_PAR_SYMBOL ( index_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USE_SYMBOL1111 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_index_hint6217);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USE_SYMBOL1111_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USE_SYMBOL1111));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USE_SYMBOL1111_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_key_or_index_in_index_hint6219);
        	        key_or_index1112=key_or_index(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_or_index1112.tree);

        	        // MySQL.g:1224:28: ( index_hint_clause )?
        	        {
        	            int alt391=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt391=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt391)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1224:28: index_hint_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_clause_in_index_hint6221);
        	        	        index_hint_clause1113=index_hint_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleindex_hintEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_clause1113.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL1114 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_hint6224);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1114_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1114));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1114_tree);
        	        }

        	        // MySQL.g:1224:63: ( index_list )?
        	        {
        	            int alt392=2;
        	            {
        	                int LA392_0 = LA(1);
        	                if ( (LA392_0 == BACK_TICK_QUOTED_ID || LA392_0 == IDENTIFIER))
        	                {
        	                    alt392=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA392_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt392=1;
        	                }
        	                else if ( (((LA392_0 >= ASCII_SYMBOL) && (LA392_0 <= YEAR_SYMBOL)) || LA392_0 == PRIMARY_SYMBOL))
        	                {
        	                    alt392=1;
        	                }
        	            }
        	            switch (alt392)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1224:63: index_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_list_in_index_hint6226);
        	        	        index_list1115=index_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleindex_hintEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list1115.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1116 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint6229);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1116_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1116));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1116_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleindex_hintEx; /* Prevent compiler warnings */
    ruleindex_hintEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_hint */

/**
 * $ANTLR start index_hint_type
 * MySQL.g:1227:1: index_hint_type : ( FORCE_SYMBOL | IGNORE_SYMBOL );
 */
static MySQLParser_index_hint_type_return
index_hint_type(pMySQLParser ctx)
{
    MySQLParser_index_hint_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1117;

    pANTLR3_BASE_TREE set1117_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1117       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1117_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1227:16: ( FORCE_SYMBOL | IGNORE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1117=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == FORCE_SYMBOL || LA(1) == IGNORE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1117))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleindex_hint_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_hint_typeEx; /* Prevent compiler warnings */
    ruleindex_hint_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_hint_type */

/**
 * $ANTLR start key_or_index
 * MySQL.g:1232:1: key_or_index : ( KEY_SYMBOL | INDEX_SYMBOL );
 */
static MySQLParser_key_or_index_return
key_or_index(pMySQLParser ctx)
{
    MySQLParser_key_or_index_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1118;

    pANTLR3_BASE_TREE set1118_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1118       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1118_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1232:13: ( KEY_SYMBOL | INDEX_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1118=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1118))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulekey_or_indexEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulekey_or_indexEx; /* Prevent compiler warnings */
    rulekey_or_indexEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end key_or_index */

/**
 * $ANTLR start index_hint_clause
 * MySQL.g:1237:1: index_hint_clause : FOR_SYMBOL ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL ) ;
 */
static MySQLParser_index_hint_clause_return
index_hint_clause(pMySQLParser ctx)
{
    MySQLParser_index_hint_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1119;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL1120;
    pANTLR3_COMMON_TOKEN    ORDER_SYMBOL1121;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL1122;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL1123;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL1124;

    pANTLR3_BASE_TREE FOR_SYMBOL1119_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL1120_tree;
    pANTLR3_BASE_TREE ORDER_SYMBOL1121_tree;
    pANTLR3_BASE_TREE BY_SYMBOL1122_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL1123_tree;
    pANTLR3_BASE_TREE BY_SYMBOL1124_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1119       = NULL;
    JOIN_SYMBOL1120       = NULL;
    ORDER_SYMBOL1121       = NULL;
    BY_SYMBOL1122       = NULL;
    GROUP_SYMBOL1123       = NULL;
    BY_SYMBOL1124       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1119_tree   = NULL;
    JOIN_SYMBOL1120_tree   = NULL;
    ORDER_SYMBOL1121_tree   = NULL;
    BY_SYMBOL1122_tree   = NULL;
    GROUP_SYMBOL1123_tree   = NULL;
    BY_SYMBOL1124_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1237:18: ( FOR_SYMBOL ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL ) )
        // MySQL.g:1238:2: FOR_SYMBOL ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOR_SYMBOL1119 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_index_hint_clause6266);
            if  (HASEXCEPTION())
            {
                goto ruleindex_hint_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL1119_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1119));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1119_tree);
            }

            // MySQL.g:1238:13: ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL )
            {
                int alt394=3;
                switch ( LA(1) )
                {
                case JOIN_SYMBOL:
                	{
                		alt394=1;
                	}
                    break;
                case ORDER_SYMBOL:
                	{
                		alt394=2;
                	}
                    break;
                case GROUP_SYMBOL:
                	{
                		alt394=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 394;
                    EXCEPTION->state        = 0;


                    goto ruleindex_hint_clauseEx;

                }

                switch (alt394)
                {
            	case 1:
            	    // MySQL.g:1238:14: JOIN_SYMBOL
            	    {
            	        JOIN_SYMBOL1120 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_index_hint_clause6269);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        JOIN_SYMBOL1120_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL1120));
            	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL1120_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1238:28: ORDER_SYMBOL BY_SYMBOL
            	    {
            	        ORDER_SYMBOL1121 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_index_hint_clause6273);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ORDER_SYMBOL1121_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ORDER_SYMBOL1121));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ORDER_SYMBOL1121_tree);
            	        }

            	        BY_SYMBOL1122 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_index_hint_clause6275);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL1122_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL1122));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL1122_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1238:53: GROUP_SYMBOL BY_SYMBOL
            	    {
            	        GROUP_SYMBOL1123 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_index_hint_clause6279);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GROUP_SYMBOL1123_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL1123));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL1123_tree);
            	        }

            	        BY_SYMBOL1124 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_index_hint_clause6281);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL1124_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL1124));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL1124_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_hint_clauseEx; /* Prevent compiler warnings */
    ruleindex_hint_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_hint_clause */

/**
 * $ANTLR start index_list
 * MySQL.g:1241:1: index_list : index_list_element ( COMMA_SYMBOL index_list_element )* ;
 */
static MySQLParser_index_list_return
index_list(pMySQLParser ctx)
{
    MySQLParser_index_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1126;
    MySQLParser_index_list_element_return index_list_element1125;
    #undef	RETURN_TYPE_index_list_element1125
    #define	RETURN_TYPE_index_list_element1125 MySQLParser_index_list_element_return

    MySQLParser_index_list_element_return index_list_element1127;
    #undef	RETURN_TYPE_index_list_element1127
    #define	RETURN_TYPE_index_list_element1127 MySQLParser_index_list_element_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1126_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1126       = NULL;
    index_list_element1125.tree = NULL;

    index_list_element1127.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1126_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1241:11: ( index_list_element ( COMMA_SYMBOL index_list_element )* )
        // MySQL.g:1242:2: index_list_element ( COMMA_SYMBOL index_list_element )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_index_list_element_in_index_list6291);
            index_list_element1125=index_list_element(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list_element1125.tree);

            // MySQL.g:1242:21: ( COMMA_SYMBOL index_list_element )*

            for (;;)
            {
                int alt395=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt395=1;
                	}
                    break;

                }

                switch (alt395)
                {
            	case 1:
            	    // MySQL.g:1242:22: COMMA_SYMBOL index_list_element
            	    {
            	        COMMA_SYMBOL1126 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_list6294);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1126_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1126));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1126_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_list_element_in_index_list6296);
            	        index_list_element1127=index_list_element(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list_element1127.tree);

            	    }
            	    break;

            	default:
            	    goto loop395;	/* break out of the loop */
            	    break;
                }
            }
            loop395: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_listEx; /* Prevent compiler warnings */
    ruleindex_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_list */

/**
 * $ANTLR start index_list_element
 * MySQL.g:1245:1: index_list_element : ( identifier | PRIMARY_SYMBOL );
 */
static MySQLParser_index_list_element_return
index_list_element(pMySQLParser ctx)
{
    MySQLParser_index_list_element_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PRIMARY_SYMBOL1129;
    MySQLParser_identifier_return identifier1128;
    #undef	RETURN_TYPE_identifier1128
    #define	RETURN_TYPE_identifier1128 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PRIMARY_SYMBOL1129_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PRIMARY_SYMBOL1129       = NULL;
    identifier1128.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PRIMARY_SYMBOL1129_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1245:19: ( identifier | PRIMARY_SYMBOL )

            ANTLR3_UINT32 alt396;

            alt396=2;

            {
                int LA396_0 = LA(1);
                if ( (LA396_0 == BACK_TICK_QUOTED_ID || LA396_0 == IDENTIFIER))
                {
                    alt396=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA396_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt396=1;
                }
                else if ( (((LA396_0 >= ASCII_SYMBOL) && (LA396_0 <= YEAR_SYMBOL))))
                {
                    alt396=1;
                }
                else if ( (LA396_0 == PRIMARY_SYMBOL))
                {
                    alt396=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 396;
                    EXCEPTION->state        = 0;


                    goto ruleindex_list_elementEx;

                }
            }
            switch (alt396)
            {
        	case 1:
        	    // MySQL.g:1246:2: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_index_list_element6307);
        	        identifier1128=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_list_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1128.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1247:4: PRIMARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PRIMARY_SYMBOL1129 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_index_list_element6312);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_list_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIMARY_SYMBOL1129_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL1129));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL1129_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleindex_list_elementEx; /* Prevent compiler warnings */
    ruleindex_list_elementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_list_element */

/**
 * $ANTLR start update_statement
 * MySQL.g:1252:1: update_statement : UPDATE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL )? ( IGNORE_SYMBOL )? table_reference_list SET_SYMBOL column_assignment_list_with_default ( where_clause )? ( order_by_clause )? ( limit_clause )? ;
 */
static MySQLParser_update_statement_return
update_statement(pMySQLParser ctx)
{
    MySQLParser_update_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL1130;
    pANTLR3_COMMON_TOKEN    LOW_PRIORITY_SYMBOL1131;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL1132;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL1134;
    MySQLParser_table_reference_list_return table_reference_list1133;
    #undef	RETURN_TYPE_table_reference_list1133
    #define	RETURN_TYPE_table_reference_list1133 MySQLParser_table_reference_list_return

    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default1135;
    #undef	RETURN_TYPE_column_assignment_list_with_default1135
    #define	RETURN_TYPE_column_assignment_list_with_default1135 MySQLParser_column_assignment_list_with_default_return

    MySQLParser_where_clause_return where_clause1136;
    #undef	RETURN_TYPE_where_clause1136
    #define	RETURN_TYPE_where_clause1136 MySQLParser_where_clause_return

    MySQLParser_order_by_clause_return order_by_clause1137;
    #undef	RETURN_TYPE_order_by_clause1137
    #define	RETURN_TYPE_order_by_clause1137 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause1138;
    #undef	RETURN_TYPE_limit_clause1138
    #define	RETURN_TYPE_limit_clause1138 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE UPDATE_SYMBOL1130_tree;
    pANTLR3_BASE_TREE LOW_PRIORITY_SYMBOL1131_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL1132_tree;
    pANTLR3_BASE_TREE SET_SYMBOL1134_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UPDATE_SYMBOL1130       = NULL;
    LOW_PRIORITY_SYMBOL1131       = NULL;
    IGNORE_SYMBOL1132       = NULL;
    SET_SYMBOL1134       = NULL;
    table_reference_list1133.tree = NULL;

    column_assignment_list_with_default1135.tree = NULL;

    where_clause1136.tree = NULL;

    order_by_clause1137.tree = NULL;

    limit_clause1138.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UPDATE_SYMBOL1130_tree   = NULL;
    LOW_PRIORITY_SYMBOL1131_tree   = NULL;
    IGNORE_SYMBOL1132_tree   = NULL;
    SET_SYMBOL1134_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1252:17: ( UPDATE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL )? ( IGNORE_SYMBOL )? table_reference_list SET_SYMBOL column_assignment_list_with_default ( where_clause )? ( order_by_clause )? ( limit_clause )? )
        // MySQL.g:1253:2: UPDATE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL )? ( IGNORE_SYMBOL )? table_reference_list SET_SYMBOL column_assignment_list_with_default ( where_clause )? ( order_by_clause )? ( limit_clause )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            UPDATE_SYMBOL1130 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_update_statement6323);
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UPDATE_SYMBOL1130_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL1130))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UPDATE_SYMBOL1130_tree, root_0));
            }

            // MySQL.g:1253:17: ( LOW_PRIORITY_SYMBOL )?
            {
                int alt397=2;
                switch ( LA(1) )
                {
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt397=1;
                    	}
                        break;
                }

                switch (alt397)
                {
            	case 1:
            	    // MySQL.g:1253:17: LOW_PRIORITY_SYMBOL
            	    {
            	        LOW_PRIORITY_SYMBOL1131 = (pANTLR3_COMMON_TOKEN) MATCHT(LOW_PRIORITY_SYMBOL, &FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement6326);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOW_PRIORITY_SYMBOL1131_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOW_PRIORITY_SYMBOL1131));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOW_PRIORITY_SYMBOL1131_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1253:38: ( IGNORE_SYMBOL )?
            {
                int alt398=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt398=1;
                    	}
                        break;
                }

                switch (alt398)
                {
            	case 1:
            	    // MySQL.g:1253:38: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL1132 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_update_statement6329);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL1132_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL1132));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL1132_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_reference_list_in_update_statement6332);
            table_reference_list1133=table_reference_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference_list1133.tree);

            SET_SYMBOL1134 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_update_statement6336);
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SET_SYMBOL1134_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1134));
            ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL1134_tree);
            }

            FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_update_statement6338);
            column_assignment_list_with_default1135=column_assignment_list_with_default(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_assignment_list_with_default1135.tree);

            // MySQL.g:1254:50: ( where_clause )?
            {
                int alt399=2;
                switch ( LA(1) )
                {
                    case WHERE_SYMBOL:
                    	{
                    		alt399=1;
                    	}
                        break;
                }

                switch (alt399)
                {
            	case 1:
            	    // MySQL.g:1254:50: where_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_where_clause_in_update_statement6340);
            	        where_clause1136=where_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause1136.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1254:64: ( order_by_clause )?
            {
                int alt400=2;
                switch ( LA(1) )
                {
                    case ORDER_SYMBOL:
                    	{
                    		alt400=1;
                    	}
                        break;
                }

                switch (alt400)
                {
            	case 1:
            	    // MySQL.g:1254:64: order_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_order_by_clause_in_update_statement6343);
            	        order_by_clause1137=order_by_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause1137.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1254:81: ( limit_clause )?
            {
                int alt401=2;
                switch ( LA(1) )
                {
                    case LIMIT_SYMBOL:
                    	{
                    		alt401=1;
                    	}
                        break;
                }

                switch (alt401)
                {
            	case 1:
            	    // MySQL.g:1254:81: limit_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_limit_clause_in_update_statement6346);
            	        limit_clause1138=limit_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1138.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleupdate_statementEx; /* Prevent compiler warnings */
    ruleupdate_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end update_statement */

/**
 * $ANTLR start transaction_or_locking_statement
 * MySQL.g:1259:1: transaction_or_locking_statement : ( transaction_statement | savepoint_statement | lock_statement | xa_statement );
 */
static MySQLParser_transaction_or_locking_statement_return
transaction_or_locking_statement(pMySQLParser ctx)
{
    MySQLParser_transaction_or_locking_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_transaction_statement_return transaction_statement1139;
    #undef	RETURN_TYPE_transaction_statement1139
    #define	RETURN_TYPE_transaction_statement1139 MySQLParser_transaction_statement_return

    MySQLParser_savepoint_statement_return savepoint_statement1140;
    #undef	RETURN_TYPE_savepoint_statement1140
    #define	RETURN_TYPE_savepoint_statement1140 MySQLParser_savepoint_statement_return

    MySQLParser_lock_statement_return lock_statement1141;
    #undef	RETURN_TYPE_lock_statement1141
    #define	RETURN_TYPE_lock_statement1141 MySQLParser_lock_statement_return

    MySQLParser_xa_statement_return xa_statement1142;
    #undef	RETURN_TYPE_xa_statement1142
    #define	RETURN_TYPE_xa_statement1142 MySQLParser_xa_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    transaction_statement1139.tree = NULL;

    savepoint_statement1140.tree = NULL;

    lock_statement1141.tree = NULL;

    xa_statement1142.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1259:33: ( transaction_statement | savepoint_statement | lock_statement | xa_statement )

            ANTLR3_UINT32 alt402;

            alt402=4;

            switch ( LA(1) )
            {
            case BEGIN_SYMBOL:
            case COMMIT_SYMBOL:
            case ROLLBACK_SYMBOL:
            case START_SYMBOL:
            	{
            		alt402=1;
            	}
                break;
            case SAVEPOINT_SYMBOL:
            case RELEASE_SYMBOL:
            	{
            		alt402=2;
            	}
                break;
            case LOCK_SYMBOL:
            case UNLOCK_SYMBOL:
            	{
            		alt402=3;
            	}
                break;
            case XA_SYMBOL:
            	{
            		alt402=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 402;
                EXCEPTION->state        = 0;


                goto ruletransaction_or_locking_statementEx;

            }

            switch (alt402)
            {
        	case 1:
        	    // MySQL.g:1260:2: transaction_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_transaction_statement_in_transaction_or_locking_statement6358);
        	        transaction_statement1139=transaction_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, transaction_statement1139.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1261:4: savepoint_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_savepoint_statement_in_transaction_or_locking_statement6363);
        	        savepoint_statement1140=savepoint_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, savepoint_statement1140.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1262:4: lock_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_lock_statement_in_transaction_or_locking_statement6368);
        	        lock_statement1141=lock_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_statement1141.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1263:4: xa_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_xa_statement_in_transaction_or_locking_statement6373);
        	        xa_statement1142=xa_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xa_statement1142.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletransaction_or_locking_statementEx; /* Prevent compiler warnings */
    ruletransaction_or_locking_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end transaction_or_locking_statement */

/**
 * $ANTLR start transaction_statement
 * MySQL.g:1266:1: transaction_statement : ( START_SYMBOL ^ TRANSACTION_SYMBOL ( transaction_characteristic )* | BEGIN_SYMBOL ^ ( WORK_SYMBOL )? | COMMIT_SYMBOL ^ ( WORK_SYMBOL )? ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | ROLLBACK_SYMBOL ^ ( WORK_SYMBOL )? ( ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier ) );
 */
static MySQLParser_transaction_statement_return
transaction_statement(pMySQLParser ctx)
{
    MySQLParser_transaction_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    START_SYMBOL1143;
    pANTLR3_COMMON_TOKEN    TRANSACTION_SYMBOL1144;
    pANTLR3_COMMON_TOKEN    BEGIN_SYMBOL1146;
    pANTLR3_COMMON_TOKEN    WORK_SYMBOL1147;
    pANTLR3_COMMON_TOKEN    COMMIT_SYMBOL1148;
    pANTLR3_COMMON_TOKEN    WORK_SYMBOL1149;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1150;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1151;
    pANTLR3_COMMON_TOKEN    CHAIN_SYMBOL1152;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1153;
    pANTLR3_COMMON_TOKEN    RELEASE_SYMBOL1154;
    pANTLR3_COMMON_TOKEN    ROLLBACK_SYMBOL1155;
    pANTLR3_COMMON_TOKEN    WORK_SYMBOL1156;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1157;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1158;
    pANTLR3_COMMON_TOKEN    CHAIN_SYMBOL1159;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1160;
    pANTLR3_COMMON_TOKEN    RELEASE_SYMBOL1161;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1162;
    pANTLR3_COMMON_TOKEN    SAVEPOINT_SYMBOL1163;
    MySQLParser_transaction_characteristic_return transaction_characteristic1145;
    #undef	RETURN_TYPE_transaction_characteristic1145
    #define	RETURN_TYPE_transaction_characteristic1145 MySQLParser_transaction_characteristic_return

    MySQLParser_identifier_return identifier1164;
    #undef	RETURN_TYPE_identifier1164
    #define	RETURN_TYPE_identifier1164 MySQLParser_identifier_return

    pANTLR3_BASE_TREE START_SYMBOL1143_tree;
    pANTLR3_BASE_TREE TRANSACTION_SYMBOL1144_tree;
    pANTLR3_BASE_TREE BEGIN_SYMBOL1146_tree;
    pANTLR3_BASE_TREE WORK_SYMBOL1147_tree;
    pANTLR3_BASE_TREE COMMIT_SYMBOL1148_tree;
    pANTLR3_BASE_TREE WORK_SYMBOL1149_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1150_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1151_tree;
    pANTLR3_BASE_TREE CHAIN_SYMBOL1152_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1153_tree;
    pANTLR3_BASE_TREE RELEASE_SYMBOL1154_tree;
    pANTLR3_BASE_TREE ROLLBACK_SYMBOL1155_tree;
    pANTLR3_BASE_TREE WORK_SYMBOL1156_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1157_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1158_tree;
    pANTLR3_BASE_TREE CHAIN_SYMBOL1159_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1160_tree;
    pANTLR3_BASE_TREE RELEASE_SYMBOL1161_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1162_tree;
    pANTLR3_BASE_TREE SAVEPOINT_SYMBOL1163_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    START_SYMBOL1143       = NULL;
    TRANSACTION_SYMBOL1144       = NULL;
    BEGIN_SYMBOL1146       = NULL;
    WORK_SYMBOL1147       = NULL;
    COMMIT_SYMBOL1148       = NULL;
    WORK_SYMBOL1149       = NULL;
    AND_SYMBOL1150       = NULL;
    NO_SYMBOL1151       = NULL;
    CHAIN_SYMBOL1152       = NULL;
    NO_SYMBOL1153       = NULL;
    RELEASE_SYMBOL1154       = NULL;
    ROLLBACK_SYMBOL1155       = NULL;
    WORK_SYMBOL1156       = NULL;
    AND_SYMBOL1157       = NULL;
    NO_SYMBOL1158       = NULL;
    CHAIN_SYMBOL1159       = NULL;
    NO_SYMBOL1160       = NULL;
    RELEASE_SYMBOL1161       = NULL;
    TO_SYMBOL1162       = NULL;
    SAVEPOINT_SYMBOL1163       = NULL;
    transaction_characteristic1145.tree = NULL;

    identifier1164.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    START_SYMBOL1143_tree   = NULL;
    TRANSACTION_SYMBOL1144_tree   = NULL;
    BEGIN_SYMBOL1146_tree   = NULL;
    WORK_SYMBOL1147_tree   = NULL;
    COMMIT_SYMBOL1148_tree   = NULL;
    WORK_SYMBOL1149_tree   = NULL;
    AND_SYMBOL1150_tree   = NULL;
    NO_SYMBOL1151_tree   = NULL;
    CHAIN_SYMBOL1152_tree   = NULL;
    NO_SYMBOL1153_tree   = NULL;
    RELEASE_SYMBOL1154_tree   = NULL;
    ROLLBACK_SYMBOL1155_tree   = NULL;
    WORK_SYMBOL1156_tree   = NULL;
    AND_SYMBOL1157_tree   = NULL;
    NO_SYMBOL1158_tree   = NULL;
    CHAIN_SYMBOL1159_tree   = NULL;
    NO_SYMBOL1160_tree   = NULL;
    RELEASE_SYMBOL1161_tree   = NULL;
    TO_SYMBOL1162_tree   = NULL;
    SAVEPOINT_SYMBOL1163_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1266:22: ( START_SYMBOL ^ TRANSACTION_SYMBOL ( transaction_characteristic )* | BEGIN_SYMBOL ^ ( WORK_SYMBOL )? | COMMIT_SYMBOL ^ ( WORK_SYMBOL )? ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | ROLLBACK_SYMBOL ^ ( WORK_SYMBOL )? ( ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier ) )

            ANTLR3_UINT32 alt417;

            alt417=4;

            switch ( LA(1) )
            {
            case START_SYMBOL:
            	{
            		alt417=1;
            	}
                break;
            case BEGIN_SYMBOL:
            	{
            		alt417=2;
            	}
                break;
            case COMMIT_SYMBOL:
            	{
            		alt417=3;
            	}
                break;
            case ROLLBACK_SYMBOL:
            	{
            		alt417=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 417;
                EXCEPTION->state        = 0;


                goto ruletransaction_statementEx;

            }

            switch (alt417)
            {
        	case 1:
        	    // MySQL.g:1267:2: START_SYMBOL ^ TRANSACTION_SYMBOL ( transaction_characteristic )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        START_SYMBOL1143 = (pANTLR3_COMMON_TOKEN) MATCHT(START_SYMBOL, &FOLLOW_START_SYMBOL_in_transaction_statement6382);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        START_SYMBOL1143_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, START_SYMBOL1143))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, START_SYMBOL1143_tree, root_0));
        	        }

        	        TRANSACTION_SYMBOL1144 = (pANTLR3_COMMON_TOKEN) MATCHT(TRANSACTION_SYMBOL, &FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement6385);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRANSACTION_SYMBOL1144_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRANSACTION_SYMBOL1144));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRANSACTION_SYMBOL1144_tree);
        	        }

        	        // MySQL.g:1267:35: ( transaction_characteristic )*

        	        for (;;)
        	        {
        	            int alt403=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA403_0 = LA(1);
        	                if ( (LA403_0 == WITH_SYMBOL))
        	                {
        	                    alt403=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50605)) && (LA403_0 == READ_SYMBOL))
        	                {
        	                    alt403=1;
        	                }

        	            }
        	            switch (alt403)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1267:35: transaction_characteristic
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_transaction_characteristic_in_transaction_statement6387);
        	        	        transaction_characteristic1145=transaction_characteristic(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, transaction_characteristic1145.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop403;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop403: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1268:4: BEGIN_SYMBOL ^ ( WORK_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BEGIN_SYMBOL1146 = (pANTLR3_COMMON_TOKEN) MATCHT(BEGIN_SYMBOL, &FOLLOW_BEGIN_SYMBOL_in_transaction_statement6393);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BEGIN_SYMBOL1146_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEGIN_SYMBOL1146))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BEGIN_SYMBOL1146_tree, root_0));
        	        }

        	        // MySQL.g:1268:18: ( WORK_SYMBOL )?
        	        {
        	            int alt404=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt404=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt404)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1268:18: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1147 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement6396);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        WORK_SYMBOL1147_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1147));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1147_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1269:4: COMMIT_SYMBOL ^ ( WORK_SYMBOL )? ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMIT_SYMBOL1148 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMIT_SYMBOL, &FOLLOW_COMMIT_SYMBOL_in_transaction_statement6402);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMIT_SYMBOL1148_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMIT_SYMBOL1148))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, COMMIT_SYMBOL1148_tree, root_0));
        	        }

        	        // MySQL.g:1269:19: ( WORK_SYMBOL )?
        	        {
        	            int alt405=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt405=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt405)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1269:19: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1149 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement6405);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        WORK_SYMBOL1149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1149));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1149_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1269:32: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )?
        	        {
        	            int alt407=2;
        	            switch ( LA(1) )
        	            {
        	                case AND_SYMBOL:
        	                	{
        	                		alt407=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt407)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1269:33: AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL
        	        	    {
        	        	        AND_SYMBOL1150 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_transaction_statement6409);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AND_SYMBOL1150_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1150));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1150_tree);
        	        	        }

        	        	        // MySQL.g:1269:44: ( NO_SYMBOL )?
        	        	        {
        	        	            int alt406=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                	{
        	        	                		alt406=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt406)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1269:44: NO_SYMBOL
        	        	        	    {
        	        	        	        NO_SYMBOL1151 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement6411);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        NO_SYMBOL1151_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1151));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1151_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        CHAIN_SYMBOL1152 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAIN_SYMBOL, &FOLLOW_CHAIN_SYMBOL_in_transaction_statement6414);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CHAIN_SYMBOL1152_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAIN_SYMBOL1152));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAIN_SYMBOL1152_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1269:70: ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        {
        	            int alt409=2;
        	            switch ( LA(1) )
        	            {
        	                case NO_SYMBOL:
        	                case RELEASE_SYMBOL:
        	                	{
        	                		alt409=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt409)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1269:71: ( NO_SYMBOL )? RELEASE_SYMBOL
        	        	    {
        	        	        // MySQL.g:1269:71: ( NO_SYMBOL )?
        	        	        {
        	        	            int alt408=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                	{
        	        	                		alt408=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt408)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1269:71: NO_SYMBOL
        	        	        	    {
        	        	        	        NO_SYMBOL1153 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement6419);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        NO_SYMBOL1153_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1153));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1153_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        RELEASE_SYMBOL1154 = (pANTLR3_COMMON_TOKEN) MATCHT(RELEASE_SYMBOL, &FOLLOW_RELEASE_SYMBOL_in_transaction_statement6422);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        RELEASE_SYMBOL1154_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELEASE_SYMBOL1154));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, RELEASE_SYMBOL1154_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1270:4: ROLLBACK_SYMBOL ^ ( WORK_SYMBOL )? ( ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ROLLBACK_SYMBOL1155 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLBACK_SYMBOL, &FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement6429);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROLLBACK_SYMBOL1155_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROLLBACK_SYMBOL1155))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ROLLBACK_SYMBOL1155_tree, root_0));
        	        }

        	        // MySQL.g:1270:21: ( WORK_SYMBOL )?
        	        {
        	            int alt410=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt410=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt410)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1270:21: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1156 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement6432);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        WORK_SYMBOL1156_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1156));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1156_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1271:3: ( ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier )
        	        {
        	            int alt416=2;
        	            switch ( LA(1) )
        	            {
        	            case EOF:
        	            case NO_SYMBOL:
        	            case AND_SYMBOL:
        	            case RELEASE_SYMBOL:
        	            case SEMICOLON_SYMBOL:
        	            	{
        	            		alt416=1;
        	            	}
        	                break;
        	            case TO_SYMBOL:
        	            	{
        	            		alt416=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 416;
        	                EXCEPTION->state        = 0;


        	                goto ruletransaction_statementEx;

        	            }

        	            switch (alt416)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1272:4: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        	    {
        	        	        // MySQL.g:1272:4: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )?
        	        	        {
        	        	            int alt412=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case AND_SYMBOL:
        	        	                	{
        	        	                		alt412=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt412)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1272:5: AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL
        	        	        	    {
        	        	        	        AND_SYMBOL1157 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_transaction_statement6443);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        AND_SYMBOL1157_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1157));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1157_tree);
        	        	        	        }

        	        	        	        // MySQL.g:1272:16: ( NO_SYMBOL )?
        	        	        	        {
        	        	        	            int alt411=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	                case NO_SYMBOL:
        	        	        	                	{
        	        	        	                		alt411=1;
        	        	        	                	}
        	        	        	                    break;
        	        	        	            }

        	        	        	            switch (alt411)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:1272:16: NO_SYMBOL
        	        	        	        	    {
        	        	        	        	        NO_SYMBOL1158 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement6445);
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto ruletransaction_statementEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        	        NO_SYMBOL1158_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1158));
        	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1158_tree);
        	        	        	        	        }

        	        	        	        	    }
        	        	        	        	    break;

        	        	        	            }
        	        	        	        }

        	        	        	        CHAIN_SYMBOL1159 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAIN_SYMBOL, &FOLLOW_CHAIN_SYMBOL_in_transaction_statement6448);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        CHAIN_SYMBOL1159_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAIN_SYMBOL1159));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAIN_SYMBOL1159_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:1272:42: ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        	        {
        	        	            int alt414=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                case RELEASE_SYMBOL:
        	        	                	{
        	        	                		alt414=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt414)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1272:43: ( NO_SYMBOL )? RELEASE_SYMBOL
        	        	        	    {
        	        	        	        // MySQL.g:1272:43: ( NO_SYMBOL )?
        	        	        	        {
        	        	        	            int alt413=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	                case NO_SYMBOL:
        	        	        	                	{
        	        	        	                		alt413=1;
        	        	        	                	}
        	        	        	                    break;
        	        	        	            }

        	        	        	            switch (alt413)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:1272:43: NO_SYMBOL
        	        	        	        	    {
        	        	        	        	        NO_SYMBOL1160 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement6453);
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto ruletransaction_statementEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        	        NO_SYMBOL1160_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1160));
        	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1160_tree);
        	        	        	        	        }

        	        	        	        	    }
        	        	        	        	    break;

        	        	        	            }
        	        	        	        }

        	        	        	        RELEASE_SYMBOL1161 = (pANTLR3_COMMON_TOKEN) MATCHT(RELEASE_SYMBOL, &FOLLOW_RELEASE_SYMBOL_in_transaction_statement6456);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        RELEASE_SYMBOL1161_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELEASE_SYMBOL1161));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, RELEASE_SYMBOL1161_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1273:6: TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier
        	        	    {
        	        	        TO_SYMBOL1162 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_transaction_statement6465);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TO_SYMBOL1162_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1162));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1162_tree);
        	        	        }

        	        	        // MySQL.g:1273:16: ( SAVEPOINT_SYMBOL )?
        	        	        {
        	        	            int alt415=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case SAVEPOINT_SYMBOL:
        	        	                	{
        	        	                		{
        	        	                		    int LA415_1 = LA(2);
        	        	                		    if ( (((LA415_1 >= ASCII_SYMBOL) && (LA415_1 <= YEAR_SYMBOL)) || LA415_1 == BACK_TICK_QUOTED_ID || LA415_1 == DOUBLE_QUOTED_TEXT || LA415_1 == IDENTIFIER))
        	        	                		    {
        	        	                		        alt415=1;
        	        	                		    }
        	        	                		}
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt415)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1273:16: SAVEPOINT_SYMBOL
        	        	        	    {
        	        	        	        SAVEPOINT_SYMBOL1163 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement6467);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        SAVEPOINT_SYMBOL1163_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SAVEPOINT_SYMBOL1163));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SAVEPOINT_SYMBOL1163_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_transaction_statement6470);
        	        	        identifier1164=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1164.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletransaction_statementEx; /* Prevent compiler warnings */
    ruletransaction_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end transaction_statement */

/**
 * $ANTLR start transaction_characteristic
 * MySQL.g:1280:1: transaction_characteristic : ( WITH_SYMBOL CONSISTENT_SYMBOL SNAPSHOT_SYMBOL |{...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL ) );
 */
static MySQLParser_transaction_characteristic_return
transaction_characteristic(pMySQLParser ctx)
{
    MySQLParser_transaction_characteristic_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1165;
    pANTLR3_COMMON_TOKEN    CONSISTENT_SYMBOL1166;
    pANTLR3_COMMON_TOKEN    SNAPSHOT_SYMBOL1167;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1168;
    pANTLR3_COMMON_TOKEN    set1169;

    pANTLR3_BASE_TREE WITH_SYMBOL1165_tree;
    pANTLR3_BASE_TREE CONSISTENT_SYMBOL1166_tree;
    pANTLR3_BASE_TREE SNAPSHOT_SYMBOL1167_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1168_tree;
    pANTLR3_BASE_TREE set1169_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL1165       = NULL;
    CONSISTENT_SYMBOL1166       = NULL;
    SNAPSHOT_SYMBOL1167       = NULL;
    READ_SYMBOL1168       = NULL;
    set1169       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL1165_tree   = NULL;
    CONSISTENT_SYMBOL1166_tree   = NULL;
    SNAPSHOT_SYMBOL1167_tree   = NULL;
    READ_SYMBOL1168_tree   = NULL;
    set1169_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1280:27: ( WITH_SYMBOL CONSISTENT_SYMBOL SNAPSHOT_SYMBOL |{...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL ) )

            ANTLR3_UINT32 alt418;

            alt418=2;

            {
                int LA418_0 = LA(1);
                if ( (LA418_0 == WITH_SYMBOL))
                {
                    alt418=1;
                }
                else if ( ((SERVER_VERSION >= 50605)) && (LA418_0 == READ_SYMBOL))
                {
                    alt418=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 418;
                    EXCEPTION->state        = 0;


                    goto ruletransaction_characteristicEx;

                }
            }
            switch (alt418)
            {
        	case 1:
        	    // MySQL.g:1281:2: WITH_SYMBOL CONSISTENT_SYMBOL SNAPSHOT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1165 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_transaction_characteristic6490);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL1165_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1165));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1165_tree);
        	        }

        	        CONSISTENT_SYMBOL1166 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSISTENT_SYMBOL, &FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic6492);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONSISTENT_SYMBOL1166_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONSISTENT_SYMBOL1166));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONSISTENT_SYMBOL1166_tree);
        	        }

        	        SNAPSHOT_SYMBOL1167 = (pANTLR3_COMMON_TOKEN) MATCHT(SNAPSHOT_SYMBOL, &FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic6494);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SNAPSHOT_SYMBOL1167_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SNAPSHOT_SYMBOL1167));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SNAPSHOT_SYMBOL1167_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1282:4: {...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50605)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50605";
        	                EXCEPTION->ruleName	 = (void *)"transaction_characteristic";


        	        }

        	        READ_SYMBOL1168 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_transaction_characteristic6503);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1168_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1168));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1168_tree);
        	        }

        	        set1169=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == ONLY_SYMBOL || LA(1) == WRITE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1169))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruletransaction_characteristicEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletransaction_characteristicEx; /* Prevent compiler warnings */
    ruletransaction_characteristicEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end transaction_characteristic */

/**
 * $ANTLR start set_transaction_characteristic
 * MySQL.g:1285:1: set_transaction_characteristic : ( ISOLATION_SYMBOL LEVEL_SYMBOL isolation_level |{...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL ) );
 */
static MySQLParser_set_transaction_characteristic_return
set_transaction_characteristic(pMySQLParser ctx)
{
    MySQLParser_set_transaction_characteristic_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ISOLATION_SYMBOL1170;
    pANTLR3_COMMON_TOKEN    LEVEL_SYMBOL1171;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1173;
    pANTLR3_COMMON_TOKEN    set1174;
    MySQLParser_isolation_level_return isolation_level1172;
    #undef	RETURN_TYPE_isolation_level1172
    #define	RETURN_TYPE_isolation_level1172 MySQLParser_isolation_level_return

    pANTLR3_BASE_TREE ISOLATION_SYMBOL1170_tree;
    pANTLR3_BASE_TREE LEVEL_SYMBOL1171_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1173_tree;
    pANTLR3_BASE_TREE set1174_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ISOLATION_SYMBOL1170       = NULL;
    LEVEL_SYMBOL1171       = NULL;
    READ_SYMBOL1173       = NULL;
    set1174       = NULL;
    isolation_level1172.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ISOLATION_SYMBOL1170_tree   = NULL;
    LEVEL_SYMBOL1171_tree   = NULL;
    READ_SYMBOL1173_tree   = NULL;
    set1174_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1285:31: ( ISOLATION_SYMBOL LEVEL_SYMBOL isolation_level |{...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL ) )

            ANTLR3_UINT32 alt419;

            alt419=2;

            {
                int LA419_0 = LA(1);
                if ( (LA419_0 == ISOLATION_SYMBOL))
                {
                    alt419=1;
                }
                else if ( ((SERVER_VERSION >= 50605)) && (LA419_0 == READ_SYMBOL))
                {
                    alt419=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 419;
                    EXCEPTION->state        = 0;


                    goto ruleset_transaction_characteristicEx;

                }
            }
            switch (alt419)
            {
        	case 1:
        	    // MySQL.g:1286:2: ISOLATION_SYMBOL LEVEL_SYMBOL isolation_level
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ISOLATION_SYMBOL1170 = (pANTLR3_COMMON_TOKEN) MATCHT(ISOLATION_SYMBOL, &FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic6520);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ISOLATION_SYMBOL1170_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ISOLATION_SYMBOL1170));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ISOLATION_SYMBOL1170_tree);
        	        }

        	        LEVEL_SYMBOL1171 = (pANTLR3_COMMON_TOKEN) MATCHT(LEVEL_SYMBOL, &FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic6522);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LEVEL_SYMBOL1171_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEVEL_SYMBOL1171));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LEVEL_SYMBOL1171_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_isolation_level_in_set_transaction_characteristic6524);
        	        isolation_level1172=isolation_level(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, isolation_level1172.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1287:4: {...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50605)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50605";
        	                EXCEPTION->ruleName	 = (void *)"set_transaction_characteristic";


        	        }

        	        READ_SYMBOL1173 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_set_transaction_characteristic6533);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1173_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1173));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1173_tree);
        	        }

        	        set1174=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == ONLY_SYMBOL || LA(1) == WRITE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1174))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleset_transaction_characteristicEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleset_transaction_characteristicEx; /* Prevent compiler warnings */
    ruleset_transaction_characteristicEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end set_transaction_characteristic */

/**
 * $ANTLR start isolation_level
 * MySQL.g:1290:1: isolation_level : ( REPEATABLE_SYMBOL READ_SYMBOL | READ_SYMBOL ( COMMITTED_SYMBOL | UNCOMMITTED_SYMBOL ) | SERIALIZABLE_SYMBOL );
 */
static MySQLParser_isolation_level_return
isolation_level(pMySQLParser ctx)
{
    MySQLParser_isolation_level_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REPEATABLE_SYMBOL1175;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1176;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1177;
    pANTLR3_COMMON_TOKEN    set1178;
    pANTLR3_COMMON_TOKEN    SERIALIZABLE_SYMBOL1179;

    pANTLR3_BASE_TREE REPEATABLE_SYMBOL1175_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1176_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1177_tree;
    pANTLR3_BASE_TREE set1178_tree;
    pANTLR3_BASE_TREE SERIALIZABLE_SYMBOL1179_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPEATABLE_SYMBOL1175       = NULL;
    READ_SYMBOL1176       = NULL;
    READ_SYMBOL1177       = NULL;
    set1178       = NULL;
    SERIALIZABLE_SYMBOL1179       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPEATABLE_SYMBOL1175_tree   = NULL;
    READ_SYMBOL1176_tree   = NULL;
    READ_SYMBOL1177_tree   = NULL;
    set1178_tree   = NULL;
    SERIALIZABLE_SYMBOL1179_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1290:16: ( REPEATABLE_SYMBOL READ_SYMBOL | READ_SYMBOL ( COMMITTED_SYMBOL | UNCOMMITTED_SYMBOL ) | SERIALIZABLE_SYMBOL )

            ANTLR3_UINT32 alt420;

            alt420=3;

            switch ( LA(1) )
            {
            case REPEATABLE_SYMBOL:
            	{
            		alt420=1;
            	}
                break;
            case READ_SYMBOL:
            	{
            		alt420=2;
            	}
                break;
            case SERIALIZABLE_SYMBOL:
            	{
            		alt420=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 420;
                EXCEPTION->state        = 0;


                goto ruleisolation_levelEx;

            }

            switch (alt420)
            {
        	case 1:
        	    // MySQL.g:1291:2: REPEATABLE_SYMBOL READ_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPEATABLE_SYMBOL1175 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEATABLE_SYMBOL, &FOLLOW_REPEATABLE_SYMBOL_in_isolation_level6550);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPEATABLE_SYMBOL1175_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEATABLE_SYMBOL1175));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPEATABLE_SYMBOL1175_tree);
        	        }

        	        READ_SYMBOL1176 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_isolation_level6552);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1176_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1176));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1176_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1292:4: READ_SYMBOL ( COMMITTED_SYMBOL | UNCOMMITTED_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        READ_SYMBOL1177 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_isolation_level6557);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1177_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1177));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1177_tree);
        	        }

        	        set1178=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == COMMITTED_SYMBOL || LA(1) == UNCOMMITTED_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1178))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleisolation_levelEx;
        	        }


        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1293:4: SERIALIZABLE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIALIZABLE_SYMBOL1179 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIALIZABLE_SYMBOL, &FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level6570);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIALIZABLE_SYMBOL1179_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIALIZABLE_SYMBOL1179));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIALIZABLE_SYMBOL1179_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleisolation_levelEx; /* Prevent compiler warnings */
    ruleisolation_levelEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end isolation_level */

/**
 * $ANTLR start savepoint_statement
 * MySQL.g:1296:1: savepoint_statement : ( SAVEPOINT_SYMBOL ^ identifier | RELEASE_SYMBOL ^ SAVEPOINT_SYMBOL identifier );
 */
static MySQLParser_savepoint_statement_return
savepoint_statement(pMySQLParser ctx)
{
    MySQLParser_savepoint_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SAVEPOINT_SYMBOL1180;
    pANTLR3_COMMON_TOKEN    RELEASE_SYMBOL1182;
    pANTLR3_COMMON_TOKEN    SAVEPOINT_SYMBOL1183;
    MySQLParser_identifier_return identifier1181;
    #undef	RETURN_TYPE_identifier1181
    #define	RETURN_TYPE_identifier1181 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier1184;
    #undef	RETURN_TYPE_identifier1184
    #define	RETURN_TYPE_identifier1184 MySQLParser_identifier_return

    pANTLR3_BASE_TREE SAVEPOINT_SYMBOL1180_tree;
    pANTLR3_BASE_TREE RELEASE_SYMBOL1182_tree;
    pANTLR3_BASE_TREE SAVEPOINT_SYMBOL1183_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SAVEPOINT_SYMBOL1180       = NULL;
    RELEASE_SYMBOL1182       = NULL;
    SAVEPOINT_SYMBOL1183       = NULL;
    identifier1181.tree = NULL;

    identifier1184.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SAVEPOINT_SYMBOL1180_tree   = NULL;
    RELEASE_SYMBOL1182_tree   = NULL;
    SAVEPOINT_SYMBOL1183_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1296:20: ( SAVEPOINT_SYMBOL ^ identifier | RELEASE_SYMBOL ^ SAVEPOINT_SYMBOL identifier )

            ANTLR3_UINT32 alt421;

            alt421=2;

            switch ( LA(1) )
            {
            case SAVEPOINT_SYMBOL:
            	{
            		alt421=1;
            	}
                break;
            case RELEASE_SYMBOL:
            	{
            		alt421=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 421;
                EXCEPTION->state        = 0;


                goto rulesavepoint_statementEx;

            }

            switch (alt421)
            {
        	case 1:
        	    // MySQL.g:1297:2: SAVEPOINT_SYMBOL ^ identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SAVEPOINT_SYMBOL1180 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6579);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SAVEPOINT_SYMBOL1180_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SAVEPOINT_SYMBOL1180))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SAVEPOINT_SYMBOL1180_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_savepoint_statement6582);
        	        identifier1181=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1181.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1298:4: RELEASE_SYMBOL ^ SAVEPOINT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELEASE_SYMBOL1182 = (pANTLR3_COMMON_TOKEN) MATCHT(RELEASE_SYMBOL, &FOLLOW_RELEASE_SYMBOL_in_savepoint_statement6587);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELEASE_SYMBOL1182_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELEASE_SYMBOL1182))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RELEASE_SYMBOL1182_tree, root_0));
        	        }

        	        SAVEPOINT_SYMBOL1183 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement6590);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SAVEPOINT_SYMBOL1183_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SAVEPOINT_SYMBOL1183));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SAVEPOINT_SYMBOL1183_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_savepoint_statement6592);
        	        identifier1184=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1184.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulesavepoint_statementEx; /* Prevent compiler warnings */
    rulesavepoint_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end savepoint_statement */

/**
 * $ANTLR start lock_statement
 * MySQL.g:1301:1: lock_statement : ( LOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) lock_item ( COMMA_SYMBOL lock_item )* | UNLOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) );
 */
static MySQLParser_lock_statement_return
lock_statement(pMySQLParser ctx)
{
    MySQLParser_lock_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1185;
    pANTLR3_COMMON_TOKEN    set1186;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1188;
    pANTLR3_COMMON_TOKEN    UNLOCK_SYMBOL1190;
    pANTLR3_COMMON_TOKEN    set1191;
    MySQLParser_lock_item_return lock_item1187;
    #undef	RETURN_TYPE_lock_item1187
    #define	RETURN_TYPE_lock_item1187 MySQLParser_lock_item_return

    MySQLParser_lock_item_return lock_item1189;
    #undef	RETURN_TYPE_lock_item1189
    #define	RETURN_TYPE_lock_item1189 MySQLParser_lock_item_return

    pANTLR3_BASE_TREE LOCK_SYMBOL1185_tree;
    pANTLR3_BASE_TREE set1186_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1188_tree;
    pANTLR3_BASE_TREE UNLOCK_SYMBOL1190_tree;
    pANTLR3_BASE_TREE set1191_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCK_SYMBOL1185       = NULL;
    set1186       = NULL;
    COMMA_SYMBOL1188       = NULL;
    UNLOCK_SYMBOL1190       = NULL;
    set1191       = NULL;
    lock_item1187.tree = NULL;

    lock_item1189.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCK_SYMBOL1185_tree   = NULL;
    set1186_tree   = NULL;
    COMMA_SYMBOL1188_tree   = NULL;
    UNLOCK_SYMBOL1190_tree   = NULL;
    set1191_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1301:15: ( LOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) lock_item ( COMMA_SYMBOL lock_item )* | UNLOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) )

            ANTLR3_UINT32 alt423;

            alt423=2;

            switch ( LA(1) )
            {
            case LOCK_SYMBOL:
            	{
            		alt423=1;
            	}
                break;
            case UNLOCK_SYMBOL:
            	{
            		alt423=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 423;
                EXCEPTION->state        = 0;


                goto rulelock_statementEx;

            }

            switch (alt423)
            {
        	case 1:
        	    // MySQL.g:1302:2: LOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) lock_item ( COMMA_SYMBOL lock_item )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOCK_SYMBOL1185 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_lock_statement6601);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1185_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1185))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOCK_SYMBOL1185_tree, root_0));
        	        }

        	        set1186=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == TABLES_SYMBOL || LA(1) == TABLE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1186))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulelock_statementEx;
        	        }


        	        FOLLOWPUSH(FOLLOW_lock_item_in_lock_statement6612);
        	        lock_item1187=lock_item(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_item1187.tree);

        	        // MySQL.g:1302:56: ( COMMA_SYMBOL lock_item )*

        	        for (;;)
        	        {
        	            int alt422=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt422=1;
        	            	}
        	                break;

        	            }

        	            switch (alt422)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1302:57: COMMA_SYMBOL lock_item
        	        	    {
        	        	        COMMA_SYMBOL1188 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_lock_statement6615);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1188_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1188));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1188_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_lock_item_in_lock_statement6617);
        	        	        lock_item1189=lock_item(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_item1189.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop422;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop422: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1303:4: UNLOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNLOCK_SYMBOL1190 = (pANTLR3_COMMON_TOKEN) MATCHT(UNLOCK_SYMBOL, &FOLLOW_UNLOCK_SYMBOL_in_lock_statement6624);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNLOCK_SYMBOL1190_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNLOCK_SYMBOL1190))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNLOCK_SYMBOL1190_tree, root_0));
        	        }

        	        set1191=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == TABLES_SYMBOL || LA(1) == TABLE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1191))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulelock_statementEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelock_statementEx; /* Prevent compiler warnings */
    rulelock_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end lock_statement */

/**
 * $ANTLR start lock_item
 * MySQL.g:1306:1: lock_item : table_ref ( table_alias )? lock_option ;
 */
static MySQLParser_lock_item_return
lock_item(pMySQLParser ctx)
{
    MySQLParser_lock_item_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_ref_return table_ref1192;
    #undef	RETURN_TYPE_table_ref1192
    #define	RETURN_TYPE_table_ref1192 MySQLParser_table_ref_return

    MySQLParser_table_alias_return table_alias1193;
    #undef	RETURN_TYPE_table_alias1193
    #define	RETURN_TYPE_table_alias1193 MySQLParser_table_alias_return

    MySQLParser_lock_option_return lock_option1194;
    #undef	RETURN_TYPE_lock_option1194
    #define	RETURN_TYPE_lock_option1194 MySQLParser_lock_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_ref1192.tree = NULL;

    table_alias1193.tree = NULL;

    lock_option1194.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1306:10: ( table_ref ( table_alias )? lock_option )
        // MySQL.g:1307:2: table_ref ( table_alias )? lock_option
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_ref_in_lock_item6642);
            table_ref1192=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelock_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1192.tree);

            // MySQL.g:1307:12: ( table_alias )?
            {
                int alt424=2;
                {
                    int LA424_0 = LA(1);
                    if ( (LA424_0 == AS_SYMBOL || LA424_0 == BACK_TICK_QUOTED_ID || LA424_0 == EQUAL_OPERATOR || LA424_0 == IDENTIFIER))
                    {
                        alt424=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA424_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt424=1;
                    }
                    else if ( (((LA424_0 >= ASCII_SYMBOL) && (LA424_0 <= YEAR_SYMBOL))))
                    {
                        alt424=1;
                    }
                }
                switch (alt424)
                {
            	case 1:
            	    // MySQL.g:1307:12: table_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_table_alias_in_lock_item6644);
            	        table_alias1193=table_alias(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelock_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_alias1193.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_lock_option_in_lock_item6647);
            lock_option1194=lock_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelock_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_option1194.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulelock_itemEx; /* Prevent compiler warnings */
    rulelock_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end lock_item */

/**
 * $ANTLR start lock_option
 * MySQL.g:1310:1: lock_option : ( READ_SYMBOL ( LOCAL_SYMBOL )? | ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL );
 */
static MySQLParser_lock_option_return
lock_option(pMySQLParser ctx)
{
    MySQLParser_lock_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    READ_SYMBOL1195;
    pANTLR3_COMMON_TOKEN    LOCAL_SYMBOL1196;
    pANTLR3_COMMON_TOKEN    LOW_PRIORITY_SYMBOL1197;
    pANTLR3_COMMON_TOKEN    WRITE_SYMBOL1198;

    pANTLR3_BASE_TREE READ_SYMBOL1195_tree;
    pANTLR3_BASE_TREE LOCAL_SYMBOL1196_tree;
    pANTLR3_BASE_TREE LOW_PRIORITY_SYMBOL1197_tree;
    pANTLR3_BASE_TREE WRITE_SYMBOL1198_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    READ_SYMBOL1195       = NULL;
    LOCAL_SYMBOL1196       = NULL;
    LOW_PRIORITY_SYMBOL1197       = NULL;
    WRITE_SYMBOL1198       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    READ_SYMBOL1195_tree   = NULL;
    LOCAL_SYMBOL1196_tree   = NULL;
    LOW_PRIORITY_SYMBOL1197_tree   = NULL;
    WRITE_SYMBOL1198_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1310:12: ( READ_SYMBOL ( LOCAL_SYMBOL )? | ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL )

            ANTLR3_UINT32 alt427;

            alt427=2;

            switch ( LA(1) )
            {
            case READ_SYMBOL:
            	{
            		alt427=1;
            	}
                break;
            case LOW_PRIORITY_SYMBOL:
            case WRITE_SYMBOL:
            	{
            		alt427=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 427;
                EXCEPTION->state        = 0;


                goto rulelock_optionEx;

            }

            switch (alt427)
            {
        	case 1:
        	    // MySQL.g:1311:2: READ_SYMBOL ( LOCAL_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        READ_SYMBOL1195 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_lock_option6656);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1195));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1195_tree);
        	        }

        	        // MySQL.g:1311:14: ( LOCAL_SYMBOL )?
        	        {
        	            int alt425=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		alt425=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt425)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1311:14: LOCAL_SYMBOL
        	        	    {
        	        	        LOCAL_SYMBOL1196 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_lock_option6658);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        LOCAL_SYMBOL1196_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL1196));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL1196_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1312:4: ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1312:4: ( LOW_PRIORITY_SYMBOL )?
        	        {
        	            int alt426=2;
        	            switch ( LA(1) )
        	            {
        	                case LOW_PRIORITY_SYMBOL:
        	                	{
        	                		alt426=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt426)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1312:4: LOW_PRIORITY_SYMBOL
        	        	    {
        	        	        LOW_PRIORITY_SYMBOL1197 = (pANTLR3_COMMON_TOKEN) MATCHT(LOW_PRIORITY_SYMBOL, &FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_option6664);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        LOW_PRIORITY_SYMBOL1197_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOW_PRIORITY_SYMBOL1197));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LOW_PRIORITY_SYMBOL1197_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        WRITE_SYMBOL1198 = (pANTLR3_COMMON_TOKEN) MATCHT(WRITE_SYMBOL, &FOLLOW_WRITE_SYMBOL_in_lock_option6667);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WRITE_SYMBOL1198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WRITE_SYMBOL1198));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WRITE_SYMBOL1198_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelock_optionEx; /* Prevent compiler warnings */
    rulelock_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end lock_option */

/**
 * $ANTLR start xa_statement
 * MySQL.g:1315:1: xa_statement : XA_SYMBOL ^ ( ( START_SYMBOL | BEGIN_SYMBOL ) xid ( JOIN_SYMBOL | RESUME_SYMBOL )? | END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )? | PREPARE_SYMBOL xid | COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )? | ROLLBACK_SYMBOL xid | RECOVER_SYMBOL ( xa_convert )? ) ;
 */
static MySQLParser_xa_statement_return
xa_statement(pMySQLParser ctx)
{
    MySQLParser_xa_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    XA_SYMBOL1199;
    pANTLR3_COMMON_TOKEN    set1200;
    pANTLR3_COMMON_TOKEN    set1202;
    pANTLR3_COMMON_TOKEN    END_SYMBOL1203;
    pANTLR3_COMMON_TOKEN    SUSPEND_SYMBOL1205;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1206;
    pANTLR3_COMMON_TOKEN    MIGRATE_SYMBOL1207;
    pANTLR3_COMMON_TOKEN    PREPARE_SYMBOL1208;
    pANTLR3_COMMON_TOKEN    COMMIT_SYMBOL1210;
    pANTLR3_COMMON_TOKEN    ONE_SYMBOL1212;
    pANTLR3_COMMON_TOKEN    PHASE_SYMBOL1213;
    pANTLR3_COMMON_TOKEN    ROLLBACK_SYMBOL1214;
    pANTLR3_COMMON_TOKEN    RECOVER_SYMBOL1216;
    MySQLParser_xid_return xid1201;
    #undef	RETURN_TYPE_xid1201
    #define	RETURN_TYPE_xid1201 MySQLParser_xid_return

    MySQLParser_xid_return xid1204;
    #undef	RETURN_TYPE_xid1204
    #define	RETURN_TYPE_xid1204 MySQLParser_xid_return

    MySQLParser_xid_return xid1209;
    #undef	RETURN_TYPE_xid1209
    #define	RETURN_TYPE_xid1209 MySQLParser_xid_return

    MySQLParser_xid_return xid1211;
    #undef	RETURN_TYPE_xid1211
    #define	RETURN_TYPE_xid1211 MySQLParser_xid_return

    MySQLParser_xid_return xid1215;
    #undef	RETURN_TYPE_xid1215
    #define	RETURN_TYPE_xid1215 MySQLParser_xid_return

    MySQLParser_xa_convert_return xa_convert1217;
    #undef	RETURN_TYPE_xa_convert1217
    #define	RETURN_TYPE_xa_convert1217 MySQLParser_xa_convert_return

    pANTLR3_BASE_TREE XA_SYMBOL1199_tree;
    pANTLR3_BASE_TREE set1200_tree;
    pANTLR3_BASE_TREE set1202_tree;
    pANTLR3_BASE_TREE END_SYMBOL1203_tree;
    pANTLR3_BASE_TREE SUSPEND_SYMBOL1205_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1206_tree;
    pANTLR3_BASE_TREE MIGRATE_SYMBOL1207_tree;
    pANTLR3_BASE_TREE PREPARE_SYMBOL1208_tree;
    pANTLR3_BASE_TREE COMMIT_SYMBOL1210_tree;
    pANTLR3_BASE_TREE ONE_SYMBOL1212_tree;
    pANTLR3_BASE_TREE PHASE_SYMBOL1213_tree;
    pANTLR3_BASE_TREE ROLLBACK_SYMBOL1214_tree;
    pANTLR3_BASE_TREE RECOVER_SYMBOL1216_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    XA_SYMBOL1199       = NULL;
    set1200       = NULL;
    set1202       = NULL;
    END_SYMBOL1203       = NULL;
    SUSPEND_SYMBOL1205       = NULL;
    FOR_SYMBOL1206       = NULL;
    MIGRATE_SYMBOL1207       = NULL;
    PREPARE_SYMBOL1208       = NULL;
    COMMIT_SYMBOL1210       = NULL;
    ONE_SYMBOL1212       = NULL;
    PHASE_SYMBOL1213       = NULL;
    ROLLBACK_SYMBOL1214       = NULL;
    RECOVER_SYMBOL1216       = NULL;
    xid1201.tree = NULL;

    xid1204.tree = NULL;

    xid1209.tree = NULL;

    xid1211.tree = NULL;

    xid1215.tree = NULL;

    xa_convert1217.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    XA_SYMBOL1199_tree   = NULL;
    set1200_tree   = NULL;
    set1202_tree   = NULL;
    END_SYMBOL1203_tree   = NULL;
    SUSPEND_SYMBOL1205_tree   = NULL;
    FOR_SYMBOL1206_tree   = NULL;
    MIGRATE_SYMBOL1207_tree   = NULL;
    PREPARE_SYMBOL1208_tree   = NULL;
    COMMIT_SYMBOL1210_tree   = NULL;
    ONE_SYMBOL1212_tree   = NULL;
    PHASE_SYMBOL1213_tree   = NULL;
    ROLLBACK_SYMBOL1214_tree   = NULL;
    RECOVER_SYMBOL1216_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1315:13: ( XA_SYMBOL ^ ( ( START_SYMBOL | BEGIN_SYMBOL ) xid ( JOIN_SYMBOL | RESUME_SYMBOL )? | END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )? | PREPARE_SYMBOL xid | COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )? | ROLLBACK_SYMBOL xid | RECOVER_SYMBOL ( xa_convert )? ) )
        // MySQL.g:1316:2: XA_SYMBOL ^ ( ( START_SYMBOL | BEGIN_SYMBOL ) xid ( JOIN_SYMBOL | RESUME_SYMBOL )? | END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )? | PREPARE_SYMBOL xid | COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )? | ROLLBACK_SYMBOL xid | RECOVER_SYMBOL ( xa_convert )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            XA_SYMBOL1199 = (pANTLR3_COMMON_TOKEN) MATCHT(XA_SYMBOL, &FOLLOW_XA_SYMBOL_in_xa_statement6677);
            if  (HASEXCEPTION())
            {
                goto rulexa_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            XA_SYMBOL1199_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XA_SYMBOL1199))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, XA_SYMBOL1199_tree, root_0));
            }

            // MySQL.g:1317:3: ( ( START_SYMBOL | BEGIN_SYMBOL ) xid ( JOIN_SYMBOL | RESUME_SYMBOL )? | END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )? | PREPARE_SYMBOL xid | COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )? | ROLLBACK_SYMBOL xid | RECOVER_SYMBOL ( xa_convert )? )
            {
                int alt433=6;
                switch ( LA(1) )
                {
                case BEGIN_SYMBOL:
                case START_SYMBOL:
                	{
                		alt433=1;
                	}
                    break;
                case END_SYMBOL:
                	{
                		alt433=2;
                	}
                    break;
                case PREPARE_SYMBOL:
                	{
                		alt433=3;
                	}
                    break;
                case COMMIT_SYMBOL:
                	{
                		alt433=4;
                	}
                    break;
                case ROLLBACK_SYMBOL:
                	{
                		alt433=5;
                	}
                    break;
                case RECOVER_SYMBOL:
                	{
                		alt433=6;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 433;
                    EXCEPTION->state        = 0;


                    goto rulexa_statementEx;

                }

                switch (alt433)
                {
            	case 1:
            	    // MySQL.g:1318:4: ( START_SYMBOL | BEGIN_SYMBOL ) xid ( JOIN_SYMBOL | RESUME_SYMBOL )?
            	    {
            	        set1200=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == BEGIN_SYMBOL || LA(1) == START_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1200))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulexa_statementEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6695);
            	        xid1201=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1201.tree);

            	        // MySQL.g:1318:38: ( JOIN_SYMBOL | RESUME_SYMBOL )?
            	        {
            	            int alt428=2;
            	            switch ( LA(1) )
            	            {
            	                case RESUME_SYMBOL:
            	                case JOIN_SYMBOL:
            	                	{
            	                		alt428=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt428)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set1202=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == RESUME_SYMBOL || LA(1) == JOIN_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1202))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto rulexa_statementEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1319:6: END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )?
            	    {
            	        END_SYMBOL1203 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_xa_statement6711);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        END_SYMBOL1203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL1203));
            	        ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL1203_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6713);
            	        xid1204=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1204.tree);

            	        // MySQL.g:1319:21: ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )?
            	        {
            	            int alt430=2;
            	            switch ( LA(1) )
            	            {
            	                case SUSPEND_SYMBOL:
            	                	{
            	                		alt430=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt430)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1319:22: SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )?
            	        	    {
            	        	        SUSPEND_SYMBOL1205 = (pANTLR3_COMMON_TOKEN) MATCHT(SUSPEND_SYMBOL, &FOLLOW_SUSPEND_SYMBOL_in_xa_statement6716);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SUSPEND_SYMBOL1205_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUSPEND_SYMBOL1205));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SUSPEND_SYMBOL1205_tree);
            	        	        }

            	        	        // MySQL.g:1319:37: ( FOR_SYMBOL MIGRATE_SYMBOL )?
            	        	        {
            	        	            int alt429=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case FOR_SYMBOL:
            	        	                	{
            	        	                		alt429=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt429)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1319:38: FOR_SYMBOL MIGRATE_SYMBOL
            	        	        	    {
            	        	        	        FOR_SYMBOL1206 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_xa_statement6719);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulexa_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        FOR_SYMBOL1206_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1206));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1206_tree);
            	        	        	        }

            	        	        	        MIGRATE_SYMBOL1207 = (pANTLR3_COMMON_TOKEN) MATCHT(MIGRATE_SYMBOL, &FOLLOW_MIGRATE_SYMBOL_in_xa_statement6721);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulexa_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        MIGRATE_SYMBOL1207_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIGRATE_SYMBOL1207));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MIGRATE_SYMBOL1207_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1320:6: PREPARE_SYMBOL xid
            	    {
            	        PREPARE_SYMBOL1208 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_xa_statement6732);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PREPARE_SYMBOL1208_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREPARE_SYMBOL1208));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PREPARE_SYMBOL1208_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6734);
            	        xid1209=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1209.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1321:6: COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )?
            	    {
            	        COMMIT_SYMBOL1210 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMIT_SYMBOL, &FOLLOW_COMMIT_SYMBOL_in_xa_statement6741);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMIT_SYMBOL1210_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMIT_SYMBOL1210));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMIT_SYMBOL1210_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6743);
            	        xid1211=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1211.tree);

            	        // MySQL.g:1321:24: ( ONE_SYMBOL PHASE_SYMBOL )?
            	        {
            	            int alt431=2;
            	            switch ( LA(1) )
            	            {
            	                case ONE_SYMBOL:
            	                	{
            	                		alt431=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt431)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1321:25: ONE_SYMBOL PHASE_SYMBOL
            	        	    {
            	        	        ONE_SYMBOL1212 = (pANTLR3_COMMON_TOKEN) MATCHT(ONE_SYMBOL, &FOLLOW_ONE_SYMBOL_in_xa_statement6746);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ONE_SYMBOL1212_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ONE_SYMBOL1212));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ONE_SYMBOL1212_tree);
            	        	        }

            	        	        PHASE_SYMBOL1213 = (pANTLR3_COMMON_TOKEN) MATCHT(PHASE_SYMBOL, &FOLLOW_PHASE_SYMBOL_in_xa_statement6748);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        PHASE_SYMBOL1213_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PHASE_SYMBOL1213));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, PHASE_SYMBOL1213_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1322:6: ROLLBACK_SYMBOL xid
            	    {
            	        ROLLBACK_SYMBOL1214 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLBACK_SYMBOL, &FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6757);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ROLLBACK_SYMBOL1214_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROLLBACK_SYMBOL1214));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ROLLBACK_SYMBOL1214_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6759);
            	        xid1215=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1215.tree);

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1323:6: RECOVER_SYMBOL ( xa_convert )?
            	    {
            	        RECOVER_SYMBOL1216 = (pANTLR3_COMMON_TOKEN) MATCHT(RECOVER_SYMBOL, &FOLLOW_RECOVER_SYMBOL_in_xa_statement6766);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        RECOVER_SYMBOL1216_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RECOVER_SYMBOL1216));
            	        ADAPTOR->addChild(ADAPTOR, root_0, RECOVER_SYMBOL1216_tree);
            	        }

            	        // MySQL.g:1323:21: ( xa_convert )?
            	        {
            	            int alt432=2;
            	            {
            	                int LA432_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50704)) && (LA432_0 == CONVERT_SYMBOL))
            	                {
            	                    alt432=1;
            	                }
            	            }
            	            switch (alt432)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1323:21: xa_convert
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_xa_convert_in_xa_statement6768);
            	        	        xa_convert1217=xa_convert(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xa_convert1217.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulexa_statementEx; /* Prevent compiler warnings */
    rulexa_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end xa_statement */

/**
 * $ANTLR start xa_convert
 * MySQL.g:1327:1: xa_convert :{...}? => CONVERT_SYMBOL XID_SYMBOL ;
 */
static MySQLParser_xa_convert_return
xa_convert(pMySQLParser ctx)
{
    MySQLParser_xa_convert_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CONVERT_SYMBOL1218;
    pANTLR3_COMMON_TOKEN    XID_SYMBOL1219;

    pANTLR3_BASE_TREE CONVERT_SYMBOL1218_tree;
    pANTLR3_BASE_TREE XID_SYMBOL1219_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONVERT_SYMBOL1218       = NULL;
    XID_SYMBOL1219       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONVERT_SYMBOL1218_tree   = NULL;
    XID_SYMBOL1219_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1327:11: ({...}? => CONVERT_SYMBOL XID_SYMBOL )
        // MySQL.g:1328:2: {...}? => CONVERT_SYMBOL XID_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50704)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50704";
                    EXCEPTION->ruleName	 = (void *)"xa_convert";


            }

            CONVERT_SYMBOL1218 = (pANTLR3_COMMON_TOKEN) MATCHT(CONVERT_SYMBOL, &FOLLOW_CONVERT_SYMBOL_in_xa_convert6786);
            if  (HASEXCEPTION())
            {
                goto rulexa_convertEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CONVERT_SYMBOL1218_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONVERT_SYMBOL1218));
            ADAPTOR->addChild(ADAPTOR, root_0, CONVERT_SYMBOL1218_tree);
            }

            XID_SYMBOL1219 = (pANTLR3_COMMON_TOKEN) MATCHT(XID_SYMBOL, &FOLLOW_XID_SYMBOL_in_xa_convert6788);
            if  (HASEXCEPTION())
            {
                goto rulexa_convertEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            XID_SYMBOL1219_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XID_SYMBOL1219));
            ADAPTOR->addChild(ADAPTOR, root_0, XID_SYMBOL1219_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulexa_convertEx; /* Prevent compiler warnings */
    rulexa_convertEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end xa_convert */

/**
 * $ANTLR start xid
 * MySQL.g:1331:1: xid : text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )? -> ^( XA_ID_TOKEN text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )? ) ;
 */
static MySQLParser_xid_return
xid(pMySQLParser ctx)
{
    MySQLParser_xid_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1221;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1223;
    pANTLR3_COMMON_TOKEN    INTEGER1224;
    MySQLParser_text_string_return text_string1220;
    #undef	RETURN_TYPE_text_string1220
    #define	RETURN_TYPE_text_string1220 MySQLParser_text_string_return

    MySQLParser_text_string_return text_string1222;
    #undef	RETURN_TYPE_text_string1222
    #define	RETURN_TYPE_text_string1222 MySQLParser_text_string_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1221_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1223_tree;
    pANTLR3_BASE_TREE INTEGER1224_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_INTEGER;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_text_string;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1221       = NULL;
    COMMA_SYMBOL1223       = NULL;
    INTEGER1224       = NULL;
    text_string1220.tree = NULL;

    text_string1222.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1221_tree   = NULL;
    COMMA_SYMBOL1223_tree   = NULL;
    INTEGER1224_tree   = NULL;

    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_INTEGER   = NULL;
    #define CREATE_stream_INTEGER  if (stream_INTEGER == NULL) {stream_INTEGER = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token INTEGER"); } 
    stream_text_string   = NULL;
    #define CREATE_stream_text_string  if (stream_text_string == NULL) {stream_text_string = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule text_string"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1331:4: ( text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )? -> ^( XA_ID_TOKEN text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )? ) )
        // MySQL.g:1332:2: text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )?
        {
            FOLLOWPUSH(FOLLOW_text_string_in_xid6797);
            text_string1220=text_string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulexidEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_text_string; stream_text_string->add(stream_text_string, text_string1220.tree, NULL); }

            // MySQL.g:1332:14: ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )?
            {
                int alt435=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		alt435=1;
                    	}
                        break;
                }

                switch (alt435)
                {
            	case 1:
            	    // MySQL.g:1332:15: COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )?
            	    {
            	        COMMA_SYMBOL1221 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_xid6800);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexidEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1221, NULL); }


            	        FOLLOWPUSH(FOLLOW_text_string_in_xid6802);
            	        text_string1222=text_string(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexidEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_text_string; stream_text_string->add(stream_text_string, text_string1222.tree, NULL); }

            	        // MySQL.g:1332:40: ( COMMA_SYMBOL INTEGER )?
            	        {
            	            int alt434=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt434=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt434)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1332:41: COMMA_SYMBOL INTEGER
            	        	    {
            	        	        COMMA_SYMBOL1223 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_xid6805);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexidEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }
            	        	         
            	        	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1223, NULL); }


            	        	        INTEGER1224 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_xid6807);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexidEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }
            	        	         
            	        	        if ( BACKTRACKING==0 ) { CREATE_stream_INTEGER; stream_INTEGER->add(stream_INTEGER, INTEGER1224, NULL); }


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            /* AST REWRITE
             * elements          : text_string, COMMA_SYMBOL, INTEGER, text_string, COMMA_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1333:3: -> ^( XA_ID_TOKEN text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )? )
            	{
            	    // MySQL.g:1333:6: ^( XA_ID_TOKEN text_string ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )? )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, XA_ID_TOKEN, (pANTLR3_UINT8)"XA_ID_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_text_string == NULL ? NULL : stream_text_string->nextTree(stream_text_string));

            	        // MySQL.g:1333:32: ( COMMA_SYMBOL text_string ( COMMA_SYMBOL INTEGER )? )?
            	        {
            	        	if ( (stream_text_string != NULL && stream_text_string->hasNext(stream_text_string)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_INTEGER != NULL && stream_INTEGER->hasNext(stream_INTEGER)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_text_string == NULL ? NULL : stream_text_string->nextTree(stream_text_string));

            	        		// MySQL.g:1333:58: ( COMMA_SYMBOL INTEGER )?
            	        		{
            	        			if ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_INTEGER != NULL && stream_INTEGER->hasNext(stream_INTEGER))  )
            	        			{
            	        				ADAPTOR->addChild(ADAPTOR, root_1, 
            	        				stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        				);

            	        				ADAPTOR->addChild(ADAPTOR, root_1, 
            	        				stream_INTEGER == NULL ? NULL : stream_INTEGER->nextNode(stream_INTEGER)
            	        				);

            	        			}
            	        			if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        			if ( stream_INTEGER != NULL) stream_INTEGER->reset(stream_INTEGER);

            	        		}

            	        	}
            	        	if ( stream_text_string != NULL) stream_text_string->reset(stream_text_string);
            	        	if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if ( stream_INTEGER != NULL) stream_INTEGER->reset(stream_INTEGER);
            	        	if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulexidEx; /* Prevent compiler warnings */
    rulexidEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_INTEGER != NULL) stream_INTEGER->free(stream_INTEGER);
        if (stream_text_string != NULL) stream_text_string->free(stream_text_string);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end xid */

/**
 * $ANTLR start replication_statement
 * MySQL.g:1338:1: replication_statement : ( PURGE_SYMBOL ^ ( BINARY_SYMBOL | MASTER_SYMBOL ) LOGS_SYMBOL ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression ) | change_master |{...}? => change_replication | start_slave | stop_slave |{...}? => replication_load );
 */
static MySQLParser_replication_statement_return
replication_statement(pMySQLParser ctx)
{
    MySQLParser_replication_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PURGE_SYMBOL1225;
    pANTLR3_COMMON_TOKEN    set1226;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1227;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1228;
    pANTLR3_COMMON_TOKEN    BEFORE_SYMBOL1230;
    MySQLParser_string_literal_return string_literal1229;
    #undef	RETURN_TYPE_string_literal1229
    #define	RETURN_TYPE_string_literal1229 MySQLParser_string_literal_return

    MySQLParser_expression_return expression1231;
    #undef	RETURN_TYPE_expression1231
    #define	RETURN_TYPE_expression1231 MySQLParser_expression_return

    MySQLParser_change_master_return change_master1232;
    #undef	RETURN_TYPE_change_master1232
    #define	RETURN_TYPE_change_master1232 MySQLParser_change_master_return

    MySQLParser_change_replication_return change_replication1233;
    #undef	RETURN_TYPE_change_replication1233
    #define	RETURN_TYPE_change_replication1233 MySQLParser_change_replication_return

    MySQLParser_start_slave_return start_slave1234;
    #undef	RETURN_TYPE_start_slave1234
    #define	RETURN_TYPE_start_slave1234 MySQLParser_start_slave_return

    MySQLParser_stop_slave_return stop_slave1235;
    #undef	RETURN_TYPE_stop_slave1235
    #define	RETURN_TYPE_stop_slave1235 MySQLParser_stop_slave_return

    MySQLParser_replication_load_return replication_load1236;
    #undef	RETURN_TYPE_replication_load1236
    #define	RETURN_TYPE_replication_load1236 MySQLParser_replication_load_return

    pANTLR3_BASE_TREE PURGE_SYMBOL1225_tree;
    pANTLR3_BASE_TREE set1226_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1227_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1228_tree;
    pANTLR3_BASE_TREE BEFORE_SYMBOL1230_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PURGE_SYMBOL1225       = NULL;
    set1226       = NULL;
    LOGS_SYMBOL1227       = NULL;
    TO_SYMBOL1228       = NULL;
    BEFORE_SYMBOL1230       = NULL;
    string_literal1229.tree = NULL;

    expression1231.tree = NULL;

    change_master1232.tree = NULL;

    change_replication1233.tree = NULL;

    start_slave1234.tree = NULL;

    stop_slave1235.tree = NULL;

    replication_load1236.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PURGE_SYMBOL1225_tree   = NULL;
    set1226_tree   = NULL;
    LOGS_SYMBOL1227_tree   = NULL;
    TO_SYMBOL1228_tree   = NULL;
    BEFORE_SYMBOL1230_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1338:22: ( PURGE_SYMBOL ^ ( BINARY_SYMBOL | MASTER_SYMBOL ) LOGS_SYMBOL ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression ) | change_master |{...}? => change_replication | start_slave | stop_slave |{...}? => replication_load )

            ANTLR3_UINT32 alt437;

            alt437=6;

            {
                int LA437_0 = LA(1);
                if ( (LA437_0 == PURGE_SYMBOL))
                {
                    alt437=1;
                }
                else if ( (LA437_0 == CHANGE_SYMBOL))
                {
                    {
                        int LA437_2 = LA(2);
                        if ( (LA437_2 == MASTER_SYMBOL))
                        {
                            alt437=2;
                        }
                        else if ( ((SERVER_VERSION >= 50700)) && (LA437_2 == REPLICATION_SYMBOL))
                        {
                            alt437=3;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 437;
                            EXCEPTION->state        = 2;


                            goto rulereplication_statementEx;

                        }
                    }
                }
                else if ( (LA437_0 == START_SYMBOL))
                {
                    alt437=4;
                }
                else if ( (LA437_0 == STOP_SYMBOL))
                {
                    alt437=5;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA437_0 == LOAD_SYMBOL))
                {
                    alt437=6;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 437;
                    EXCEPTION->state        = 0;


                    goto rulereplication_statementEx;

                }
            }
            switch (alt437)
            {
        	case 1:
        	    // MySQL.g:1339:2: PURGE_SYMBOL ^ ( BINARY_SYMBOL | MASTER_SYMBOL ) LOGS_SYMBOL ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PURGE_SYMBOL1225 = (pANTLR3_COMMON_TOKEN) MATCHT(PURGE_SYMBOL, &FOLLOW_PURGE_SYMBOL_in_replication_statement6846);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PURGE_SYMBOL1225_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PURGE_SYMBOL1225))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PURGE_SYMBOL1225_tree, root_0));
        	        }

        	        set1226=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == MASTER_SYMBOL || LA(1) == BINARY_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1226))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulereplication_statementEx;
        	        }


        	        LOGS_SYMBOL1227 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_replication_statement6857);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOGS_SYMBOL1227_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1227));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1227_tree);
        	        }

        	        // MySQL.g:1339:60: ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression )
        	        {
        	            int alt436=2;
        	            switch ( LA(1) )
        	            {
        	            case TO_SYMBOL:
        	            	{
        	            		alt436=1;
        	            	}
        	                break;
        	            case BEFORE_SYMBOL:
        	            	{
        	            		alt436=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 436;
        	                EXCEPTION->state        = 0;


        	                goto rulereplication_statementEx;

        	            }

        	            switch (alt436)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1339:61: TO_SYMBOL string_literal
        	        	    {
        	        	        TO_SYMBOL1228 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_replication_statement6860);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TO_SYMBOL1228_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1228));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1228_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_replication_statement6862);
        	        	        string_literal1229=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1229.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1339:88: BEFORE_SYMBOL expression
        	        	    {
        	        	        BEFORE_SYMBOL1230 = (pANTLR3_COMMON_TOKEN) MATCHT(BEFORE_SYMBOL, &FOLLOW_BEFORE_SYMBOL_in_replication_statement6866);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BEFORE_SYMBOL1230_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEFORE_SYMBOL1230));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BEFORE_SYMBOL1230_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_replication_statement6868);
        	        	        expression1231=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1231.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1340:4: change_master
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_change_master_in_replication_statement6874);
        	        change_master1232=change_master(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_master1232.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1341:4: {...}? => change_replication
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50700)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
        	                EXCEPTION->ruleName	 = (void *)"replication_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_change_replication_in_replication_statement6883);
        	        change_replication1233=change_replication(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_replication1233.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1346:4: start_slave
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_start_slave_in_replication_statement6891);
        	        start_slave1234=start_slave(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, start_slave1234.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1347:4: stop_slave
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_stop_slave_in_replication_statement6896);
        	        stop_slave1235=stop_slave(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, stop_slave1235.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1348:4: {...}? => replication_load
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION < 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50500";
        	                EXCEPTION->ruleName	 = (void *)"replication_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_replication_load_in_replication_statement6905);
        	        replication_load1236=replication_load(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, replication_load1236.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulereplication_statementEx; /* Prevent compiler warnings */
    rulereplication_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end replication_statement */

/**
 * $ANTLR start replication_load
 * MySQL.g:1351:1: replication_load : LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_ref ) FROM_SYMBOL MASTER_SYMBOL ;
 */
static MySQLParser_replication_load_return
replication_load(pMySQLParser ctx)
{
    MySQLParser_replication_load_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOAD_SYMBOL1237;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL1238;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1239;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1241;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1242;
    MySQLParser_table_ref_return table_ref1240;
    #undef	RETURN_TYPE_table_ref1240
    #define	RETURN_TYPE_table_ref1240 MySQLParser_table_ref_return

    pANTLR3_BASE_TREE LOAD_SYMBOL1237_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL1238_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1239_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1241_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1242_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOAD_SYMBOL1237       = NULL;
    DATA_SYMBOL1238       = NULL;
    TABLE_SYMBOL1239       = NULL;
    FROM_SYMBOL1241       = NULL;
    MASTER_SYMBOL1242       = NULL;
    table_ref1240.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOAD_SYMBOL1237_tree   = NULL;
    DATA_SYMBOL1238_tree   = NULL;
    TABLE_SYMBOL1239_tree   = NULL;
    FROM_SYMBOL1241_tree   = NULL;
    MASTER_SYMBOL1242_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1351:17: ( LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_ref ) FROM_SYMBOL MASTER_SYMBOL )
        // MySQL.g:1352:2: LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_ref ) FROM_SYMBOL MASTER_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOAD_SYMBOL1237 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_replication_load6914);
            if  (HASEXCEPTION())
            {
                goto rulereplication_loadEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOAD_SYMBOL1237_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOAD_SYMBOL1237))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOAD_SYMBOL1237_tree, root_0));
            }

            // MySQL.g:1352:15: ( DATA_SYMBOL | TABLE_SYMBOL table_ref )
            {
                int alt438=2;
                switch ( LA(1) )
                {
                case DATA_SYMBOL:
                	{
                		alt438=1;
                	}
                    break;
                case TABLE_SYMBOL:
                	{
                		alt438=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 438;
                    EXCEPTION->state        = 0;


                    goto rulereplication_loadEx;

                }

                switch (alt438)
                {
            	case 1:
            	    // MySQL.g:1352:16: DATA_SYMBOL
            	    {
            	        DATA_SYMBOL1238 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_replication_load6918);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplication_loadEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL1238_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL1238));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL1238_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1352:30: TABLE_SYMBOL table_ref
            	    {
            	        TABLE_SYMBOL1239 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_replication_load6922);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplication_loadEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLE_SYMBOL1239_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1239));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1239_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_replication_load6924);
            	        table_ref1240=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplication_loadEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1240.tree);

            	    }
            	    break;

                }
            }

            FROM_SYMBOL1241 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_replication_load6927);
            if  (HASEXCEPTION())
            {
                goto rulereplication_loadEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FROM_SYMBOL1241_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1241));
            ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1241_tree);
            }

            MASTER_SYMBOL1242 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_replication_load6929);
            if  (HASEXCEPTION())
            {
                goto rulereplication_loadEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MASTER_SYMBOL1242_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1242));
            ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1242_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulereplication_loadEx; /* Prevent compiler warnings */
    rulereplication_loadEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end replication_load */

/**
 * $ANTLR start change_master
 * MySQL.g:1355:1: change_master : CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options ( channel )? ;
 */
static MySQLParser_change_master_return
change_master(pMySQLParser ctx)
{
    MySQLParser_change_master_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHANGE_SYMBOL1243;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1244;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1245;
    MySQLParser_change_master_options_return change_master_options1246;
    #undef	RETURN_TYPE_change_master_options1246
    #define	RETURN_TYPE_change_master_options1246 MySQLParser_change_master_options_return

    MySQLParser_channel_return channel1247;
    #undef	RETURN_TYPE_channel1247
    #define	RETURN_TYPE_channel1247 MySQLParser_channel_return

    pANTLR3_BASE_TREE CHANGE_SYMBOL1243_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1244_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1245_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHANGE_SYMBOL1243       = NULL;
    MASTER_SYMBOL1244       = NULL;
    TO_SYMBOL1245       = NULL;
    change_master_options1246.tree = NULL;

    channel1247.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHANGE_SYMBOL1243_tree   = NULL;
    MASTER_SYMBOL1244_tree   = NULL;
    TO_SYMBOL1245_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1355:14: ( CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options ( channel )? )
        // MySQL.g:1356:2: CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options ( channel )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CHANGE_SYMBOL1243 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGE_SYMBOL, &FOLLOW_CHANGE_SYMBOL_in_change_master6938);
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CHANGE_SYMBOL1243_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGE_SYMBOL1243))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHANGE_SYMBOL1243_tree, root_0));
            }

            MASTER_SYMBOL1244 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_change_master6941);
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MASTER_SYMBOL1244_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1244));
            ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1244_tree);
            }

            TO_SYMBOL1245 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_change_master6943);
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1245_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1245));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1245_tree);
            }

            FOLLOWPUSH(FOLLOW_change_master_options_in_change_master6945);
            change_master_options1246=change_master_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_master_options1246.tree);

            // MySQL.g:1356:63: ( channel )?
            {
                int alt439=2;
                {
                    int LA439_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50706)) && (LA439_0 == FROM_SYMBOL))
                    {
                        alt439=1;
                    }
                }
                switch (alt439)
                {
            	case 1:
            	    // MySQL.g:1356:63: channel
            	    {
            	        FOLLOWPUSH(FOLLOW_channel_in_change_master6947);
            	        channel1247=channel(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulechange_masterEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1247.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulechange_masterEx; /* Prevent compiler warnings */
    rulechange_masterEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end change_master */

/**
 * $ANTLR start change_master_options
 * MySQL.g:1359:1: change_master_options : master_option ( COMMA_SYMBOL master_option )* -> ^( CHANGE_MASTER_OPTIONS_TOKEN master_option ( COMMA_SYMBOL master_option )* ) ;
 */
static MySQLParser_change_master_options_return
change_master_options(pMySQLParser ctx)
{
    MySQLParser_change_master_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1249;
    MySQLParser_master_option_return master_option1248;
    #undef	RETURN_TYPE_master_option1248
    #define	RETURN_TYPE_master_option1248 MySQLParser_master_option_return

    MySQLParser_master_option_return master_option1250;
    #undef	RETURN_TYPE_master_option1250
    #define	RETURN_TYPE_master_option1250 MySQLParser_master_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1249_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_master_option;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1249       = NULL;
    master_option1248.tree = NULL;

    master_option1250.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1249_tree   = NULL;

    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_master_option   = NULL;
    #define CREATE_stream_master_option  if (stream_master_option == NULL) {stream_master_option = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule master_option"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1359:22: ( master_option ( COMMA_SYMBOL master_option )* -> ^( CHANGE_MASTER_OPTIONS_TOKEN master_option ( COMMA_SYMBOL master_option )* ) )
        // MySQL.g:1360:2: master_option ( COMMA_SYMBOL master_option )*
        {
            FOLLOWPUSH(FOLLOW_master_option_in_change_master_options6957);
            master_option1248=master_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulechange_master_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_master_option; stream_master_option->add(stream_master_option, master_option1248.tree, NULL); }

            // MySQL.g:1360:16: ( COMMA_SYMBOL master_option )*

            for (;;)
            {
                int alt440=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt440=1;
                	}
                    break;

                }

                switch (alt440)
                {
            	case 1:
            	    // MySQL.g:1360:17: COMMA_SYMBOL master_option
            	    {
            	        COMMA_SYMBOL1249 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_change_master_options6960);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulechange_master_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1249, NULL); }


            	        FOLLOWPUSH(FOLLOW_master_option_in_change_master_options6962);
            	        master_option1250=master_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulechange_master_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_master_option; stream_master_option->add(stream_master_option, master_option1250.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop440;	/* break out of the loop */
            	    break;
                }
            }
            loop440: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, master_option, master_option
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1360:46: -> ^( CHANGE_MASTER_OPTIONS_TOKEN master_option ( COMMA_SYMBOL master_option )* )
            	{
            	    // MySQL.g:1360:49: ^( CHANGE_MASTER_OPTIONS_TOKEN master_option ( COMMA_SYMBOL master_option )* )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, CHANGE_MASTER_OPTIONS_TOKEN, (pANTLR3_UINT8)"CHANGE_MASTER_OPTIONS_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_master_option == NULL ? NULL : stream_master_option->nextTree(stream_master_option));

            	        // MySQL.g:1360:93: ( COMMA_SYMBOL master_option )*
            	        {
            	        	while ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_master_option != NULL && stream_master_option->hasNext(stream_master_option))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_master_option == NULL ? NULL : stream_master_option->nextTree(stream_master_option));

            	        	}
            	        	if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if (stream_master_option != NULL) stream_master_option->reset(stream_master_option);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulechange_master_optionsEx; /* Prevent compiler warnings */
    rulechange_master_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_master_option != NULL) stream_master_option->free(stream_master_option);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end change_master_options */

/**
 * $ANTLR start master_option
 * MySQL.g:1363:1: master_option : ( MASTER_BIND_SYMBOL EQUAL_OPERATOR string_literal | MASTER_HOST_SYMBOL EQUAL_OPERATOR string_literal | MASTER_USER_SYMBOL EQUAL_OPERATOR string_literal | MASTER_PASSWORD_SYMBOL EQUAL_OPERATOR string_literal | MASTER_PORT_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_CONNECT_RETRY_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_RETRY_COUNT_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_DELAY_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_HEARTBEAT_PERIOD_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_AUTO_POSITION_SYMBOL EQUAL_OPERATOR INTEGER | RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_SSL_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_SSL_CA_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CAPATH_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CERT_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CRL_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CRLPATH_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_KEY_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CIPHER_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL EQUAL_OPERATOR INTEGER | IGNORE_SERVER_IDS_SYMBOL EQUAL_OPERATOR server_id_list );
 */
static MySQLParser_master_option_return
master_option(pMySQLParser ctx)
{
    MySQLParser_master_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MASTER_BIND_SYMBOL1251;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1252;
    pANTLR3_COMMON_TOKEN    MASTER_HOST_SYMBOL1254;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1255;
    pANTLR3_COMMON_TOKEN    MASTER_USER_SYMBOL1257;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1258;
    pANTLR3_COMMON_TOKEN    MASTER_PASSWORD_SYMBOL1260;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1261;
    pANTLR3_COMMON_TOKEN    MASTER_PORT_SYMBOL1263;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1264;
    pANTLR3_COMMON_TOKEN    INTEGER1265;
    pANTLR3_COMMON_TOKEN    MASTER_CONNECT_RETRY_SYMBOL1266;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1267;
    pANTLR3_COMMON_TOKEN    INTEGER1268;
    pANTLR3_COMMON_TOKEN    MASTER_RETRY_COUNT_SYMBOL1269;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1270;
    pANTLR3_COMMON_TOKEN    INTEGER1271;
    pANTLR3_COMMON_TOKEN    MASTER_DELAY_SYMBOL1272;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1273;
    pANTLR3_COMMON_TOKEN    INTEGER1274;
    pANTLR3_COMMON_TOKEN    MASTER_HEARTBEAT_PERIOD_SYMBOL1275;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1276;
    pANTLR3_COMMON_TOKEN    INTEGER1277;
    pANTLR3_COMMON_TOKEN    MASTER_LOG_FILE_SYMBOL1278;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1279;
    pANTLR3_COMMON_TOKEN    MASTER_LOG_POS_SYMBOL1281;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1282;
    pANTLR3_COMMON_TOKEN    INTEGER1283;
    pANTLR3_COMMON_TOKEN    MASTER_AUTO_POSITION_SYMBOL1284;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1285;
    pANTLR3_COMMON_TOKEN    INTEGER1286;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_FILE_SYMBOL1287;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1288;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_POS_SYMBOL1290;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1291;
    pANTLR3_COMMON_TOKEN    INTEGER1292;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_SYMBOL1293;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1294;
    pANTLR3_COMMON_TOKEN    INTEGER1295;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CA_SYMBOL1296;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1297;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CAPATH_SYMBOL1299;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1300;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CERT_SYMBOL1302;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1303;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CRL_SYMBOL1305;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1306;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CRLPATH_SYMBOL1308;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1309;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_KEY_SYMBOL1311;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1312;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CIPHER_SYMBOL1314;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1315;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1318;
    pANTLR3_COMMON_TOKEN    INTEGER1319;
    pANTLR3_COMMON_TOKEN    IGNORE_SERVER_IDS_SYMBOL1320;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1321;
    MySQLParser_string_literal_return string_literal1253;
    #undef	RETURN_TYPE_string_literal1253
    #define	RETURN_TYPE_string_literal1253 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1256;
    #undef	RETURN_TYPE_string_literal1256
    #define	RETURN_TYPE_string_literal1256 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1259;
    #undef	RETURN_TYPE_string_literal1259
    #define	RETURN_TYPE_string_literal1259 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1262;
    #undef	RETURN_TYPE_string_literal1262
    #define	RETURN_TYPE_string_literal1262 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1280;
    #undef	RETURN_TYPE_string_literal1280
    #define	RETURN_TYPE_string_literal1280 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1289;
    #undef	RETURN_TYPE_string_literal1289
    #define	RETURN_TYPE_string_literal1289 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1298;
    #undef	RETURN_TYPE_string_literal1298
    #define	RETURN_TYPE_string_literal1298 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1301;
    #undef	RETURN_TYPE_string_literal1301
    #define	RETURN_TYPE_string_literal1301 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1304;
    #undef	RETURN_TYPE_string_literal1304
    #define	RETURN_TYPE_string_literal1304 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1307;
    #undef	RETURN_TYPE_string_literal1307
    #define	RETURN_TYPE_string_literal1307 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1310;
    #undef	RETURN_TYPE_string_literal1310
    #define	RETURN_TYPE_string_literal1310 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1313;
    #undef	RETURN_TYPE_string_literal1313
    #define	RETURN_TYPE_string_literal1313 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1316;
    #undef	RETURN_TYPE_string_literal1316
    #define	RETURN_TYPE_string_literal1316 MySQLParser_string_literal_return

    MySQLParser_server_id_list_return server_id_list1322;
    #undef	RETURN_TYPE_server_id_list1322
    #define	RETURN_TYPE_server_id_list1322 MySQLParser_server_id_list_return

    pANTLR3_BASE_TREE MASTER_BIND_SYMBOL1251_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1252_tree;
    pANTLR3_BASE_TREE MASTER_HOST_SYMBOL1254_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1255_tree;
    pANTLR3_BASE_TREE MASTER_USER_SYMBOL1257_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1258_tree;
    pANTLR3_BASE_TREE MASTER_PASSWORD_SYMBOL1260_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1261_tree;
    pANTLR3_BASE_TREE MASTER_PORT_SYMBOL1263_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1264_tree;
    pANTLR3_BASE_TREE INTEGER1265_tree;
    pANTLR3_BASE_TREE MASTER_CONNECT_RETRY_SYMBOL1266_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1267_tree;
    pANTLR3_BASE_TREE INTEGER1268_tree;
    pANTLR3_BASE_TREE MASTER_RETRY_COUNT_SYMBOL1269_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1270_tree;
    pANTLR3_BASE_TREE INTEGER1271_tree;
    pANTLR3_BASE_TREE MASTER_DELAY_SYMBOL1272_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1273_tree;
    pANTLR3_BASE_TREE INTEGER1274_tree;
    pANTLR3_BASE_TREE MASTER_HEARTBEAT_PERIOD_SYMBOL1275_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1276_tree;
    pANTLR3_BASE_TREE INTEGER1277_tree;
    pANTLR3_BASE_TREE MASTER_LOG_FILE_SYMBOL1278_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1279_tree;
    pANTLR3_BASE_TREE MASTER_LOG_POS_SYMBOL1281_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1282_tree;
    pANTLR3_BASE_TREE INTEGER1283_tree;
    pANTLR3_BASE_TREE MASTER_AUTO_POSITION_SYMBOL1284_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1285_tree;
    pANTLR3_BASE_TREE INTEGER1286_tree;
    pANTLR3_BASE_TREE RELAY_LOG_FILE_SYMBOL1287_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1288_tree;
    pANTLR3_BASE_TREE RELAY_LOG_POS_SYMBOL1290_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1291_tree;
    pANTLR3_BASE_TREE INTEGER1292_tree;
    pANTLR3_BASE_TREE MASTER_SSL_SYMBOL1293_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1294_tree;
    pANTLR3_BASE_TREE INTEGER1295_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CA_SYMBOL1296_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1297_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CAPATH_SYMBOL1299_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1300_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CERT_SYMBOL1302_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1303_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CRL_SYMBOL1305_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1306_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CRLPATH_SYMBOL1308_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1309_tree;
    pANTLR3_BASE_TREE MASTER_SSL_KEY_SYMBOL1311_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1312_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CIPHER_SYMBOL1314_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1315_tree;
    pANTLR3_BASE_TREE MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1318_tree;
    pANTLR3_BASE_TREE INTEGER1319_tree;
    pANTLR3_BASE_TREE IGNORE_SERVER_IDS_SYMBOL1320_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1321_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_BIND_SYMBOL1251       = NULL;
    EQUAL_OPERATOR1252       = NULL;
    MASTER_HOST_SYMBOL1254       = NULL;
    EQUAL_OPERATOR1255       = NULL;
    MASTER_USER_SYMBOL1257       = NULL;
    EQUAL_OPERATOR1258       = NULL;
    MASTER_PASSWORD_SYMBOL1260       = NULL;
    EQUAL_OPERATOR1261       = NULL;
    MASTER_PORT_SYMBOL1263       = NULL;
    EQUAL_OPERATOR1264       = NULL;
    INTEGER1265       = NULL;
    MASTER_CONNECT_RETRY_SYMBOL1266       = NULL;
    EQUAL_OPERATOR1267       = NULL;
    INTEGER1268       = NULL;
    MASTER_RETRY_COUNT_SYMBOL1269       = NULL;
    EQUAL_OPERATOR1270       = NULL;
    INTEGER1271       = NULL;
    MASTER_DELAY_SYMBOL1272       = NULL;
    EQUAL_OPERATOR1273       = NULL;
    INTEGER1274       = NULL;
    MASTER_HEARTBEAT_PERIOD_SYMBOL1275       = NULL;
    EQUAL_OPERATOR1276       = NULL;
    INTEGER1277       = NULL;
    MASTER_LOG_FILE_SYMBOL1278       = NULL;
    EQUAL_OPERATOR1279       = NULL;
    MASTER_LOG_POS_SYMBOL1281       = NULL;
    EQUAL_OPERATOR1282       = NULL;
    INTEGER1283       = NULL;
    MASTER_AUTO_POSITION_SYMBOL1284       = NULL;
    EQUAL_OPERATOR1285       = NULL;
    INTEGER1286       = NULL;
    RELAY_LOG_FILE_SYMBOL1287       = NULL;
    EQUAL_OPERATOR1288       = NULL;
    RELAY_LOG_POS_SYMBOL1290       = NULL;
    EQUAL_OPERATOR1291       = NULL;
    INTEGER1292       = NULL;
    MASTER_SSL_SYMBOL1293       = NULL;
    EQUAL_OPERATOR1294       = NULL;
    INTEGER1295       = NULL;
    MASTER_SSL_CA_SYMBOL1296       = NULL;
    EQUAL_OPERATOR1297       = NULL;
    MASTER_SSL_CAPATH_SYMBOL1299       = NULL;
    EQUAL_OPERATOR1300       = NULL;
    MASTER_SSL_CERT_SYMBOL1302       = NULL;
    EQUAL_OPERATOR1303       = NULL;
    MASTER_SSL_CRL_SYMBOL1305       = NULL;
    EQUAL_OPERATOR1306       = NULL;
    MASTER_SSL_CRLPATH_SYMBOL1308       = NULL;
    EQUAL_OPERATOR1309       = NULL;
    MASTER_SSL_KEY_SYMBOL1311       = NULL;
    EQUAL_OPERATOR1312       = NULL;
    MASTER_SSL_CIPHER_SYMBOL1314       = NULL;
    EQUAL_OPERATOR1315       = NULL;
    MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317       = NULL;
    EQUAL_OPERATOR1318       = NULL;
    INTEGER1319       = NULL;
    IGNORE_SERVER_IDS_SYMBOL1320       = NULL;
    EQUAL_OPERATOR1321       = NULL;
    string_literal1253.tree = NULL;

    string_literal1256.tree = NULL;

    string_literal1259.tree = NULL;

    string_literal1262.tree = NULL;

    string_literal1280.tree = NULL;

    string_literal1289.tree = NULL;

    string_literal1298.tree = NULL;

    string_literal1301.tree = NULL;

    string_literal1304.tree = NULL;

    string_literal1307.tree = NULL;

    string_literal1310.tree = NULL;

    string_literal1313.tree = NULL;

    string_literal1316.tree = NULL;

    server_id_list1322.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_BIND_SYMBOL1251_tree   = NULL;
    EQUAL_OPERATOR1252_tree   = NULL;
    MASTER_HOST_SYMBOL1254_tree   = NULL;
    EQUAL_OPERATOR1255_tree   = NULL;
    MASTER_USER_SYMBOL1257_tree   = NULL;
    EQUAL_OPERATOR1258_tree   = NULL;
    MASTER_PASSWORD_SYMBOL1260_tree   = NULL;
    EQUAL_OPERATOR1261_tree   = NULL;
    MASTER_PORT_SYMBOL1263_tree   = NULL;
    EQUAL_OPERATOR1264_tree   = NULL;
    INTEGER1265_tree   = NULL;
    MASTER_CONNECT_RETRY_SYMBOL1266_tree   = NULL;
    EQUAL_OPERATOR1267_tree   = NULL;
    INTEGER1268_tree   = NULL;
    MASTER_RETRY_COUNT_SYMBOL1269_tree   = NULL;
    EQUAL_OPERATOR1270_tree   = NULL;
    INTEGER1271_tree   = NULL;
    MASTER_DELAY_SYMBOL1272_tree   = NULL;
    EQUAL_OPERATOR1273_tree   = NULL;
    INTEGER1274_tree   = NULL;
    MASTER_HEARTBEAT_PERIOD_SYMBOL1275_tree   = NULL;
    EQUAL_OPERATOR1276_tree   = NULL;
    INTEGER1277_tree   = NULL;
    MASTER_LOG_FILE_SYMBOL1278_tree   = NULL;
    EQUAL_OPERATOR1279_tree   = NULL;
    MASTER_LOG_POS_SYMBOL1281_tree   = NULL;
    EQUAL_OPERATOR1282_tree   = NULL;
    INTEGER1283_tree   = NULL;
    MASTER_AUTO_POSITION_SYMBOL1284_tree   = NULL;
    EQUAL_OPERATOR1285_tree   = NULL;
    INTEGER1286_tree   = NULL;
    RELAY_LOG_FILE_SYMBOL1287_tree   = NULL;
    EQUAL_OPERATOR1288_tree   = NULL;
    RELAY_LOG_POS_SYMBOL1290_tree   = NULL;
    EQUAL_OPERATOR1291_tree   = NULL;
    INTEGER1292_tree   = NULL;
    MASTER_SSL_SYMBOL1293_tree   = NULL;
    EQUAL_OPERATOR1294_tree   = NULL;
    INTEGER1295_tree   = NULL;
    MASTER_SSL_CA_SYMBOL1296_tree   = NULL;
    EQUAL_OPERATOR1297_tree   = NULL;
    MASTER_SSL_CAPATH_SYMBOL1299_tree   = NULL;
    EQUAL_OPERATOR1300_tree   = NULL;
    MASTER_SSL_CERT_SYMBOL1302_tree   = NULL;
    EQUAL_OPERATOR1303_tree   = NULL;
    MASTER_SSL_CRL_SYMBOL1305_tree   = NULL;
    EQUAL_OPERATOR1306_tree   = NULL;
    MASTER_SSL_CRLPATH_SYMBOL1308_tree   = NULL;
    EQUAL_OPERATOR1309_tree   = NULL;
    MASTER_SSL_KEY_SYMBOL1311_tree   = NULL;
    EQUAL_OPERATOR1312_tree   = NULL;
    MASTER_SSL_CIPHER_SYMBOL1314_tree   = NULL;
    EQUAL_OPERATOR1315_tree   = NULL;
    MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317_tree   = NULL;
    EQUAL_OPERATOR1318_tree   = NULL;
    INTEGER1319_tree   = NULL;
    IGNORE_SERVER_IDS_SYMBOL1320_tree   = NULL;
    EQUAL_OPERATOR1321_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1363:14: ( MASTER_BIND_SYMBOL EQUAL_OPERATOR string_literal | MASTER_HOST_SYMBOL EQUAL_OPERATOR string_literal | MASTER_USER_SYMBOL EQUAL_OPERATOR string_literal | MASTER_PASSWORD_SYMBOL EQUAL_OPERATOR string_literal | MASTER_PORT_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_CONNECT_RETRY_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_RETRY_COUNT_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_DELAY_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_HEARTBEAT_PERIOD_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_AUTO_POSITION_SYMBOL EQUAL_OPERATOR INTEGER | RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_SSL_SYMBOL EQUAL_OPERATOR INTEGER | MASTER_SSL_CA_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CAPATH_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CERT_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CRL_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CRLPATH_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_KEY_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_CIPHER_SYMBOL EQUAL_OPERATOR string_literal | MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL EQUAL_OPERATOR INTEGER | IGNORE_SERVER_IDS_SYMBOL EQUAL_OPERATOR server_id_list )

            ANTLR3_UINT32 alt441;

            alt441=24;

            switch ( LA(1) )
            {
            case MASTER_BIND_SYMBOL:
            	{
            		alt441=1;
            	}
                break;
            case MASTER_HOST_SYMBOL:
            	{
            		alt441=2;
            	}
                break;
            case MASTER_USER_SYMBOL:
            	{
            		alt441=3;
            	}
                break;
            case MASTER_PASSWORD_SYMBOL:
            	{
            		alt441=4;
            	}
                break;
            case MASTER_PORT_SYMBOL:
            	{
            		alt441=5;
            	}
                break;
            case MASTER_CONNECT_RETRY_SYMBOL:
            	{
            		alt441=6;
            	}
                break;
            case MASTER_RETRY_COUNT_SYMBOL:
            	{
            		alt441=7;
            	}
                break;
            case MASTER_DELAY_SYMBOL:
            	{
            		alt441=8;
            	}
                break;
            case MASTER_HEARTBEAT_PERIOD_SYMBOL:
            	{
            		alt441=9;
            	}
                break;
            case MASTER_LOG_FILE_SYMBOL:
            	{
            		alt441=10;
            	}
                break;
            case MASTER_LOG_POS_SYMBOL:
            	{
            		alt441=11;
            	}
                break;
            case MASTER_AUTO_POSITION_SYMBOL:
            	{
            		alt441=12;
            	}
                break;
            case RELAY_LOG_FILE_SYMBOL:
            	{
            		alt441=13;
            	}
                break;
            case RELAY_LOG_POS_SYMBOL:
            	{
            		alt441=14;
            	}
                break;
            case MASTER_SSL_SYMBOL:
            	{
            		alt441=15;
            	}
                break;
            case MASTER_SSL_CA_SYMBOL:
            	{
            		alt441=16;
            	}
                break;
            case MASTER_SSL_CAPATH_SYMBOL:
            	{
            		alt441=17;
            	}
                break;
            case MASTER_SSL_CERT_SYMBOL:
            	{
            		alt441=18;
            	}
                break;
            case MASTER_SSL_CRL_SYMBOL:
            	{
            		alt441=19;
            	}
                break;
            case MASTER_SSL_CRLPATH_SYMBOL:
            	{
            		alt441=20;
            	}
                break;
            case MASTER_SSL_KEY_SYMBOL:
            	{
            		alt441=21;
            	}
                break;
            case MASTER_SSL_CIPHER_SYMBOL:
            	{
            		alt441=22;
            	}
                break;
            case MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL:
            	{
            		alt441=23;
            	}
                break;
            case IGNORE_SERVER_IDS_SYMBOL:
            	{
            		alt441=24;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 441;
                EXCEPTION->state        = 0;


                goto rulemaster_optionEx;

            }

            switch (alt441)
            {
        	case 1:
        	    // MySQL.g:1364:2: MASTER_BIND_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_BIND_SYMBOL1251 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_BIND_SYMBOL, &FOLLOW_MASTER_BIND_SYMBOL_in_master_option6988);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_BIND_SYMBOL1251_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_BIND_SYMBOL1251));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_BIND_SYMBOL1251_tree);
        	        }

        	        EQUAL_OPERATOR1252 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6990);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1252_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1252));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1252_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6992);
        	        string_literal1253=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1253.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1365:4: MASTER_HOST_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_HOST_SYMBOL1254 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_HOST_SYMBOL, &FOLLOW_MASTER_HOST_SYMBOL_in_master_option6997);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_HOST_SYMBOL1254_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_HOST_SYMBOL1254));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_HOST_SYMBOL1254_tree);
        	        }

        	        EQUAL_OPERATOR1255 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6999);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1255_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1255));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1255_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7001);
        	        string_literal1256=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1256.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1366:4: MASTER_USER_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_USER_SYMBOL1257 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_USER_SYMBOL, &FOLLOW_MASTER_USER_SYMBOL_in_master_option7006);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_USER_SYMBOL1257_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_USER_SYMBOL1257));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_USER_SYMBOL1257_tree);
        	        }

        	        EQUAL_OPERATOR1258 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7008);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1258_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1258));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1258_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7010);
        	        string_literal1259=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1259.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1367:4: MASTER_PASSWORD_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_PASSWORD_SYMBOL1260 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_PASSWORD_SYMBOL, &FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option7015);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_PASSWORD_SYMBOL1260_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_PASSWORD_SYMBOL1260));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_PASSWORD_SYMBOL1260_tree);
        	        }

        	        EQUAL_OPERATOR1261 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7017);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1261_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1261));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1261_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7019);
        	        string_literal1262=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1262.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1368:4: MASTER_PORT_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_PORT_SYMBOL1263 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_PORT_SYMBOL, &FOLLOW_MASTER_PORT_SYMBOL_in_master_option7024);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_PORT_SYMBOL1263_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_PORT_SYMBOL1263));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_PORT_SYMBOL1263_tree);
        	        }

        	        EQUAL_OPERATOR1264 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7026);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1264_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1264));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1264_tree);
        	        }

        	        INTEGER1265 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7028);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1265_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1265));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1265_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1369:4: MASTER_CONNECT_RETRY_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_CONNECT_RETRY_SYMBOL1266 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_CONNECT_RETRY_SYMBOL, &FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option7033);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_CONNECT_RETRY_SYMBOL1266_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_CONNECT_RETRY_SYMBOL1266));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_CONNECT_RETRY_SYMBOL1266_tree);
        	        }

        	        EQUAL_OPERATOR1267 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7035);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1267_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1267));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1267_tree);
        	        }

        	        INTEGER1268 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7037);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1268_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1268));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1268_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1370:4: MASTER_RETRY_COUNT_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_RETRY_COUNT_SYMBOL1269 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_RETRY_COUNT_SYMBOL, &FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option7042);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_RETRY_COUNT_SYMBOL1269_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_RETRY_COUNT_SYMBOL1269));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_RETRY_COUNT_SYMBOL1269_tree);
        	        }

        	        EQUAL_OPERATOR1270 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7044);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1270_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1270));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1270_tree);
        	        }

        	        INTEGER1271 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7046);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1271_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1271));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1271_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1371:4: MASTER_DELAY_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_DELAY_SYMBOL1272 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_DELAY_SYMBOL, &FOLLOW_MASTER_DELAY_SYMBOL_in_master_option7051);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_DELAY_SYMBOL1272_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_DELAY_SYMBOL1272));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_DELAY_SYMBOL1272_tree);
        	        }

        	        EQUAL_OPERATOR1273 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7053);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1273_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1273));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1273_tree);
        	        }

        	        INTEGER1274 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7055);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1274_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1274));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1274_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1372:4: MASTER_HEARTBEAT_PERIOD_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_HEARTBEAT_PERIOD_SYMBOL1275 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_HEARTBEAT_PERIOD_SYMBOL, &FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option7060);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_HEARTBEAT_PERIOD_SYMBOL1275_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_HEARTBEAT_PERIOD_SYMBOL1275));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_HEARTBEAT_PERIOD_SYMBOL1275_tree);
        	        }

        	        EQUAL_OPERATOR1276 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7062);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1276_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1276));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1276_tree);
        	        }

        	        INTEGER1277 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7064);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1277_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1277));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1277_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1373:4: MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_FILE_SYMBOL1278 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_FILE_SYMBOL, &FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option7069);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_FILE_SYMBOL1278_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_FILE_SYMBOL1278));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_FILE_SYMBOL1278_tree);
        	        }

        	        EQUAL_OPERATOR1279 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7071);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1279_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1279));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1279_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7073);
        	        string_literal1280=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1280.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1374:4: MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_POS_SYMBOL1281 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_POS_SYMBOL, &FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option7078);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_POS_SYMBOL1281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_POS_SYMBOL1281));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_POS_SYMBOL1281_tree);
        	        }

        	        EQUAL_OPERATOR1282 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7080);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1282_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1282));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1282_tree);
        	        }

        	        INTEGER1283 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7082);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1283_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1283));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1283_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1375:4: MASTER_AUTO_POSITION_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_AUTO_POSITION_SYMBOL1284 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_AUTO_POSITION_SYMBOL, &FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option7087);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_AUTO_POSITION_SYMBOL1284_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_AUTO_POSITION_SYMBOL1284));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_AUTO_POSITION_SYMBOL1284_tree);
        	        }

        	        EQUAL_OPERATOR1285 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7089);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1285_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1285));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1285_tree);
        	        }

        	        INTEGER1286 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7091);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1286_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1286));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1286_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1376:4: RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_FILE_SYMBOL1287 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_FILE_SYMBOL, &FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option7096);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_FILE_SYMBOL1287_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_FILE_SYMBOL1287));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_FILE_SYMBOL1287_tree);
        	        }

        	        EQUAL_OPERATOR1288 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7098);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1288_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1288));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1288_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7100);
        	        string_literal1289=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1289.tree);

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:1377:4: RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_POS_SYMBOL1290 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_POS_SYMBOL, &FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option7105);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_POS_SYMBOL1290_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_POS_SYMBOL1290));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_POS_SYMBOL1290_tree);
        	        }

        	        EQUAL_OPERATOR1291 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7107);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1291_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1291));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1291_tree);
        	        }

        	        INTEGER1292 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7109);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1292_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1292));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1292_tree);
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:1378:4: MASTER_SSL_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_SYMBOL1293 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_SYMBOL, &FOLLOW_MASTER_SSL_SYMBOL_in_master_option7114);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_SYMBOL1293_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_SYMBOL1293));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_SYMBOL1293_tree);
        	        }

        	        EQUAL_OPERATOR1294 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7116);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1294_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1294));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1294_tree);
        	        }

        	        INTEGER1295 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7118);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1295_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1295));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1295_tree);
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:1379:4: MASTER_SSL_CA_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CA_SYMBOL1296 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CA_SYMBOL, &FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option7123);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CA_SYMBOL1296_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CA_SYMBOL1296));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CA_SYMBOL1296_tree);
        	        }

        	        EQUAL_OPERATOR1297 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7125);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1297_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1297));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1297_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7127);
        	        string_literal1298=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1298.tree);

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:1380:4: MASTER_SSL_CAPATH_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CAPATH_SYMBOL1299 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CAPATH_SYMBOL, &FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option7132);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CAPATH_SYMBOL1299_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CAPATH_SYMBOL1299));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CAPATH_SYMBOL1299_tree);
        	        }

        	        EQUAL_OPERATOR1300 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7134);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1300_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1300));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1300_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7136);
        	        string_literal1301=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1301.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:1381:4: MASTER_SSL_CERT_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CERT_SYMBOL1302 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CERT_SYMBOL, &FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option7141);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CERT_SYMBOL1302_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CERT_SYMBOL1302));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CERT_SYMBOL1302_tree);
        	        }

        	        EQUAL_OPERATOR1303 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7143);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1303_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1303));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1303_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7145);
        	        string_literal1304=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1304.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:1382:4: MASTER_SSL_CRL_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CRL_SYMBOL1305 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CRL_SYMBOL, &FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option7150);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CRL_SYMBOL1305_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CRL_SYMBOL1305));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CRL_SYMBOL1305_tree);
        	        }

        	        EQUAL_OPERATOR1306 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7152);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1306));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1306_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7154);
        	        string_literal1307=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1307.tree);

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:1383:4: MASTER_SSL_CRLPATH_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CRLPATH_SYMBOL1308 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CRLPATH_SYMBOL, &FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option7159);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CRLPATH_SYMBOL1308_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CRLPATH_SYMBOL1308));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CRLPATH_SYMBOL1308_tree);
        	        }

        	        EQUAL_OPERATOR1309 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7161);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1309_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1309));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1309_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7163);
        	        string_literal1310=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1310.tree);

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:1384:4: MASTER_SSL_KEY_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_KEY_SYMBOL1311 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_KEY_SYMBOL, &FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option7168);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_KEY_SYMBOL1311_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_KEY_SYMBOL1311));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_KEY_SYMBOL1311_tree);
        	        }

        	        EQUAL_OPERATOR1312 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7170);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1312_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1312));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1312_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7172);
        	        string_literal1313=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1313.tree);

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:1385:4: MASTER_SSL_CIPHER_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CIPHER_SYMBOL1314 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CIPHER_SYMBOL, &FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option7177);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CIPHER_SYMBOL1314_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CIPHER_SYMBOL1314));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CIPHER_SYMBOL1314_tree);
        	        }

        	        EQUAL_OPERATOR1315 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7179);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1315_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1315));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1315_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option7181);
        	        string_literal1316=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1316.tree);

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:1386:4: MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL, &FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option7186);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1317_tree);
        	        }

        	        EQUAL_OPERATOR1318 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7188);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1318_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1318));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1318_tree);
        	        }

        	        INTEGER1319 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option7190);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1319_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1319));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1319_tree);
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:1387:4: IGNORE_SERVER_IDS_SYMBOL EQUAL_OPERATOR server_id_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IGNORE_SERVER_IDS_SYMBOL1320 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SERVER_IDS_SYMBOL, &FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option7195);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IGNORE_SERVER_IDS_SYMBOL1320_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SERVER_IDS_SYMBOL1320));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SERVER_IDS_SYMBOL1320_tree);
        	        }

        	        EQUAL_OPERATOR1321 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option7197);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1321_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1321));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1321_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_server_id_list_in_master_option7199);
        	        server_id_list1322=server_id_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_id_list1322.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulemaster_optionEx; /* Prevent compiler warnings */
    rulemaster_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end master_option */

/**
 * $ANTLR start server_id_list
 * MySQL.g:1390:1: server_id_list : OPEN_PAR_SYMBOL ( integer_list )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_server_id_list_return
server_id_list(pMySQLParser ctx)
{
    MySQLParser_server_id_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1323;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1325;
    MySQLParser_integer_list_return integer_list1324;
    #undef	RETURN_TYPE_integer_list1324
    #define	RETURN_TYPE_integer_list1324 MySQLParser_integer_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1323_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1325_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL1323       = NULL;
    CLOSE_PAR_SYMBOL1325       = NULL;
    integer_list1324.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL1323_tree   = NULL;
    CLOSE_PAR_SYMBOL1325_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1390:15: ( OPEN_PAR_SYMBOL ( integer_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1391:2: OPEN_PAR_SYMBOL ( integer_list )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL1323 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list7208);
            if  (HASEXCEPTION())
            {
                goto ruleserver_id_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1323_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1323));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1323_tree);
            }

            // MySQL.g:1391:18: ( integer_list )?
            {
                int alt442=2;
                switch ( LA(1) )
                {
                    case INTEGER:
                    	{
                    		alt442=1;
                    	}
                        break;
                }

                switch (alt442)
                {
            	case 1:
            	    // MySQL.g:1391:18: integer_list
            	    {
            	        FOLLOWPUSH(FOLLOW_integer_list_in_server_id_list7210);
            	        integer_list1324=integer_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleserver_id_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, integer_list1324.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1325 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list7213);
            if  (HASEXCEPTION())
            {
                goto ruleserver_id_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1325_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1325));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1325_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleserver_id_listEx; /* Prevent compiler warnings */
    ruleserver_id_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end server_id_list */

/**
 * $ANTLR start change_replication
 * MySQL.g:1394:1: change_replication : CHANGE_SYMBOL ^ REPLICATION_SYMBOL FILTER_SYMBOL filter_definition ( COMMA_SYMBOL filter_definition )* ;
 */
static MySQLParser_change_replication_return
change_replication(pMySQLParser ctx)
{
    MySQLParser_change_replication_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHANGE_SYMBOL1326;
    pANTLR3_COMMON_TOKEN    REPLICATION_SYMBOL1327;
    pANTLR3_COMMON_TOKEN    FILTER_SYMBOL1328;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1330;
    MySQLParser_filter_definition_return filter_definition1329;
    #undef	RETURN_TYPE_filter_definition1329
    #define	RETURN_TYPE_filter_definition1329 MySQLParser_filter_definition_return

    MySQLParser_filter_definition_return filter_definition1331;
    #undef	RETURN_TYPE_filter_definition1331
    #define	RETURN_TYPE_filter_definition1331 MySQLParser_filter_definition_return

    pANTLR3_BASE_TREE CHANGE_SYMBOL1326_tree;
    pANTLR3_BASE_TREE REPLICATION_SYMBOL1327_tree;
    pANTLR3_BASE_TREE FILTER_SYMBOL1328_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1330_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHANGE_SYMBOL1326       = NULL;
    REPLICATION_SYMBOL1327       = NULL;
    FILTER_SYMBOL1328       = NULL;
    COMMA_SYMBOL1330       = NULL;
    filter_definition1329.tree = NULL;

    filter_definition1331.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHANGE_SYMBOL1326_tree   = NULL;
    REPLICATION_SYMBOL1327_tree   = NULL;
    FILTER_SYMBOL1328_tree   = NULL;
    COMMA_SYMBOL1330_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1394:19: ( CHANGE_SYMBOL ^ REPLICATION_SYMBOL FILTER_SYMBOL filter_definition ( COMMA_SYMBOL filter_definition )* )
        // MySQL.g:1395:2: CHANGE_SYMBOL ^ REPLICATION_SYMBOL FILTER_SYMBOL filter_definition ( COMMA_SYMBOL filter_definition )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CHANGE_SYMBOL1326 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGE_SYMBOL, &FOLLOW_CHANGE_SYMBOL_in_change_replication7222);
            if  (HASEXCEPTION())
            {
                goto rulechange_replicationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CHANGE_SYMBOL1326_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGE_SYMBOL1326))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHANGE_SYMBOL1326_tree, root_0));
            }

            REPLICATION_SYMBOL1327 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATION_SYMBOL, &FOLLOW_REPLICATION_SYMBOL_in_change_replication7225);
            if  (HASEXCEPTION())
            {
                goto rulechange_replicationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPLICATION_SYMBOL1327_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATION_SYMBOL1327));
            ADAPTOR->addChild(ADAPTOR, root_0, REPLICATION_SYMBOL1327_tree);
            }

            FILTER_SYMBOL1328 = (pANTLR3_COMMON_TOKEN) MATCHT(FILTER_SYMBOL, &FOLLOW_FILTER_SYMBOL_in_change_replication7227);
            if  (HASEXCEPTION())
            {
                goto rulechange_replicationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FILTER_SYMBOL1328_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FILTER_SYMBOL1328));
            ADAPTOR->addChild(ADAPTOR, root_0, FILTER_SYMBOL1328_tree);
            }

            FOLLOWPUSH(FOLLOW_filter_definition_in_change_replication7229);
            filter_definition1329=filter_definition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulechange_replicationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_definition1329.tree);

            // MySQL.g:1395:68: ( COMMA_SYMBOL filter_definition )*

            for (;;)
            {
                int alt443=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt443=1;
                	}
                    break;

                }

                switch (alt443)
                {
            	case 1:
            	    // MySQL.g:1395:69: COMMA_SYMBOL filter_definition
            	    {
            	        COMMA_SYMBOL1330 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_change_replication7232);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulechange_replicationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1330));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1330_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_filter_definition_in_change_replication7234);
            	        filter_definition1331=filter_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulechange_replicationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_definition1331.tree);

            	    }
            	    break;

            	default:
            	    goto loop443;	/* break out of the loop */
            	    break;
                }
            }
            loop443: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulechange_replicationEx; /* Prevent compiler warnings */
    rulechange_replicationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end change_replication */

/**
 * $ANTLR start filter_definition
 * MySQL.g:1398:1: filter_definition : ( REPLICATE_DO_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_list )? CLOSE_PAR_SYMBOL | REPLICATE_IGNORE_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_list )? CLOSE_PAR_SYMBOL | REPLICATE_DO_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_table_list )? CLOSE_PAR_SYMBOL | REPLICATE_IGNORE_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_table_list )? CLOSE_PAR_SYMBOL | REPLICATE_WILD_DO_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_string_list )? CLOSE_PAR_SYMBOL | REPLICATE_WILD_IGNORE_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_string_list )? CLOSE_PAR_SYMBOL | REPLICATE_REWRITE_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_pair_list )? CLOSE_PAR_SYMBOL );
 */
static MySQLParser_filter_definition_return
filter_definition(pMySQLParser ctx)
{
    MySQLParser_filter_definition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REPLICATE_DO_DB_SYMBOL1332;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1333;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1334;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1336;
    pANTLR3_COMMON_TOKEN    REPLICATE_IGNORE_DB_SYMBOL1337;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1338;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1339;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1341;
    pANTLR3_COMMON_TOKEN    REPLICATE_DO_TABLE_SYMBOL1342;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1343;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1344;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1346;
    pANTLR3_COMMON_TOKEN    REPLICATE_IGNORE_TABLE_SYMBOL1347;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1348;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1349;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1351;
    pANTLR3_COMMON_TOKEN    REPLICATE_WILD_DO_TABLE_SYMBOL1352;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1353;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1354;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1356;
    pANTLR3_COMMON_TOKEN    REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1358;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1359;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1361;
    pANTLR3_COMMON_TOKEN    REPLICATE_REWRITE_DB_SYMBOL1362;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1363;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1364;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1366;
    MySQLParser_filter_db_list_return filter_db_list1335;
    #undef	RETURN_TYPE_filter_db_list1335
    #define	RETURN_TYPE_filter_db_list1335 MySQLParser_filter_db_list_return

    MySQLParser_filter_db_list_return filter_db_list1340;
    #undef	RETURN_TYPE_filter_db_list1340
    #define	RETURN_TYPE_filter_db_list1340 MySQLParser_filter_db_list_return

    MySQLParser_filter_table_list_return filter_table_list1345;
    #undef	RETURN_TYPE_filter_table_list1345
    #define	RETURN_TYPE_filter_table_list1345 MySQLParser_filter_table_list_return

    MySQLParser_filter_table_list_return filter_table_list1350;
    #undef	RETURN_TYPE_filter_table_list1350
    #define	RETURN_TYPE_filter_table_list1350 MySQLParser_filter_table_list_return

    MySQLParser_filter_string_list_return filter_string_list1355;
    #undef	RETURN_TYPE_filter_string_list1355
    #define	RETURN_TYPE_filter_string_list1355 MySQLParser_filter_string_list_return

    MySQLParser_filter_string_list_return filter_string_list1360;
    #undef	RETURN_TYPE_filter_string_list1360
    #define	RETURN_TYPE_filter_string_list1360 MySQLParser_filter_string_list_return

    MySQLParser_filter_db_pair_list_return filter_db_pair_list1365;
    #undef	RETURN_TYPE_filter_db_pair_list1365
    #define	RETURN_TYPE_filter_db_pair_list1365 MySQLParser_filter_db_pair_list_return

    pANTLR3_BASE_TREE REPLICATE_DO_DB_SYMBOL1332_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1333_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1334_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1336_tree;
    pANTLR3_BASE_TREE REPLICATE_IGNORE_DB_SYMBOL1337_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1338_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1339_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1341_tree;
    pANTLR3_BASE_TREE REPLICATE_DO_TABLE_SYMBOL1342_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1343_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1344_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1346_tree;
    pANTLR3_BASE_TREE REPLICATE_IGNORE_TABLE_SYMBOL1347_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1348_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1349_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1351_tree;
    pANTLR3_BASE_TREE REPLICATE_WILD_DO_TABLE_SYMBOL1352_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1353_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1354_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1356_tree;
    pANTLR3_BASE_TREE REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1358_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1359_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1361_tree;
    pANTLR3_BASE_TREE REPLICATE_REWRITE_DB_SYMBOL1362_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1363_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1364_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1366_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPLICATE_DO_DB_SYMBOL1332       = NULL;
    EQUAL_OPERATOR1333       = NULL;
    OPEN_PAR_SYMBOL1334       = NULL;
    CLOSE_PAR_SYMBOL1336       = NULL;
    REPLICATE_IGNORE_DB_SYMBOL1337       = NULL;
    EQUAL_OPERATOR1338       = NULL;
    OPEN_PAR_SYMBOL1339       = NULL;
    CLOSE_PAR_SYMBOL1341       = NULL;
    REPLICATE_DO_TABLE_SYMBOL1342       = NULL;
    EQUAL_OPERATOR1343       = NULL;
    OPEN_PAR_SYMBOL1344       = NULL;
    CLOSE_PAR_SYMBOL1346       = NULL;
    REPLICATE_IGNORE_TABLE_SYMBOL1347       = NULL;
    EQUAL_OPERATOR1348       = NULL;
    OPEN_PAR_SYMBOL1349       = NULL;
    CLOSE_PAR_SYMBOL1351       = NULL;
    REPLICATE_WILD_DO_TABLE_SYMBOL1352       = NULL;
    EQUAL_OPERATOR1353       = NULL;
    OPEN_PAR_SYMBOL1354       = NULL;
    CLOSE_PAR_SYMBOL1356       = NULL;
    REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357       = NULL;
    EQUAL_OPERATOR1358       = NULL;
    OPEN_PAR_SYMBOL1359       = NULL;
    CLOSE_PAR_SYMBOL1361       = NULL;
    REPLICATE_REWRITE_DB_SYMBOL1362       = NULL;
    EQUAL_OPERATOR1363       = NULL;
    OPEN_PAR_SYMBOL1364       = NULL;
    CLOSE_PAR_SYMBOL1366       = NULL;
    filter_db_list1335.tree = NULL;

    filter_db_list1340.tree = NULL;

    filter_table_list1345.tree = NULL;

    filter_table_list1350.tree = NULL;

    filter_string_list1355.tree = NULL;

    filter_string_list1360.tree = NULL;

    filter_db_pair_list1365.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPLICATE_DO_DB_SYMBOL1332_tree   = NULL;
    EQUAL_OPERATOR1333_tree   = NULL;
    OPEN_PAR_SYMBOL1334_tree   = NULL;
    CLOSE_PAR_SYMBOL1336_tree   = NULL;
    REPLICATE_IGNORE_DB_SYMBOL1337_tree   = NULL;
    EQUAL_OPERATOR1338_tree   = NULL;
    OPEN_PAR_SYMBOL1339_tree   = NULL;
    CLOSE_PAR_SYMBOL1341_tree   = NULL;
    REPLICATE_DO_TABLE_SYMBOL1342_tree   = NULL;
    EQUAL_OPERATOR1343_tree   = NULL;
    OPEN_PAR_SYMBOL1344_tree   = NULL;
    CLOSE_PAR_SYMBOL1346_tree   = NULL;
    REPLICATE_IGNORE_TABLE_SYMBOL1347_tree   = NULL;
    EQUAL_OPERATOR1348_tree   = NULL;
    OPEN_PAR_SYMBOL1349_tree   = NULL;
    CLOSE_PAR_SYMBOL1351_tree   = NULL;
    REPLICATE_WILD_DO_TABLE_SYMBOL1352_tree   = NULL;
    EQUAL_OPERATOR1353_tree   = NULL;
    OPEN_PAR_SYMBOL1354_tree   = NULL;
    CLOSE_PAR_SYMBOL1356_tree   = NULL;
    REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357_tree   = NULL;
    EQUAL_OPERATOR1358_tree   = NULL;
    OPEN_PAR_SYMBOL1359_tree   = NULL;
    CLOSE_PAR_SYMBOL1361_tree   = NULL;
    REPLICATE_REWRITE_DB_SYMBOL1362_tree   = NULL;
    EQUAL_OPERATOR1363_tree   = NULL;
    OPEN_PAR_SYMBOL1364_tree   = NULL;
    CLOSE_PAR_SYMBOL1366_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1398:18: ( REPLICATE_DO_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_list )? CLOSE_PAR_SYMBOL | REPLICATE_IGNORE_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_list )? CLOSE_PAR_SYMBOL | REPLICATE_DO_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_table_list )? CLOSE_PAR_SYMBOL | REPLICATE_IGNORE_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_table_list )? CLOSE_PAR_SYMBOL | REPLICATE_WILD_DO_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_string_list )? CLOSE_PAR_SYMBOL | REPLICATE_WILD_IGNORE_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_string_list )? CLOSE_PAR_SYMBOL | REPLICATE_REWRITE_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_pair_list )? CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt451;

            alt451=7;

            switch ( LA(1) )
            {
            case REPLICATE_DO_DB_SYMBOL:
            	{
            		alt451=1;
            	}
                break;
            case REPLICATE_IGNORE_DB_SYMBOL:
            	{
            		alt451=2;
            	}
                break;
            case REPLICATE_DO_TABLE_SYMBOL:
            	{
            		alt451=3;
            	}
                break;
            case REPLICATE_IGNORE_TABLE_SYMBOL:
            	{
            		alt451=4;
            	}
                break;
            case REPLICATE_WILD_DO_TABLE_SYMBOL:
            	{
            		alt451=5;
            	}
                break;
            case REPLICATE_WILD_IGNORE_TABLE_SYMBOL:
            	{
            		alt451=6;
            	}
                break;
            case REPLICATE_REWRITE_DB_SYMBOL:
            	{
            		alt451=7;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 451;
                EXCEPTION->state        = 0;


                goto rulefilter_definitionEx;

            }

            switch (alt451)
            {
        	case 1:
        	    // MySQL.g:1399:2: REPLICATE_DO_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_DO_DB_SYMBOL1332 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_DO_DB_SYMBOL, &FOLLOW_REPLICATE_DO_DB_SYMBOL_in_filter_definition7245);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_DO_DB_SYMBOL1332_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_DO_DB_SYMBOL1332));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_DO_DB_SYMBOL1332_tree);
        	        }

        	        EQUAL_OPERATOR1333 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7247);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1333_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1333));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1333_tree);
        	        }

        	        OPEN_PAR_SYMBOL1334 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7249);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1334_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1334));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1334_tree);
        	        }

        	        // MySQL.g:1399:56: ( filter_db_list )?
        	        {
        	            int alt444=2;
        	            {
        	                int LA444_0 = LA(1);
        	                if ( (LA444_0 == BACK_TICK_QUOTED_ID || LA444_0 == IDENTIFIER))
        	                {
        	                    alt444=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA444_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt444=1;
        	                }
        	                else if ( (((LA444_0 >= ASCII_SYMBOL) && (LA444_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt444=1;
        	                }
        	            }
        	            switch (alt444)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1399:56: filter_db_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_db_list_in_filter_definition7251);
        	        	        filter_db_list1335=filter_db_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_db_list1335.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1336 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7254);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1336_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1336));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1336_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1400:4: REPLICATE_IGNORE_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_IGNORE_DB_SYMBOL1337 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_IGNORE_DB_SYMBOL, &FOLLOW_REPLICATE_IGNORE_DB_SYMBOL_in_filter_definition7259);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_IGNORE_DB_SYMBOL1337_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_IGNORE_DB_SYMBOL1337));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_IGNORE_DB_SYMBOL1337_tree);
        	        }

        	        EQUAL_OPERATOR1338 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7261);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1338_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1338));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1338_tree);
        	        }

        	        OPEN_PAR_SYMBOL1339 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7263);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1339_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1339));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1339_tree);
        	        }

        	        // MySQL.g:1400:62: ( filter_db_list )?
        	        {
        	            int alt445=2;
        	            {
        	                int LA445_0 = LA(1);
        	                if ( (LA445_0 == BACK_TICK_QUOTED_ID || LA445_0 == IDENTIFIER))
        	                {
        	                    alt445=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA445_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt445=1;
        	                }
        	                else if ( (((LA445_0 >= ASCII_SYMBOL) && (LA445_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt445=1;
        	                }
        	            }
        	            switch (alt445)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1400:62: filter_db_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_db_list_in_filter_definition7265);
        	        	        filter_db_list1340=filter_db_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_db_list1340.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1341 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7268);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1341_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1341));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1341_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1401:4: REPLICATE_DO_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_table_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_DO_TABLE_SYMBOL1342 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_DO_TABLE_SYMBOL, &FOLLOW_REPLICATE_DO_TABLE_SYMBOL_in_filter_definition7273);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_DO_TABLE_SYMBOL1342_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_DO_TABLE_SYMBOL1342));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_DO_TABLE_SYMBOL1342_tree);
        	        }

        	        EQUAL_OPERATOR1343 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7275);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1343_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1343));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1343_tree);
        	        }

        	        OPEN_PAR_SYMBOL1344 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7277);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1344_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1344));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1344_tree);
        	        }

        	        // MySQL.g:1401:61: ( filter_table_list )?
        	        {
        	            int alt446=2;
        	            {
        	                int LA446_0 = LA(1);
        	                if ( (LA446_0 == BACK_TICK_QUOTED_ID || LA446_0 == IDENTIFIER))
        	                {
        	                    alt446=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA446_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt446=1;
        	                }
        	                else if ( (((LA446_0 >= ASCII_SYMBOL) && (LA446_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt446=1;
        	                }
        	            }
        	            switch (alt446)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1401:61: filter_table_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_table_list_in_filter_definition7279);
        	        	        filter_table_list1345=filter_table_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_table_list1345.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1346 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7282);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1346_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1346));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1346_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1402:4: REPLICATE_IGNORE_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_table_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_IGNORE_TABLE_SYMBOL1347 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_IGNORE_TABLE_SYMBOL, &FOLLOW_REPLICATE_IGNORE_TABLE_SYMBOL_in_filter_definition7287);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_IGNORE_TABLE_SYMBOL1347_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_IGNORE_TABLE_SYMBOL1347));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_IGNORE_TABLE_SYMBOL1347_tree);
        	        }

        	        EQUAL_OPERATOR1348 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7289);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1348_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1348));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1348_tree);
        	        }

        	        OPEN_PAR_SYMBOL1349 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7291);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1349_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1349));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1349_tree);
        	        }

        	        // MySQL.g:1402:65: ( filter_table_list )?
        	        {
        	            int alt447=2;
        	            {
        	                int LA447_0 = LA(1);
        	                if ( (LA447_0 == BACK_TICK_QUOTED_ID || LA447_0 == IDENTIFIER))
        	                {
        	                    alt447=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA447_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt447=1;
        	                }
        	                else if ( (((LA447_0 >= ASCII_SYMBOL) && (LA447_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt447=1;
        	                }
        	            }
        	            switch (alt447)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1402:65: filter_table_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_table_list_in_filter_definition7293);
        	        	        filter_table_list1350=filter_table_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_table_list1350.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1351 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7296);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1351_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1351));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1351_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1403:4: REPLICATE_WILD_DO_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_string_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_WILD_DO_TABLE_SYMBOL1352 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_WILD_DO_TABLE_SYMBOL, &FOLLOW_REPLICATE_WILD_DO_TABLE_SYMBOL_in_filter_definition7301);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_WILD_DO_TABLE_SYMBOL1352_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_WILD_DO_TABLE_SYMBOL1352));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_WILD_DO_TABLE_SYMBOL1352_tree);
        	        }

        	        EQUAL_OPERATOR1353 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7303);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1353_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1353));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1353_tree);
        	        }

        	        OPEN_PAR_SYMBOL1354 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7305);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1354_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1354));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1354_tree);
        	        }

        	        // MySQL.g:1403:66: ( filter_string_list )?
        	        {
        	            int alt448=2;
        	            {
        	                int LA448_0 = LA(1);
        	                if ( (LA448_0 == NCHAR_TEXT || LA448_0 == SINGLE_QUOTED_TEXT || LA448_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt448=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA448_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt448=1;
        	                }
        	            }
        	            switch (alt448)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1403:66: filter_string_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_string_list_in_filter_definition7307);
        	        	        filter_string_list1355=filter_string_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_string_list1355.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1356 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7310);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1356_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1356));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1356_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1404:4: REPLICATE_WILD_IGNORE_TABLE_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_string_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_WILD_IGNORE_TABLE_SYMBOL, &FOLLOW_REPLICATE_WILD_IGNORE_TABLE_SYMBOL_in_filter_definition7315);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_WILD_IGNORE_TABLE_SYMBOL1357_tree);
        	        }

        	        EQUAL_OPERATOR1358 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7317);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1358_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1358));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1358_tree);
        	        }

        	        OPEN_PAR_SYMBOL1359 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7319);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1359_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1359));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1359_tree);
        	        }

        	        // MySQL.g:1404:70: ( filter_string_list )?
        	        {
        	            int alt449=2;
        	            {
        	                int LA449_0 = LA(1);
        	                if ( (LA449_0 == NCHAR_TEXT || LA449_0 == SINGLE_QUOTED_TEXT || LA449_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt449=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA449_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt449=1;
        	                }
        	            }
        	            switch (alt449)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1404:70: filter_string_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_string_list_in_filter_definition7321);
        	        	        filter_string_list1360=filter_string_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_string_list1360.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1361 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7324);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1361_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1361));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1361_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1405:4: REPLICATE_REWRITE_DB_SYMBOL EQUAL_OPERATOR OPEN_PAR_SYMBOL ( filter_db_pair_list )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATE_REWRITE_DB_SYMBOL1362 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATE_REWRITE_DB_SYMBOL, &FOLLOW_REPLICATE_REWRITE_DB_SYMBOL_in_filter_definition7329);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATE_REWRITE_DB_SYMBOL1362_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATE_REWRITE_DB_SYMBOL1362));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATE_REWRITE_DB_SYMBOL1362_tree);
        	        }

        	        EQUAL_OPERATOR1363 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_filter_definition7331);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1363_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1363));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1363_tree);
        	        }

        	        OPEN_PAR_SYMBOL1364 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_filter_definition7333);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1364_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1364));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1364_tree);
        	        }

        	        // MySQL.g:1405:63: ( filter_db_pair_list )?
        	        {
        	            int alt450=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt450=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt450)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1405:63: filter_db_pair_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_filter_db_pair_list_in_filter_definition7335);
        	        	        filter_db_pair_list1365=filter_db_pair_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefilter_definitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_db_pair_list1365.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1366 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_filter_definition7338);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefilter_definitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1366_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1366));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1366_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulefilter_definitionEx; /* Prevent compiler warnings */
    rulefilter_definitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_definition */

/**
 * $ANTLR start filter_db_list
 * MySQL.g:1408:1: filter_db_list : schema_ref ( COMMA_SYMBOL schema_ref )* ;
 */
static MySQLParser_filter_db_list_return
filter_db_list(pMySQLParser ctx)
{
    MySQLParser_filter_db_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1368;
    MySQLParser_schema_ref_return schema_ref1367;
    #undef	RETURN_TYPE_schema_ref1367
    #define	RETURN_TYPE_schema_ref1367 MySQLParser_schema_ref_return

    MySQLParser_schema_ref_return schema_ref1369;
    #undef	RETURN_TYPE_schema_ref1369
    #define	RETURN_TYPE_schema_ref1369 MySQLParser_schema_ref_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1368_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1368       = NULL;
    schema_ref1367.tree = NULL;

    schema_ref1369.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1368_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1408:15: ( schema_ref ( COMMA_SYMBOL schema_ref )* )
        // MySQL.g:1409:2: schema_ref ( COMMA_SYMBOL schema_ref )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_schema_ref_in_filter_db_list7347);
            schema_ref1367=schema_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_db_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref1367.tree);

            // MySQL.g:1409:13: ( COMMA_SYMBOL schema_ref )*

            for (;;)
            {
                int alt452=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt452=1;
                	}
                    break;

                }

                switch (alt452)
                {
            	case 1:
            	    // MySQL.g:1409:14: COMMA_SYMBOL schema_ref
            	    {
            	        COMMA_SYMBOL1368 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_filter_db_list7350);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_db_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1368_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1368));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1368_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_schema_ref_in_filter_db_list7352);
            	        schema_ref1369=schema_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_db_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref1369.tree);

            	    }
            	    break;

            	default:
            	    goto loop452;	/* break out of the loop */
            	    break;
                }
            }
            loop452: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefilter_db_listEx; /* Prevent compiler warnings */
    rulefilter_db_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_db_list */

/**
 * $ANTLR start filter_table_list
 * MySQL.g:1412:1: filter_table_list : filter_table_ref ( COMMA_SYMBOL filter_table_ref )* ;
 */
static MySQLParser_filter_table_list_return
filter_table_list(pMySQLParser ctx)
{
    MySQLParser_filter_table_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1371;
    MySQLParser_filter_table_ref_return filter_table_ref1370;
    #undef	RETURN_TYPE_filter_table_ref1370
    #define	RETURN_TYPE_filter_table_ref1370 MySQLParser_filter_table_ref_return

    MySQLParser_filter_table_ref_return filter_table_ref1372;
    #undef	RETURN_TYPE_filter_table_ref1372
    #define	RETURN_TYPE_filter_table_ref1372 MySQLParser_filter_table_ref_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1371_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1371       = NULL;
    filter_table_ref1370.tree = NULL;

    filter_table_ref1372.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1371_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1412:18: ( filter_table_ref ( COMMA_SYMBOL filter_table_ref )* )
        // MySQL.g:1413:2: filter_table_ref ( COMMA_SYMBOL filter_table_ref )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_filter_table_ref_in_filter_table_list7363);
            filter_table_ref1370=filter_table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_table_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_table_ref1370.tree);

            // MySQL.g:1413:19: ( COMMA_SYMBOL filter_table_ref )*

            for (;;)
            {
                int alt453=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt453=1;
                	}
                    break;

                }

                switch (alt453)
                {
            	case 1:
            	    // MySQL.g:1413:20: COMMA_SYMBOL filter_table_ref
            	    {
            	        COMMA_SYMBOL1371 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_filter_table_list7366);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_table_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1371_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1371));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1371_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_filter_table_ref_in_filter_table_list7368);
            	        filter_table_ref1372=filter_table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_table_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_table_ref1372.tree);

            	    }
            	    break;

            	default:
            	    goto loop453;	/* break out of the loop */
            	    break;
                }
            }
            loop453: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefilter_table_listEx; /* Prevent compiler warnings */
    rulefilter_table_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_table_list */

/**
 * $ANTLR start filter_string_list
 * MySQL.g:1416:1: filter_string_list : filter_wild_db_table_string ( COMMA_SYMBOL filter_wild_db_table_string )* ;
 */
static MySQLParser_filter_string_list_return
filter_string_list(pMySQLParser ctx)
{
    MySQLParser_filter_string_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1374;
    MySQLParser_filter_wild_db_table_string_return filter_wild_db_table_string1373;
    #undef	RETURN_TYPE_filter_wild_db_table_string1373
    #define	RETURN_TYPE_filter_wild_db_table_string1373 MySQLParser_filter_wild_db_table_string_return

    MySQLParser_filter_wild_db_table_string_return filter_wild_db_table_string1375;
    #undef	RETURN_TYPE_filter_wild_db_table_string1375
    #define	RETURN_TYPE_filter_wild_db_table_string1375 MySQLParser_filter_wild_db_table_string_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1374_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1374       = NULL;
    filter_wild_db_table_string1373.tree = NULL;

    filter_wild_db_table_string1375.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1374_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1416:19: ( filter_wild_db_table_string ( COMMA_SYMBOL filter_wild_db_table_string )* )
        // MySQL.g:1417:2: filter_wild_db_table_string ( COMMA_SYMBOL filter_wild_db_table_string )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_filter_wild_db_table_string_in_filter_string_list7379);
            filter_wild_db_table_string1373=filter_wild_db_table_string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_string_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_wild_db_table_string1373.tree);

            // MySQL.g:1417:30: ( COMMA_SYMBOL filter_wild_db_table_string )*

            for (;;)
            {
                int alt454=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt454=1;
                	}
                    break;

                }

                switch (alt454)
                {
            	case 1:
            	    // MySQL.g:1417:31: COMMA_SYMBOL filter_wild_db_table_string
            	    {
            	        COMMA_SYMBOL1374 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_filter_string_list7382);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_string_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1374_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1374));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1374_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_filter_wild_db_table_string_in_filter_string_list7384);
            	        filter_wild_db_table_string1375=filter_wild_db_table_string(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_string_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, filter_wild_db_table_string1375.tree);

            	    }
            	    break;

            	default:
            	    goto loop454;	/* break out of the loop */
            	    break;
                }
            }
            loop454: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefilter_string_listEx; /* Prevent compiler warnings */
    rulefilter_string_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_string_list */

/**
 * $ANTLR start filter_wild_db_table_string
 * MySQL.g:1420:1: filter_wild_db_table_string : string_literal_no_linebreak ;
 */
static MySQLParser_filter_wild_db_table_string_return
filter_wild_db_table_string(pMySQLParser ctx)
{
    MySQLParser_filter_wild_db_table_string_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_literal_no_linebreak_return string_literal_no_linebreak1376;
    #undef	RETURN_TYPE_string_literal_no_linebreak1376
    #define	RETURN_TYPE_string_literal_no_linebreak1376 MySQLParser_string_literal_no_linebreak_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal_no_linebreak1376.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1420:28: ( string_literal_no_linebreak )
        // MySQL.g:1421:2: string_literal_no_linebreak
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_string_literal_no_linebreak_in_filter_wild_db_table_string7395);
            string_literal_no_linebreak1376=string_literal_no_linebreak(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_wild_db_table_stringEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal_no_linebreak1376.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefilter_wild_db_table_stringEx; /* Prevent compiler warnings */
    rulefilter_wild_db_table_stringEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_wild_db_table_string */

/**
 * $ANTLR start filter_db_pair_list
 * MySQL.g:1424:1: filter_db_pair_list : schema_identifier_pair ( COMMA_SYMBOL schema_identifier_pair )* ;
 */
static MySQLParser_filter_db_pair_list_return
filter_db_pair_list(pMySQLParser ctx)
{
    MySQLParser_filter_db_pair_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1378;
    MySQLParser_schema_identifier_pair_return schema_identifier_pair1377;
    #undef	RETURN_TYPE_schema_identifier_pair1377
    #define	RETURN_TYPE_schema_identifier_pair1377 MySQLParser_schema_identifier_pair_return

    MySQLParser_schema_identifier_pair_return schema_identifier_pair1379;
    #undef	RETURN_TYPE_schema_identifier_pair1379
    #define	RETURN_TYPE_schema_identifier_pair1379 MySQLParser_schema_identifier_pair_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1378_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1378       = NULL;
    schema_identifier_pair1377.tree = NULL;

    schema_identifier_pair1379.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1378_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1424:20: ( schema_identifier_pair ( COMMA_SYMBOL schema_identifier_pair )* )
        // MySQL.g:1425:2: schema_identifier_pair ( COMMA_SYMBOL schema_identifier_pair )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_schema_identifier_pair_in_filter_db_pair_list7405);
            schema_identifier_pair1377=schema_identifier_pair(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_db_pair_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_identifier_pair1377.tree);

            // MySQL.g:1425:25: ( COMMA_SYMBOL schema_identifier_pair )*

            for (;;)
            {
                int alt455=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt455=1;
                	}
                    break;

                }

                switch (alt455)
                {
            	case 1:
            	    // MySQL.g:1425:26: COMMA_SYMBOL schema_identifier_pair
            	    {
            	        COMMA_SYMBOL1378 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_filter_db_pair_list7408);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_db_pair_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1378_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1378));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1378_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_schema_identifier_pair_in_filter_db_pair_list7410);
            	        schema_identifier_pair1379=schema_identifier_pair(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefilter_db_pair_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_identifier_pair1379.tree);

            	    }
            	    break;

            	default:
            	    goto loop455;	/* break out of the loop */
            	    break;
                }
            }
            loop455: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefilter_db_pair_listEx; /* Prevent compiler warnings */
    rulefilter_db_pair_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_db_pair_list */

/**
 * $ANTLR start start_slave
 * MySQL.g:1428:1: start_slave : START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options ( channel )? ;
 */
static MySQLParser_start_slave_return
start_slave(pMySQLParser ctx)
{
    MySQLParser_start_slave_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    START_SYMBOL1380;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1381;
    pANTLR3_COMMON_TOKEN    UNTIL_SYMBOL1383;
    MySQLParser_slave_thread_options_return slave_thread_options1382;
    #undef	RETURN_TYPE_slave_thread_options1382
    #define	RETURN_TYPE_slave_thread_options1382 MySQLParser_slave_thread_options_return

    MySQLParser_slave_until_options_return slave_until_options1384;
    #undef	RETURN_TYPE_slave_until_options1384
    #define	RETURN_TYPE_slave_until_options1384 MySQLParser_slave_until_options_return

    MySQLParser_slave_connection_options_return slave_connection_options1385;
    #undef	RETURN_TYPE_slave_connection_options1385
    #define	RETURN_TYPE_slave_connection_options1385 MySQLParser_slave_connection_options_return

    MySQLParser_channel_return channel1386;
    #undef	RETURN_TYPE_channel1386
    #define	RETURN_TYPE_channel1386 MySQLParser_channel_return

    pANTLR3_BASE_TREE START_SYMBOL1380_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1381_tree;
    pANTLR3_BASE_TREE UNTIL_SYMBOL1383_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    START_SYMBOL1380       = NULL;
    SLAVE_SYMBOL1381       = NULL;
    UNTIL_SYMBOL1383       = NULL;
    slave_thread_options1382.tree = NULL;

    slave_until_options1384.tree = NULL;

    slave_connection_options1385.tree = NULL;

    channel1386.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    START_SYMBOL1380_tree   = NULL;
    SLAVE_SYMBOL1381_tree   = NULL;
    UNTIL_SYMBOL1383_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1428:12: ( START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options ( channel )? )
        // MySQL.g:1429:2: START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options ( channel )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            START_SYMBOL1380 = (pANTLR3_COMMON_TOKEN) MATCHT(START_SYMBOL, &FOLLOW_START_SYMBOL_in_start_slave7421);
            if  (HASEXCEPTION())
            {
                goto rulestart_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            START_SYMBOL1380_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, START_SYMBOL1380))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, START_SYMBOL1380_tree, root_0));
            }

            SLAVE_SYMBOL1381 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_start_slave7424);
            if  (HASEXCEPTION())
            {
                goto rulestart_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SLAVE_SYMBOL1381_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1381));
            ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1381_tree);
            }

            // MySQL.g:1429:29: ( slave_thread_options )?
            {
                int alt456=2;
                switch ( LA(1) )
                {
                    case RELAY_THREAD_SYMBOL:
                    case SQL_THREAD_SYMBOL:
                    	{
                    		alt456=1;
                    	}
                        break;
                }

                switch (alt456)
                {
            	case 1:
            	    // MySQL.g:1429:29: slave_thread_options
            	    {
            	        FOLLOWPUSH(FOLLOW_slave_thread_options_in_start_slave7426);
            	        slave_thread_options1382=slave_thread_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_thread_options1382.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1429:51: ( UNTIL_SYMBOL slave_until_options )?
            {
                int alt457=2;
                switch ( LA(1) )
                {
                    case UNTIL_SYMBOL:
                    	{
                    		alt457=1;
                    	}
                        break;
                }

                switch (alt457)
                {
            	case 1:
            	    // MySQL.g:1429:52: UNTIL_SYMBOL slave_until_options
            	    {
            	        UNTIL_SYMBOL1383 = (pANTLR3_COMMON_TOKEN) MATCHT(UNTIL_SYMBOL, &FOLLOW_UNTIL_SYMBOL_in_start_slave7430);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNTIL_SYMBOL1383_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNTIL_SYMBOL1383));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNTIL_SYMBOL1383_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_slave_until_options_in_start_slave7432);
            	        slave_until_options1384=slave_until_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_until_options1384.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_slave_connection_options_in_start_slave7436);
            slave_connection_options1385=slave_connection_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestart_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_connection_options1385.tree);

            // MySQL.g:1429:112: ( channel )?
            {
                int alt458=2;
                {
                    int LA458_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50706)) && (LA458_0 == FROM_SYMBOL))
                    {
                        alt458=1;
                    }
                }
                switch (alt458)
                {
            	case 1:
            	    // MySQL.g:1429:112: channel
            	    {
            	        FOLLOWPUSH(FOLLOW_channel_in_start_slave7438);
            	        channel1386=channel(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1386.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulestart_slaveEx; /* Prevent compiler warnings */
    rulestart_slaveEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end start_slave */

/**
 * $ANTLR start slave_until_options
 * MySQL.g:1432:1: slave_until_options : ( master_file_def |{...}? => ( SQL_BEFORE_GTIDS_SYMBOL | SQL_AFTER_GTIDS_SYMBOL ) EQUAL_OPERATOR gtid_set |{...}? => SQL_AFTER_MTS_GAPS_SYMBOL ) ( COMMA_SYMBOL master_file_def )* ;
 */
static MySQLParser_slave_until_options_return
slave_until_options(pMySQLParser ctx)
{
    MySQLParser_slave_until_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1388;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1389;
    pANTLR3_COMMON_TOKEN    SQL_AFTER_MTS_GAPS_SYMBOL1391;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1392;
    MySQLParser_master_file_def_return master_file_def1387;
    #undef	RETURN_TYPE_master_file_def1387
    #define	RETURN_TYPE_master_file_def1387 MySQLParser_master_file_def_return

    MySQLParser_gtid_set_return gtid_set1390;
    #undef	RETURN_TYPE_gtid_set1390
    #define	RETURN_TYPE_gtid_set1390 MySQLParser_gtid_set_return

    MySQLParser_master_file_def_return master_file_def1393;
    #undef	RETURN_TYPE_master_file_def1393
    #define	RETURN_TYPE_master_file_def1393 MySQLParser_master_file_def_return

    pANTLR3_BASE_TREE set1388_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1389_tree;
    pANTLR3_BASE_TREE SQL_AFTER_MTS_GAPS_SYMBOL1391_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1392_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1388       = NULL;
    EQUAL_OPERATOR1389       = NULL;
    SQL_AFTER_MTS_GAPS_SYMBOL1391       = NULL;
    COMMA_SYMBOL1392       = NULL;
    master_file_def1387.tree = NULL;

    gtid_set1390.tree = NULL;

    master_file_def1393.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1388_tree   = NULL;
    EQUAL_OPERATOR1389_tree   = NULL;
    SQL_AFTER_MTS_GAPS_SYMBOL1391_tree   = NULL;
    COMMA_SYMBOL1392_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1432:20: ( ( master_file_def |{...}? => ( SQL_BEFORE_GTIDS_SYMBOL | SQL_AFTER_GTIDS_SYMBOL ) EQUAL_OPERATOR gtid_set |{...}? => SQL_AFTER_MTS_GAPS_SYMBOL ) ( COMMA_SYMBOL master_file_def )* )
        // MySQL.g:1433:2: ( master_file_def |{...}? => ( SQL_BEFORE_GTIDS_SYMBOL | SQL_AFTER_GTIDS_SYMBOL ) EQUAL_OPERATOR gtid_set |{...}? => SQL_AFTER_MTS_GAPS_SYMBOL ) ( COMMA_SYMBOL master_file_def )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1433:2: ( master_file_def |{...}? => ( SQL_BEFORE_GTIDS_SYMBOL | SQL_AFTER_GTIDS_SYMBOL ) EQUAL_OPERATOR gtid_set |{...}? => SQL_AFTER_MTS_GAPS_SYMBOL )
            {
                int alt459=3;
                {
                    int LA459_0 = LA(1);
                    if ( (((LA459_0 >= MASTER_LOG_FILE_SYMBOL) && (LA459_0 <= MASTER_LOG_POS_SYMBOL)) || ((LA459_0 >= RELAY_LOG_FILE_SYMBOL) && (LA459_0 <= RELAY_LOG_POS_SYMBOL))))
                    {
                        alt459=1;
                    }
                    else if ( ((SERVER_VERSION >= 50606)) && (LA459_0 == SQL_AFTER_GTIDS_SYMBOL || LA459_0 == SQL_BEFORE_GTIDS_SYMBOL))
                    {
                        alt459=2;
                    }
                    else if ( ((SERVER_VERSION >= 50606)) && (LA459_0 == SQL_AFTER_MTS_GAPS_SYMBOL))
                    {
                        alt459=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 459;
                        EXCEPTION->state        = 0;


                        goto ruleslave_until_optionsEx;

                    }
                }
                switch (alt459)
                {
            	case 1:
            	    // MySQL.g:1434:3: master_file_def
            	    {
            	        FOLLOWPUSH(FOLLOW_master_file_def_in_slave_until_options7452);
            	        master_file_def1387=master_file_def(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, master_file_def1387.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1435:5: {...}? => ( SQL_BEFORE_GTIDS_SYMBOL | SQL_AFTER_GTIDS_SYMBOL ) EQUAL_OPERATOR gtid_set
            	    {
            	        if ( !((SERVER_VERSION >= 50606)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50606";
            	                EXCEPTION->ruleName	 = (void *)"slave_until_options";


            	        }

            	        set1388=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == SQL_AFTER_GTIDS_SYMBOL || LA(1) == SQL_BEFORE_GTIDS_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1388))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleslave_until_optionsEx;
            	        }


            	        EQUAL_OPERATOR1389 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_until_options7470);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EQUAL_OPERATOR1389_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1389));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1389_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_gtid_set_in_slave_until_options7472);
            	        gtid_set1390=gtid_set(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, gtid_set1390.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1436:5: {...}? => SQL_AFTER_MTS_GAPS_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION >= 50606)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50606";
            	                EXCEPTION->ruleName	 = (void *)"slave_until_options";


            	        }

            	        SQL_AFTER_MTS_GAPS_SYMBOL1391 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_AFTER_MTS_GAPS_SYMBOL, &FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options7482);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQL_AFTER_MTS_GAPS_SYMBOL1391_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_AFTER_MTS_GAPS_SYMBOL1391));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_AFTER_MTS_GAPS_SYMBOL1391_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1438:2: ( COMMA_SYMBOL master_file_def )*

            for (;;)
            {
                int alt460=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt460=1;
                	}
                    break;

                }

                switch (alt460)
                {
            	case 1:
            	    // MySQL.g:1438:3: COMMA_SYMBOL master_file_def
            	    {
            	        COMMA_SYMBOL1392 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_slave_until_options7489);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1392_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1392));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1392_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_master_file_def_in_slave_until_options7491);
            	        master_file_def1393=master_file_def(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, master_file_def1393.tree);

            	    }
            	    break;

            	default:
            	    goto loop460;	/* break out of the loop */
            	    break;
                }
            }
            loop460: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleslave_until_optionsEx; /* Prevent compiler warnings */
    ruleslave_until_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end slave_until_options */

/**
 * $ANTLR start master_file_def
 * MySQL.g:1441:1: master_file_def : ( MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER | RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER );
 */
static MySQLParser_master_file_def_return
master_file_def(pMySQLParser ctx)
{
    MySQLParser_master_file_def_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MASTER_LOG_FILE_SYMBOL1394;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1395;
    pANTLR3_COMMON_TOKEN    MASTER_LOG_POS_SYMBOL1397;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1398;
    pANTLR3_COMMON_TOKEN    INTEGER1399;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_FILE_SYMBOL1400;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1401;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_POS_SYMBOL1403;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1404;
    pANTLR3_COMMON_TOKEN    INTEGER1405;
    MySQLParser_string_literal_return string_literal1396;
    #undef	RETURN_TYPE_string_literal1396
    #define	RETURN_TYPE_string_literal1396 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1402;
    #undef	RETURN_TYPE_string_literal1402
    #define	RETURN_TYPE_string_literal1402 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE MASTER_LOG_FILE_SYMBOL1394_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1395_tree;
    pANTLR3_BASE_TREE MASTER_LOG_POS_SYMBOL1397_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1398_tree;
    pANTLR3_BASE_TREE INTEGER1399_tree;
    pANTLR3_BASE_TREE RELAY_LOG_FILE_SYMBOL1400_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1401_tree;
    pANTLR3_BASE_TREE RELAY_LOG_POS_SYMBOL1403_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1404_tree;
    pANTLR3_BASE_TREE INTEGER1405_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_LOG_FILE_SYMBOL1394       = NULL;
    EQUAL_OPERATOR1395       = NULL;
    MASTER_LOG_POS_SYMBOL1397       = NULL;
    EQUAL_OPERATOR1398       = NULL;
    INTEGER1399       = NULL;
    RELAY_LOG_FILE_SYMBOL1400       = NULL;
    EQUAL_OPERATOR1401       = NULL;
    RELAY_LOG_POS_SYMBOL1403       = NULL;
    EQUAL_OPERATOR1404       = NULL;
    INTEGER1405       = NULL;
    string_literal1396.tree = NULL;

    string_literal1402.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_LOG_FILE_SYMBOL1394_tree   = NULL;
    EQUAL_OPERATOR1395_tree   = NULL;
    MASTER_LOG_POS_SYMBOL1397_tree   = NULL;
    EQUAL_OPERATOR1398_tree   = NULL;
    INTEGER1399_tree   = NULL;
    RELAY_LOG_FILE_SYMBOL1400_tree   = NULL;
    EQUAL_OPERATOR1401_tree   = NULL;
    RELAY_LOG_POS_SYMBOL1403_tree   = NULL;
    EQUAL_OPERATOR1404_tree   = NULL;
    INTEGER1405_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1441:16: ( MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER | RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal | RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER )

            ANTLR3_UINT32 alt461;

            alt461=4;

            switch ( LA(1) )
            {
            case MASTER_LOG_FILE_SYMBOL:
            	{
            		alt461=1;
            	}
                break;
            case MASTER_LOG_POS_SYMBOL:
            	{
            		alt461=2;
            	}
                break;
            case RELAY_LOG_FILE_SYMBOL:
            	{
            		alt461=3;
            	}
                break;
            case RELAY_LOG_POS_SYMBOL:
            	{
            		alt461=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 461;
                EXCEPTION->state        = 0;


                goto rulemaster_file_defEx;

            }

            switch (alt461)
            {
        	case 1:
        	    // MySQL.g:1442:2: MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_FILE_SYMBOL1394 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_FILE_SYMBOL, &FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def7502);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_FILE_SYMBOL1394_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_FILE_SYMBOL1394));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_FILE_SYMBOL1394_tree);
        	        }

        	        EQUAL_OPERATOR1395 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def7504);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1395_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1395));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1395_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_file_def7506);
        	        string_literal1396=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1396.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1443:4: MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_POS_SYMBOL1397 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_POS_SYMBOL, &FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def7511);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_POS_SYMBOL1397_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_POS_SYMBOL1397));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_POS_SYMBOL1397_tree);
        	        }

        	        EQUAL_OPERATOR1398 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def7513);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1398_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1398));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1398_tree);
        	        }

        	        INTEGER1399 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_file_def7515);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1399_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1399));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1399_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1444:4: RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_FILE_SYMBOL1400 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_FILE_SYMBOL, &FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def7520);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_FILE_SYMBOL1400_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_FILE_SYMBOL1400));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_FILE_SYMBOL1400_tree);
        	        }

        	        EQUAL_OPERATOR1401 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def7522);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1401_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1401));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1401_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_file_def7524);
        	        string_literal1402=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1402.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1445:4: RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_POS_SYMBOL1403 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_POS_SYMBOL, &FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def7529);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_POS_SYMBOL1403_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_POS_SYMBOL1403));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_POS_SYMBOL1403_tree);
        	        }

        	        EQUAL_OPERATOR1404 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def7531);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1404_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1404));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1404_tree);
        	        }

        	        INTEGER1405 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_file_def7533);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1405_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1405));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1405_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulemaster_file_defEx; /* Prevent compiler warnings */
    rulemaster_file_defEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end master_file_def */

/**
 * $ANTLR start slave_connection_options
 * MySQL.g:1448:1: slave_connection_options : ({...}? => ( USER_SYMBOL EQUAL_OPERATOR string_literal )? ( PASSWORD_SYMBOL EQUAL_OPERATOR string_literal )? ( DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal )? ( PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal )? |);
 */
static MySQLParser_slave_connection_options_return
slave_connection_options(pMySQLParser ctx)
{
    MySQLParser_slave_connection_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    USER_SYMBOL1406;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1407;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1409;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1410;
    pANTLR3_COMMON_TOKEN    DEFAULT_AUTH_SYMBOL1412;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1413;
    pANTLR3_COMMON_TOKEN    PLUGIN_DIR_SYMBOL1415;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1416;
    MySQLParser_string_literal_return string_literal1408;
    #undef	RETURN_TYPE_string_literal1408
    #define	RETURN_TYPE_string_literal1408 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1411;
    #undef	RETURN_TYPE_string_literal1411
    #define	RETURN_TYPE_string_literal1411 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1414;
    #undef	RETURN_TYPE_string_literal1414
    #define	RETURN_TYPE_string_literal1414 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1417;
    #undef	RETURN_TYPE_string_literal1417
    #define	RETURN_TYPE_string_literal1417 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE USER_SYMBOL1406_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1407_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1409_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1410_tree;
    pANTLR3_BASE_TREE DEFAULT_AUTH_SYMBOL1412_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1413_tree;
    pANTLR3_BASE_TREE PLUGIN_DIR_SYMBOL1415_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1416_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    USER_SYMBOL1406       = NULL;
    EQUAL_OPERATOR1407       = NULL;
    PASSWORD_SYMBOL1409       = NULL;
    EQUAL_OPERATOR1410       = NULL;
    DEFAULT_AUTH_SYMBOL1412       = NULL;
    EQUAL_OPERATOR1413       = NULL;
    PLUGIN_DIR_SYMBOL1415       = NULL;
    EQUAL_OPERATOR1416       = NULL;
    string_literal1408.tree = NULL;

    string_literal1411.tree = NULL;

    string_literal1414.tree = NULL;

    string_literal1417.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    USER_SYMBOL1406_tree   = NULL;
    EQUAL_OPERATOR1407_tree   = NULL;
    PASSWORD_SYMBOL1409_tree   = NULL;
    EQUAL_OPERATOR1410_tree   = NULL;
    DEFAULT_AUTH_SYMBOL1412_tree   = NULL;
    EQUAL_OPERATOR1413_tree   = NULL;
    PLUGIN_DIR_SYMBOL1415_tree   = NULL;
    EQUAL_OPERATOR1416_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1448:25: ({...}? => ( USER_SYMBOL EQUAL_OPERATOR string_literal )? ( PASSWORD_SYMBOL EQUAL_OPERATOR string_literal )? ( DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal )? ( PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal )? |)

            ANTLR3_UINT32 alt466;

            alt466=2;

            {
                int LA466_0 = LA(1);
                if ( ((SERVER_VERSION >= 50604)) && (LA466_0 == DEFAULT_AUTH_SYMBOL || LA466_0 == PASSWORD_SYMBOL || LA466_0 == PLUGIN_DIR_SYMBOL || LA466_0 == USER_SYMBOL))
                {
                    alt466=1;
                }
                else if ( ((SERVER_VERSION >= 50706)) && (LA466_0 == FROM_SYMBOL))
                {
                    {
                        int LA466_5 = LA(2);
                        if ( (( (( ((SERVER_VERSION >= 50604)) && ((SERVER_VERSION >= 50604)) )) && ((SERVER_VERSION >= 50706)) )))
                        {
                            alt466=1;
                        }
                        else if ( ((SERVER_VERSION >= 50706)))
                        {
                            alt466=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 466;
                            EXCEPTION->state        = 5;


                            goto ruleslave_connection_optionsEx;

                        }
                    }
                }
                else if ( (LA466_0 == SEMICOLON_SYMBOL))
                {
                    {
                        int LA466_6 = LA(2);
                        if ( ((SERVER_VERSION >= 50604)))
                        {
                            alt466=1;
                        }
                        else if ( (ANTLR3_TRUE))
                        {
                            alt466=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 466;
                            EXCEPTION->state        = 6;


                            goto ruleslave_connection_optionsEx;

                        }
                    }
                }
                else if ( (LA466_0 == EOF))
                {
                    {
                        int LA466_7 = LA(2);
                        if ( ((SERVER_VERSION >= 50604)))
                        {
                            alt466=1;
                        }
                        else if ( (ANTLR3_TRUE))
                        {
                            alt466=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 466;
                            EXCEPTION->state        = 7;


                            goto ruleslave_connection_optionsEx;

                        }
                    }
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 466;
                    EXCEPTION->state        = 0;


                    goto ruleslave_connection_optionsEx;

                }
            }
            switch (alt466)
            {
        	case 1:
        	    // MySQL.g:1449:2: {...}? => ( USER_SYMBOL EQUAL_OPERATOR string_literal )? ( PASSWORD_SYMBOL EQUAL_OPERATOR string_literal )? ( DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal )? ( PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50604)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50604";
        	                EXCEPTION->ruleName	 = (void *)"slave_connection_options";


        	        }

        	        // MySQL.g:1449:32: ( USER_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt462=2;
        	            switch ( LA(1) )
        	            {
        	                case USER_SYMBOL:
        	                	{
        	                		alt462=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt462)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1449:33: USER_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        USER_SYMBOL1406 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_slave_connection_options7547);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USER_SYMBOL1406_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1406));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1406_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1407 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7549);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1407_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1407));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1407_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options7551);
        	        	        string_literal1408=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1408.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1449:77: ( PASSWORD_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt463=2;
        	            switch ( LA(1) )
        	            {
        	                case PASSWORD_SYMBOL:
        	                	{
        	                		alt463=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt463)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1449:78: PASSWORD_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        PASSWORD_SYMBOL1409 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options7556);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PASSWORD_SYMBOL1409_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1409));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1409_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1410 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7558);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1410_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1410));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1410_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options7560);
        	        	        string_literal1411=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1411.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1450:3: ( DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt464=2;
        	            switch ( LA(1) )
        	            {
        	                case DEFAULT_AUTH_SYMBOL:
        	                	{
        	                		alt464=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt464)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1450:4: DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        DEFAULT_AUTH_SYMBOL1412 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_AUTH_SYMBOL, &FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options7567);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_AUTH_SYMBOL1412_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_AUTH_SYMBOL1412));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_AUTH_SYMBOL1412_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1413 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7569);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1413_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1413));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1413_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options7571);
        	        	        string_literal1414=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1414.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1450:56: ( PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt465=2;
        	            switch ( LA(1) )
        	            {
        	                case PLUGIN_DIR_SYMBOL:
        	                	{
        	                		alt465=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt465)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1450:57: PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        PLUGIN_DIR_SYMBOL1415 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_DIR_SYMBOL, &FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options7576);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PLUGIN_DIR_SYMBOL1415_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_DIR_SYMBOL1415));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_DIR_SYMBOL1415_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1416 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options7578);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1416_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1416));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1416_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options7580);
        	        	        string_literal1417=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1417.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1453:2: 
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleslave_connection_optionsEx; /* Prevent compiler warnings */
    ruleslave_connection_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end slave_connection_options */

/**
 * $ANTLR start stop_slave
 * MySQL.g:1455:1: stop_slave : STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( channel )? ;
 */
static MySQLParser_stop_slave_return
stop_slave(pMySQLParser ctx)
{
    MySQLParser_stop_slave_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    STOP_SYMBOL1418;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1419;
    MySQLParser_slave_thread_options_return slave_thread_options1420;
    #undef	RETURN_TYPE_slave_thread_options1420
    #define	RETURN_TYPE_slave_thread_options1420 MySQLParser_slave_thread_options_return

    MySQLParser_channel_return channel1421;
    #undef	RETURN_TYPE_channel1421
    #define	RETURN_TYPE_channel1421 MySQLParser_channel_return

    pANTLR3_BASE_TREE STOP_SYMBOL1418_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1419_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    STOP_SYMBOL1418       = NULL;
    SLAVE_SYMBOL1419       = NULL;
    slave_thread_options1420.tree = NULL;

    channel1421.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    STOP_SYMBOL1418_tree   = NULL;
    SLAVE_SYMBOL1419_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1455:11: ( STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( channel )? )
        // MySQL.g:1456:2: STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( channel )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            STOP_SYMBOL1418 = (pANTLR3_COMMON_TOKEN) MATCHT(STOP_SYMBOL, &FOLLOW_STOP_SYMBOL_in_stop_slave7597);
            if  (HASEXCEPTION())
            {
                goto rulestop_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            STOP_SYMBOL1418_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STOP_SYMBOL1418))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, STOP_SYMBOL1418_tree, root_0));
            }

            SLAVE_SYMBOL1419 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_stop_slave7600);
            if  (HASEXCEPTION())
            {
                goto rulestop_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SLAVE_SYMBOL1419_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1419));
            ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1419_tree);
            }

            // MySQL.g:1456:28: ( slave_thread_options )?
            {
                int alt467=2;
                switch ( LA(1) )
                {
                    case RELAY_THREAD_SYMBOL:
                    case SQL_THREAD_SYMBOL:
                    	{
                    		alt467=1;
                    	}
                        break;
                }

                switch (alt467)
                {
            	case 1:
            	    // MySQL.g:1456:28: slave_thread_options
            	    {
            	        FOLLOWPUSH(FOLLOW_slave_thread_options_in_stop_slave7602);
            	        slave_thread_options1420=slave_thread_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestop_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_thread_options1420.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1456:50: ( channel )?
            {
                int alt468=2;
                {
                    int LA468_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50706)) && (LA468_0 == FROM_SYMBOL))
                    {
                        alt468=1;
                    }
                }
                switch (alt468)
                {
            	case 1:
            	    // MySQL.g:1456:50: channel
            	    {
            	        FOLLOWPUSH(FOLLOW_channel_in_stop_slave7605);
            	        channel1421=channel(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestop_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1421.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulestop_slaveEx; /* Prevent compiler warnings */
    rulestop_slaveEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end stop_slave */

/**
 * $ANTLR start slave_thread_options
 * MySQL.g:1459:1: slave_thread_options : slave_thread_option ( COMMA_SYMBOL slave_thread_option )* -> ^( SLAVE_THREAD_OPTIONS_TOKEN slave_thread_option ( COMMA_SYMBOL slave_thread_option )* ) ;
 */
static MySQLParser_slave_thread_options_return
slave_thread_options(pMySQLParser ctx)
{
    MySQLParser_slave_thread_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1423;
    MySQLParser_slave_thread_option_return slave_thread_option1422;
    #undef	RETURN_TYPE_slave_thread_option1422
    #define	RETURN_TYPE_slave_thread_option1422 MySQLParser_slave_thread_option_return

    MySQLParser_slave_thread_option_return slave_thread_option1424;
    #undef	RETURN_TYPE_slave_thread_option1424
    #define	RETURN_TYPE_slave_thread_option1424 MySQLParser_slave_thread_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1423_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_slave_thread_option;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1423       = NULL;
    slave_thread_option1422.tree = NULL;

    slave_thread_option1424.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1423_tree   = NULL;

    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_slave_thread_option   = NULL;
    #define CREATE_stream_slave_thread_option  if (stream_slave_thread_option == NULL) {stream_slave_thread_option = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule slave_thread_option"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1459:21: ( slave_thread_option ( COMMA_SYMBOL slave_thread_option )* -> ^( SLAVE_THREAD_OPTIONS_TOKEN slave_thread_option ( COMMA_SYMBOL slave_thread_option )* ) )
        // MySQL.g:1460:2: slave_thread_option ( COMMA_SYMBOL slave_thread_option )*
        {
            FOLLOWPUSH(FOLLOW_slave_thread_option_in_slave_thread_options7615);
            slave_thread_option1422=slave_thread_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleslave_thread_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_slave_thread_option; stream_slave_thread_option->add(stream_slave_thread_option, slave_thread_option1422.tree, NULL); }

            // MySQL.g:1460:22: ( COMMA_SYMBOL slave_thread_option )*

            for (;;)
            {
                int alt469=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt469=1;
                	}
                    break;

                }

                switch (alt469)
                {
            	case 1:
            	    // MySQL.g:1460:23: COMMA_SYMBOL slave_thread_option
            	    {
            	        COMMA_SYMBOL1423 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_slave_thread_options7618);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_thread_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1423, NULL); }


            	        FOLLOWPUSH(FOLLOW_slave_thread_option_in_slave_thread_options7620);
            	        slave_thread_option1424=slave_thread_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_thread_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_slave_thread_option; stream_slave_thread_option->add(stream_slave_thread_option, slave_thread_option1424.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop469;	/* break out of the loop */
            	    break;
                }
            }
            loop469: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : slave_thread_option, slave_thread_option, COMMA_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1460:58: -> ^( SLAVE_THREAD_OPTIONS_TOKEN slave_thread_option ( COMMA_SYMBOL slave_thread_option )* )
            	{
            	    // MySQL.g:1460:61: ^( SLAVE_THREAD_OPTIONS_TOKEN slave_thread_option ( COMMA_SYMBOL slave_thread_option )* )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SLAVE_THREAD_OPTIONS_TOKEN, (pANTLR3_UINT8)"SLAVE_THREAD_OPTIONS_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_slave_thread_option == NULL ? NULL : stream_slave_thread_option->nextTree(stream_slave_thread_option));

            	        // MySQL.g:1460:110: ( COMMA_SYMBOL slave_thread_option )*
            	        {
            	        	while ( (stream_slave_thread_option != NULL && stream_slave_thread_option->hasNext(stream_slave_thread_option)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_slave_thread_option == NULL ? NULL : stream_slave_thread_option->nextTree(stream_slave_thread_option));

            	        	}
            	        	if (stream_slave_thread_option != NULL) stream_slave_thread_option->reset(stream_slave_thread_option);
            	        	if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleslave_thread_optionsEx; /* Prevent compiler warnings */
    ruleslave_thread_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_slave_thread_option != NULL) stream_slave_thread_option->free(stream_slave_thread_option);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end slave_thread_options */

/**
 * $ANTLR start slave_thread_option
 * MySQL.g:1463:1: slave_thread_option : ( RELAY_THREAD_SYMBOL | SQL_THREAD_SYMBOL );
 */
static MySQLParser_slave_thread_option_return
slave_thread_option(pMySQLParser ctx)
{
    MySQLParser_slave_thread_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1425;

    pANTLR3_BASE_TREE set1425_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1425       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1425_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1463:20: ( RELAY_THREAD_SYMBOL | SQL_THREAD_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1425=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == RELAY_THREAD_SYMBOL || LA(1) == SQL_THREAD_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1425))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleslave_thread_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleslave_thread_optionEx; /* Prevent compiler warnings */
    ruleslave_thread_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end slave_thread_option */

/**
 * $ANTLR start gtid_set
 * MySQL.g:1467:1: gtid_set : string_literal ;
 */
static MySQLParser_gtid_set_return
gtid_set(pMySQLParser ctx)
{
    MySQLParser_gtid_set_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_literal_return string_literal1426;
    #undef	RETURN_TYPE_string_literal1426
    #define	RETURN_TYPE_string_literal1426 MySQLParser_string_literal_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal1426.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1467:9: ( string_literal )
        // MySQL.g:1468:2: string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_string_literal_in_gtid_set7659);
            string_literal1426=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegtid_setEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1426.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulegtid_setEx; /* Prevent compiler warnings */
    rulegtid_setEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end gtid_set */

/**
 * $ANTLR start prepared_statement
 * MySQL.g:1473:1: prepared_statement : ( PREPARE_SYMBOL ^ identifier FROM_SYMBOL ( string_literal | user_variable ) | execute_statement | ( DEALLOCATE_SYMBOL | DROP_SYMBOL ) ^ PREPARE_SYMBOL identifier );
 */
static MySQLParser_prepared_statement_return
prepared_statement(pMySQLParser ctx)
{
    MySQLParser_prepared_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PREPARE_SYMBOL1427;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1429;
    pANTLR3_COMMON_TOKEN    set1433;
    pANTLR3_COMMON_TOKEN    PREPARE_SYMBOL1434;
    MySQLParser_identifier_return identifier1428;
    #undef	RETURN_TYPE_identifier1428
    #define	RETURN_TYPE_identifier1428 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal1430;
    #undef	RETURN_TYPE_string_literal1430
    #define	RETURN_TYPE_string_literal1430 MySQLParser_string_literal_return

    MySQLParser_user_variable_return user_variable1431;
    #undef	RETURN_TYPE_user_variable1431
    #define	RETURN_TYPE_user_variable1431 MySQLParser_user_variable_return

    MySQLParser_execute_statement_return execute_statement1432;
    #undef	RETURN_TYPE_execute_statement1432
    #define	RETURN_TYPE_execute_statement1432 MySQLParser_execute_statement_return

    MySQLParser_identifier_return identifier1435;
    #undef	RETURN_TYPE_identifier1435
    #define	RETURN_TYPE_identifier1435 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PREPARE_SYMBOL1427_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1429_tree;
    pANTLR3_BASE_TREE set1433_tree;
    pANTLR3_BASE_TREE PREPARE_SYMBOL1434_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PREPARE_SYMBOL1427       = NULL;
    FROM_SYMBOL1429       = NULL;
    set1433       = NULL;
    PREPARE_SYMBOL1434       = NULL;
    identifier1428.tree = NULL;

    string_literal1430.tree = NULL;

    user_variable1431.tree = NULL;

    execute_statement1432.tree = NULL;

    identifier1435.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PREPARE_SYMBOL1427_tree   = NULL;
    FROM_SYMBOL1429_tree   = NULL;
    set1433_tree   = NULL;
    PREPARE_SYMBOL1434_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1473:19: ( PREPARE_SYMBOL ^ identifier FROM_SYMBOL ( string_literal | user_variable ) | execute_statement | ( DEALLOCATE_SYMBOL | DROP_SYMBOL ) ^ PREPARE_SYMBOL identifier )

            ANTLR3_UINT32 alt471;

            alt471=3;

            switch ( LA(1) )
            {
            case PREPARE_SYMBOL:
            	{
            		alt471=1;
            	}
                break;
            case EXECUTE_SYMBOL:
            	{
            		alt471=2;
            	}
                break;
            case DEALLOCATE_SYMBOL:
            case DROP_SYMBOL:
            	{
            		alt471=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 471;
                EXCEPTION->state        = 0;


                goto ruleprepared_statementEx;

            }

            switch (alt471)
            {
        	case 1:
        	    // MySQL.g:1474:2: PREPARE_SYMBOL ^ identifier FROM_SYMBOL ( string_literal | user_variable )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PREPARE_SYMBOL1427 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_prepared_statement7671);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PREPARE_SYMBOL1427_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREPARE_SYMBOL1427))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PREPARE_SYMBOL1427_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_prepared_statement7674);
        	        identifier1428=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1428.tree);

        	        FROM_SYMBOL1429 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_prepared_statement7676);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL1429_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1429));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1429_tree);
        	        }

        	        // MySQL.g:1474:41: ( string_literal | user_variable )
        	        {
        	            int alt470=2;
        	            {
        	                int LA470_0 = LA(1);
        	                if ( (LA470_0 == NCHAR_TEXT || LA470_0 == SINGLE_QUOTED_TEXT || LA470_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt470=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA470_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt470=1;
        	                }
        	                else if ( (((LA470_0 >= AT_SIGN_SYMBOL) && (LA470_0 <= AT_TEXT_SUFFIX))))
        	                {
        	                    alt470=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 470;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleprepared_statementEx;

        	                }
        	            }
        	            switch (alt470)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1474:42: string_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_prepared_statement7679);
        	        	        string_literal1430=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprepared_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1430.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1474:59: user_variable
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_user_variable_in_prepared_statement7683);
        	        	        user_variable1431=user_variable(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprepared_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1431.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1475:4: execute_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_execute_statement_in_prepared_statement7689);
        	        execute_statement1432=execute_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, execute_statement1432.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1476:4: ( DEALLOCATE_SYMBOL | DROP_SYMBOL ) ^ PREPARE_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1433=(pANTLR3_COMMON_TOKEN)LT(1);

        	        set1433=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DEALLOCATE_SYMBOL || LA(1) == DROP_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1433))
        	            , root_0));
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleprepared_statementEx;
        	        }


        	        PREPARE_SYMBOL1434 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_prepared_statement7703);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PREPARE_SYMBOL1434_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREPARE_SYMBOL1434));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PREPARE_SYMBOL1434_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_prepared_statement7705);
        	        identifier1435=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1435.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleprepared_statementEx; /* Prevent compiler warnings */
    ruleprepared_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end prepared_statement */

/**
 * $ANTLR start execute_statement
 * MySQL.g:1479:1: execute_statement : EXECUTE_SYMBOL ^ identifier ( USING_SYMBOL execute_var_list )? ;
 */
static MySQLParser_execute_statement_return
execute_statement(pMySQLParser ctx)
{
    MySQLParser_execute_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EXECUTE_SYMBOL1436;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL1438;
    MySQLParser_identifier_return identifier1437;
    #undef	RETURN_TYPE_identifier1437
    #define	RETURN_TYPE_identifier1437 MySQLParser_identifier_return

    MySQLParser_execute_var_list_return execute_var_list1439;
    #undef	RETURN_TYPE_execute_var_list1439
    #define	RETURN_TYPE_execute_var_list1439 MySQLParser_execute_var_list_return

    pANTLR3_BASE_TREE EXECUTE_SYMBOL1436_tree;
    pANTLR3_BASE_TREE USING_SYMBOL1438_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EXECUTE_SYMBOL1436       = NULL;
    USING_SYMBOL1438       = NULL;
    identifier1437.tree = NULL;

    execute_var_list1439.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EXECUTE_SYMBOL1436_tree   = NULL;
    USING_SYMBOL1438_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1479:18: ( EXECUTE_SYMBOL ^ identifier ( USING_SYMBOL execute_var_list )? )
        // MySQL.g:1480:2: EXECUTE_SYMBOL ^ identifier ( USING_SYMBOL execute_var_list )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            EXECUTE_SYMBOL1436 = (pANTLR3_COMMON_TOKEN) MATCHT(EXECUTE_SYMBOL, &FOLLOW_EXECUTE_SYMBOL_in_execute_statement7714);
            if  (HASEXCEPTION())
            {
                goto ruleexecute_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXECUTE_SYMBOL1436_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXECUTE_SYMBOL1436))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, EXECUTE_SYMBOL1436_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_identifier_in_execute_statement7717);
            identifier1437=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexecute_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1437.tree);

            // MySQL.g:1480:29: ( USING_SYMBOL execute_var_list )?
            {
                int alt472=2;
                switch ( LA(1) )
                {
                    case USING_SYMBOL:
                    	{
                    		alt472=1;
                    	}
                        break;
                }

                switch (alt472)
                {
            	case 1:
            	    // MySQL.g:1480:30: USING_SYMBOL execute_var_list
            	    {
            	        USING_SYMBOL1438 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_execute_statement7720);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexecute_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        USING_SYMBOL1438_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL1438));
            	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL1438_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_execute_var_list_in_execute_statement7722);
            	        execute_var_list1439=execute_var_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexecute_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, execute_var_list1439.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleexecute_statementEx; /* Prevent compiler warnings */
    ruleexecute_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end execute_statement */

/**
 * $ANTLR start execute_var_list
 * MySQL.g:1483:1: execute_var_list : user_variable ( COMMA_SYMBOL user_variable )* ;
 */
static MySQLParser_execute_var_list_return
execute_var_list(pMySQLParser ctx)
{
    MySQLParser_execute_var_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1441;
    MySQLParser_user_variable_return user_variable1440;
    #undef	RETURN_TYPE_user_variable1440
    #define	RETURN_TYPE_user_variable1440 MySQLParser_user_variable_return

    MySQLParser_user_variable_return user_variable1442;
    #undef	RETURN_TYPE_user_variable1442
    #define	RETURN_TYPE_user_variable1442 MySQLParser_user_variable_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1441_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1441       = NULL;
    user_variable1440.tree = NULL;

    user_variable1442.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1441_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1483:17: ( user_variable ( COMMA_SYMBOL user_variable )* )
        // MySQL.g:1484:2: user_variable ( COMMA_SYMBOL user_variable )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_variable_in_execute_var_list7733);
            user_variable1440=user_variable(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexecute_var_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1440.tree);

            // MySQL.g:1484:16: ( COMMA_SYMBOL user_variable )*

            for (;;)
            {
                int alt473=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt473=1;
                	}
                    break;

                }

                switch (alt473)
                {
            	case 1:
            	    // MySQL.g:1484:17: COMMA_SYMBOL user_variable
            	    {
            	        COMMA_SYMBOL1441 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_execute_var_list7736);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexecute_var_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1441_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1441));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1441_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_variable_in_execute_var_list7738);
            	        user_variable1442=user_variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexecute_var_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1442.tree);

            	    }
            	    break;

            	default:
            	    goto loop473;	/* break out of the loop */
            	    break;
                }
            }
            loop473: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleexecute_var_listEx; /* Prevent compiler warnings */
    ruleexecute_var_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end execute_var_list */

/**
 * $ANTLR start account_management_statement
 * MySQL.g:1489:1: account_management_statement : ({...}? => alter_user_list | create_user | drop_user |{...}? => grant_proxy | grant | rename_user | revoke_statement | set_password );
 */
static MySQLParser_account_management_statement_return
account_management_statement(pMySQLParser ctx)
{
    MySQLParser_account_management_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_alter_user_list_return alter_user_list1443;
    #undef	RETURN_TYPE_alter_user_list1443
    #define	RETURN_TYPE_alter_user_list1443 MySQLParser_alter_user_list_return

    MySQLParser_create_user_return create_user1444;
    #undef	RETURN_TYPE_create_user1444
    #define	RETURN_TYPE_create_user1444 MySQLParser_create_user_return

    MySQLParser_drop_user_return drop_user1445;
    #undef	RETURN_TYPE_drop_user1445
    #define	RETURN_TYPE_drop_user1445 MySQLParser_drop_user_return

    MySQLParser_grant_proxy_return grant_proxy1446;
    #undef	RETURN_TYPE_grant_proxy1446
    #define	RETURN_TYPE_grant_proxy1446 MySQLParser_grant_proxy_return

    MySQLParser_grant_return grant1447;
    #undef	RETURN_TYPE_grant1447
    #define	RETURN_TYPE_grant1447 MySQLParser_grant_return

    MySQLParser_rename_user_return rename_user1448;
    #undef	RETURN_TYPE_rename_user1448
    #define	RETURN_TYPE_rename_user1448 MySQLParser_rename_user_return

    MySQLParser_revoke_statement_return revoke_statement1449;
    #undef	RETURN_TYPE_revoke_statement1449
    #define	RETURN_TYPE_revoke_statement1449 MySQLParser_revoke_statement_return

    MySQLParser_set_password_return set_password1450;
    #undef	RETURN_TYPE_set_password1450
    #define	RETURN_TYPE_set_password1450 MySQLParser_set_password_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    alter_user_list1443.tree = NULL;

    create_user1444.tree = NULL;

    drop_user1445.tree = NULL;

    grant_proxy1446.tree = NULL;

    grant1447.tree = NULL;

    rename_user1448.tree = NULL;

    revoke_statement1449.tree = NULL;

    set_password1450.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1489:29: ({...}? => alter_user_list | create_user | drop_user |{...}? => grant_proxy | grant | rename_user | revoke_statement | set_password )

            ANTLR3_UINT32 alt474;

            alt474=8;

            {
                int LA474_0 = LA(1);
                if ( ((SERVER_VERSION >= 50606)) && (LA474_0 == ALTER_SYMBOL))
                {
                    alt474=1;
                }
                else if ( (LA474_0 == CREATE_SYMBOL))
                {
                    alt474=2;
                }
                else if ( (LA474_0 == DROP_SYMBOL))
                {
                    alt474=3;
                }
                else if ( (LA474_0 == GRANT_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case PROXY_SYMBOL:
                    	{
                    		{
                    		    int LA474_8 = LA(3);
                    		    if ( ((SERVER_VERSION >= 50500)))
                    		    {
                    		        alt474=4;
                    		    }
                    		    else if ( (ANTLR3_TRUE))
                    		    {
                    		        alt474=5;
                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 474;
                    		        EXCEPTION->state        = 8;


                    		        goto ruleaccount_management_statementEx;

                    		    }
                    		}
                    	}
                        break;
                    case EXECUTE_SYMBOL:
                    case EVENT_SYMBOL:
                    case FILE_SYMBOL:
                    case PROCESS_SYMBOL:
                    case RELOAD_SYMBOL:
                    case REPLICATION_SYMBOL:
                    case SHUTDOWN_SYMBOL:
                    case SUPER_SYMBOL:
                    case ALL_SYMBOL:
                    case ALTER_SYMBOL:
                    case CREATE_SYMBOL:
                    case DELETE_SYMBOL:
                    case DROP_SYMBOL:
                    case GRANT_SYMBOL:
                    case INDEX_SYMBOL:
                    case INSERT_SYMBOL:
                    case LOCK_SYMBOL:
                    case REFERENCES_SYMBOL:
                    case SELECT_SYMBOL:
                    case SHOW_SYMBOL:
                    case TRIGGER_SYMBOL:
                    case UPDATE_SYMBOL:
                    case USAGE_SYMBOL:
                    	{
                    		alt474=5;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 474;
                        EXCEPTION->state        = 4;


                        goto ruleaccount_management_statementEx;

                    }

                }
                else if ( (LA474_0 == RENAME_SYMBOL))
                {
                    alt474=6;
                }
                else if ( (LA474_0 == REVOKE_SYMBOL))
                {
                    alt474=7;
                }
                else if ( (LA474_0 == SET_SYMBOL))
                {
                    alt474=8;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 474;
                    EXCEPTION->state        = 0;


                    goto ruleaccount_management_statementEx;

                }
            }
            switch (alt474)
            {
        	case 1:
        	    // MySQL.g:1490:2: {...}? => alter_user_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50606)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50606";
        	                EXCEPTION->ruleName	 = (void *)"account_management_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_alter_user_list_in_account_management_statement7755);
        	        alter_user_list1443=alter_user_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_user_list1443.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1491:4: create_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_user_in_account_management_statement7760);
        	        create_user1444=create_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_user1444.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1492:4: drop_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_drop_user_in_account_management_statement7765);
        	        drop_user1445=drop_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_user1445.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1493:4: {...}? => grant_proxy
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"account_management_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_grant_proxy_in_account_management_statement7774);
        	        grant_proxy1446=grant_proxy(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_proxy1446.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1494:4: grant
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_grant_in_account_management_statement7779);
        	        grant1447=grant(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant1447.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1495:4: rename_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_rename_user_in_account_management_statement7784);
        	        rename_user1448=rename_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, rename_user1448.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1496:4: revoke_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_revoke_statement_in_account_management_statement7789);
        	        revoke_statement1449=revoke_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, revoke_statement1449.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1497:4: set_password
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_set_password_in_account_management_statement7794);
        	        set_password1450=set_password(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_password1450.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleaccount_management_statementEx; /* Prevent compiler warnings */
    ruleaccount_management_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end account_management_statement */

/**
 * $ANTLR start alter_user_list
 * MySQL.g:1500:1: alter_user_list : ALTER_SYMBOL ^ USER_SYMBOL alter_user ( COMMA_SYMBOL alter_user )* ;
 */
static MySQLParser_alter_user_list_return
alter_user_list(pMySQLParser ctx)
{
    MySQLParser_alter_user_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALTER_SYMBOL1451;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1452;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1454;
    MySQLParser_alter_user_return alter_user1453;
    #undef	RETURN_TYPE_alter_user1453
    #define	RETURN_TYPE_alter_user1453 MySQLParser_alter_user_return

    MySQLParser_alter_user_return alter_user1455;
    #undef	RETURN_TYPE_alter_user1455
    #define	RETURN_TYPE_alter_user1455 MySQLParser_alter_user_return

    pANTLR3_BASE_TREE ALTER_SYMBOL1451_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1452_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1454_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALTER_SYMBOL1451       = NULL;
    USER_SYMBOL1452       = NULL;
    COMMA_SYMBOL1454       = NULL;
    alter_user1453.tree = NULL;

    alter_user1455.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALTER_SYMBOL1451_tree   = NULL;
    USER_SYMBOL1452_tree   = NULL;
    COMMA_SYMBOL1454_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1500:16: ( ALTER_SYMBOL ^ USER_SYMBOL alter_user ( COMMA_SYMBOL alter_user )* )
        // MySQL.g:1501:2: ALTER_SYMBOL ^ USER_SYMBOL alter_user ( COMMA_SYMBOL alter_user )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALTER_SYMBOL1451 = (pANTLR3_COMMON_TOKEN) MATCHT(ALTER_SYMBOL, &FOLLOW_ALTER_SYMBOL_in_alter_user_list7803);
            if  (HASEXCEPTION())
            {
                goto rulealter_user_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ALTER_SYMBOL1451_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALTER_SYMBOL1451))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ALTER_SYMBOL1451_tree, root_0));
            }

            USER_SYMBOL1452 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_alter_user_list7806);
            if  (HASEXCEPTION())
            {
                goto rulealter_user_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1452_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1452));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1452_tree);
            }

            FOLLOWPUSH(FOLLOW_alter_user_in_alter_user_list7808);
            alter_user1453=alter_user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_user_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_user1453.tree);

            // MySQL.g:1501:39: ( COMMA_SYMBOL alter_user )*

            for (;;)
            {
                int alt475=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt475=1;
                	}
                    break;

                }

                switch (alt475)
                {
            	case 1:
            	    // MySQL.g:1501:40: COMMA_SYMBOL alter_user
            	    {
            	        COMMA_SYMBOL1454 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_user_list7811);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1454_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1454));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1454_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_alter_user_in_alter_user_list7813);
            	        alter_user1455=alter_user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_user1455.tree);

            	    }
            	    break;

            	default:
            	    goto loop475;	/* break out of the loop */
            	    break;
                }
            }
            loop475: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_user_listEx; /* Prevent compiler warnings */
    rulealter_user_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_user_list */

/**
 * $ANTLR start alter_user
 * MySQL.g:1504:1: alter_user : user PASSWORD_SYMBOL EXPIRE_SYMBOL ( alter_user_expire_interval )? ;
 */
static MySQLParser_alter_user_return
alter_user(pMySQLParser ctx)
{
    MySQLParser_alter_user_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1457;
    pANTLR3_COMMON_TOKEN    EXPIRE_SYMBOL1458;
    MySQLParser_user_return user1456;
    #undef	RETURN_TYPE_user1456
    #define	RETURN_TYPE_user1456 MySQLParser_user_return

    MySQLParser_alter_user_expire_interval_return alter_user_expire_interval1459;
    #undef	RETURN_TYPE_alter_user_expire_interval1459
    #define	RETURN_TYPE_alter_user_expire_interval1459 MySQLParser_alter_user_expire_interval_return

    pANTLR3_BASE_TREE PASSWORD_SYMBOL1457_tree;
    pANTLR3_BASE_TREE EXPIRE_SYMBOL1458_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PASSWORD_SYMBOL1457       = NULL;
    EXPIRE_SYMBOL1458       = NULL;
    user1456.tree = NULL;

    alter_user_expire_interval1459.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PASSWORD_SYMBOL1457_tree   = NULL;
    EXPIRE_SYMBOL1458_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1504:11: ( user PASSWORD_SYMBOL EXPIRE_SYMBOL ( alter_user_expire_interval )? )
        // MySQL.g:1505:2: user PASSWORD_SYMBOL EXPIRE_SYMBOL ( alter_user_expire_interval )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_in_alter_user7824);
            user1456=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1456.tree);

            PASSWORD_SYMBOL1457 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_alter_user7826);
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PASSWORD_SYMBOL1457_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1457));
            ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1457_tree);
            }

            EXPIRE_SYMBOL1458 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPIRE_SYMBOL, &FOLLOW_EXPIRE_SYMBOL_in_alter_user7828);
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXPIRE_SYMBOL1458_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPIRE_SYMBOL1458));
            ADAPTOR->addChild(ADAPTOR, root_0, EXPIRE_SYMBOL1458_tree);
            }

            // MySQL.g:1505:37: ( alter_user_expire_interval )?
            {
                int alt476=2;
                {
                    int LA476_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50704)) && (LA476_0 == NEVER_SYMBOL || LA476_0 == DEFAULT_SYMBOL || LA476_0 == INTERVAL_SYMBOL))
                    {
                        alt476=1;
                    }
                }
                switch (alt476)
                {
            	case 1:
            	    // MySQL.g:1505:37: alter_user_expire_interval
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_user_expire_interval_in_alter_user7830);
            	        alter_user_expire_interval1459=alter_user_expire_interval(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_user_expire_interval1459.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_userEx; /* Prevent compiler warnings */
    rulealter_userEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_user */

/**
 * $ANTLR start alter_user_expire_interval
 * MySQL.g:1508:1: alter_user_expire_interval :{...}? => ( INTERVAL_SYMBOL number DAY_SYMBOL | NEVER_SYMBOL | DEFAULT_SYMBOL ) ;
 */
static MySQLParser_alter_user_expire_interval_return
alter_user_expire_interval(pMySQLParser ctx)
{
    MySQLParser_alter_user_expire_interval_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTERVAL_SYMBOL1460;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL1462;
    pANTLR3_COMMON_TOKEN    NEVER_SYMBOL1463;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL1464;
    MySQLParser_number_return number1461;
    #undef	RETURN_TYPE_number1461
    #define	RETURN_TYPE_number1461 MySQLParser_number_return

    pANTLR3_BASE_TREE INTERVAL_SYMBOL1460_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL1462_tree;
    pANTLR3_BASE_TREE NEVER_SYMBOL1463_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL1464_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTERVAL_SYMBOL1460       = NULL;
    DAY_SYMBOL1462       = NULL;
    NEVER_SYMBOL1463       = NULL;
    DEFAULT_SYMBOL1464       = NULL;
    number1461.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTERVAL_SYMBOL1460_tree   = NULL;
    DAY_SYMBOL1462_tree   = NULL;
    NEVER_SYMBOL1463_tree   = NULL;
    DEFAULT_SYMBOL1464_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1508:27: ({...}? => ( INTERVAL_SYMBOL number DAY_SYMBOL | NEVER_SYMBOL | DEFAULT_SYMBOL ) )
        // MySQL.g:1509:2: {...}? => ( INTERVAL_SYMBOL number DAY_SYMBOL | NEVER_SYMBOL | DEFAULT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50704)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50704";
                    EXCEPTION->ruleName	 = (void *)"alter_user_expire_interval";


            }

            // MySQL.g:1509:32: ( INTERVAL_SYMBOL number DAY_SYMBOL | NEVER_SYMBOL | DEFAULT_SYMBOL )
            {
                int alt477=3;
                switch ( LA(1) )
                {
                case INTERVAL_SYMBOL:
                	{
                		alt477=1;
                	}
                    break;
                case NEVER_SYMBOL:
                	{
                		alt477=2;
                	}
                    break;
                case DEFAULT_SYMBOL:
                	{
                		alt477=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 477;
                    EXCEPTION->state        = 0;


                    goto rulealter_user_expire_intervalEx;

                }

                switch (alt477)
                {
            	case 1:
            	    // MySQL.g:1510:3: INTERVAL_SYMBOL number DAY_SYMBOL
            	    {
            	        INTERVAL_SYMBOL1460 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_alter_user_expire_interval7848);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_expire_intervalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTERVAL_SYMBOL1460_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTERVAL_SYMBOL1460));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTERVAL_SYMBOL1460_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_number_in_alter_user_expire_interval7850);
            	        number1461=number(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_expire_intervalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number1461.tree);

            	        DAY_SYMBOL1462 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_alter_user_expire_interval7852);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_expire_intervalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DAY_SYMBOL1462_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL1462));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL1462_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1511:5: NEVER_SYMBOL
            	    {
            	        NEVER_SYMBOL1463 = (pANTLR3_COMMON_TOKEN) MATCHT(NEVER_SYMBOL, &FOLLOW_NEVER_SYMBOL_in_alter_user_expire_interval7858);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_expire_intervalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NEVER_SYMBOL1463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NEVER_SYMBOL1463));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NEVER_SYMBOL1463_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1512:5: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL1464 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_user_expire_interval7864);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_user_expire_intervalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL1464_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL1464));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL1464_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_user_expire_intervalEx; /* Prevent compiler warnings */
    rulealter_user_expire_intervalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_user_expire_interval */

/**
 * $ANTLR start create_user
 * MySQL.g:1516:1: create_user : CREATE_SYMBOL ^ USER_SYMBOL user_specification ;
 */
static MySQLParser_create_user_return
create_user(pMySQLParser ctx)
{
    MySQLParser_create_user_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL1465;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1466;
    MySQLParser_user_specification_return user_specification1467;
    #undef	RETURN_TYPE_user_specification1467
    #define	RETURN_TYPE_user_specification1467 MySQLParser_user_specification_return

    pANTLR3_BASE_TREE CREATE_SYMBOL1465_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1466_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL1465       = NULL;
    USER_SYMBOL1466       = NULL;
    user_specification1467.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL1465_tree   = NULL;
    USER_SYMBOL1466_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1516:12: ( CREATE_SYMBOL ^ USER_SYMBOL user_specification )
        // MySQL.g:1517:2: CREATE_SYMBOL ^ USER_SYMBOL user_specification
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL1465 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_user7876);
            if  (HASEXCEPTION())
            {
                goto rulecreate_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL1465_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL1465))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL1465_tree, root_0));
            }

            USER_SYMBOL1466 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_create_user7879);
            if  (HASEXCEPTION())
            {
                goto rulecreate_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1466_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1466));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1466_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_create_user7881);
            user_specification1467=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1467.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_userEx; /* Prevent compiler warnings */
    rulecreate_userEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_user */

/**
 * $ANTLR start drop_user
 * MySQL.g:1520:1: drop_user : DROP_SYMBOL ^ USER_SYMBOL user_list ;
 */
static MySQLParser_drop_user_return
drop_user(pMySQLParser ctx)
{
    MySQLParser_drop_user_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DROP_SYMBOL1468;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1469;
    MySQLParser_user_list_return user_list1470;
    #undef	RETURN_TYPE_user_list1470
    #define	RETURN_TYPE_user_list1470 MySQLParser_user_list_return

    pANTLR3_BASE_TREE DROP_SYMBOL1468_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1469_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DROP_SYMBOL1468       = NULL;
    USER_SYMBOL1469       = NULL;
    user_list1470.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DROP_SYMBOL1468_tree   = NULL;
    USER_SYMBOL1469_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1520:10: ( DROP_SYMBOL ^ USER_SYMBOL user_list )
        // MySQL.g:1521:2: DROP_SYMBOL ^ USER_SYMBOL user_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DROP_SYMBOL1468 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_drop_user7890);
            if  (HASEXCEPTION())
            {
                goto ruledrop_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DROP_SYMBOL1468_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL1468))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DROP_SYMBOL1468_tree, root_0));
            }

            USER_SYMBOL1469 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_drop_user7893);
            if  (HASEXCEPTION())
            {
                goto ruledrop_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1469));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1469_tree);
            }

            FOLLOWPUSH(FOLLOW_user_list_in_drop_user7895);
            user_list1470=user_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledrop_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1470.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledrop_userEx; /* Prevent compiler warnings */
    ruledrop_userEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end drop_user */

/**
 * $ANTLR start parse_grant
 * MySQL.g:1524:1: parse_grant : grant EOF ;
 */
static MySQLParser_parse_grant_return
parse_grant(pMySQLParser ctx)
{
    MySQLParser_parse_grant_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EOF1472;
    MySQLParser_grant_return grant1471;
    #undef	RETURN_TYPE_grant1471
    #define	RETURN_TYPE_grant1471 MySQLParser_grant_return

    pANTLR3_BASE_TREE EOF1472_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EOF1472       = NULL;
    grant1471.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EOF1472_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1524:12: ( grant EOF )
        // MySQL.g:1525:2: grant EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_grant_in_parse_grant7905);
            grant1471=grant(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleparse_grantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant1471.tree);

            EOF1472 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_parse_grant7907);
            if  (HASEXCEPTION())
            {
                goto ruleparse_grantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF1472_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF1472));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF1472_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleparse_grantEx; /* Prevent compiler warnings */
    ruleparse_grantEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end parse_grant */

/**
 * $ANTLR start grant
 * MySQL.g:1528:1: grant : GRANT_SYMBOL ^ grant_privileges privilege_target TO_SYMBOL user_specification ( COMMA_SYMBOL user_specification )* ( REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* ) )? ( WITH_SYMBOL ( grant_option )+ )? ;
 */
static MySQLParser_grant_return
grant(pMySQLParser ctx)
{
    MySQLParser_grant_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1473;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1476;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1478;
    pANTLR3_COMMON_TOKEN    REQUIRE_SYMBOL1480;
    pANTLR3_COMMON_TOKEN    NONE_SYMBOL1481;
    pANTLR3_COMMON_TOKEN    SSL_SYMBOL1482;
    pANTLR3_COMMON_TOKEN    X509_SYMBOL1483;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1485;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1487;
    MySQLParser_grant_privileges_return grant_privileges1474;
    #undef	RETURN_TYPE_grant_privileges1474
    #define	RETURN_TYPE_grant_privileges1474 MySQLParser_grant_privileges_return

    MySQLParser_privilege_target_return privilege_target1475;
    #undef	RETURN_TYPE_privilege_target1475
    #define	RETURN_TYPE_privilege_target1475 MySQLParser_privilege_target_return

    MySQLParser_user_specification_return user_specification1477;
    #undef	RETURN_TYPE_user_specification1477
    #define	RETURN_TYPE_user_specification1477 MySQLParser_user_specification_return

    MySQLParser_user_specification_return user_specification1479;
    #undef	RETURN_TYPE_user_specification1479
    #define	RETURN_TYPE_user_specification1479 MySQLParser_user_specification_return

    MySQLParser_require_list_return require_list1484;
    #undef	RETURN_TYPE_require_list1484
    #define	RETURN_TYPE_require_list1484 MySQLParser_require_list_return

    MySQLParser_require_list_return require_list1486;
    #undef	RETURN_TYPE_require_list1486
    #define	RETURN_TYPE_require_list1486 MySQLParser_require_list_return

    MySQLParser_grant_option_return grant_option1488;
    #undef	RETURN_TYPE_grant_option1488
    #define	RETURN_TYPE_grant_option1488 MySQLParser_grant_option_return

    pANTLR3_BASE_TREE GRANT_SYMBOL1473_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1476_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1478_tree;
    pANTLR3_BASE_TREE REQUIRE_SYMBOL1480_tree;
    pANTLR3_BASE_TREE NONE_SYMBOL1481_tree;
    pANTLR3_BASE_TREE SSL_SYMBOL1482_tree;
    pANTLR3_BASE_TREE X509_SYMBOL1483_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1485_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1487_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1473       = NULL;
    TO_SYMBOL1476       = NULL;
    COMMA_SYMBOL1478       = NULL;
    REQUIRE_SYMBOL1480       = NULL;
    NONE_SYMBOL1481       = NULL;
    SSL_SYMBOL1482       = NULL;
    X509_SYMBOL1483       = NULL;
    AND_SYMBOL1485       = NULL;
    WITH_SYMBOL1487       = NULL;
    grant_privileges1474.tree = NULL;

    privilege_target1475.tree = NULL;

    user_specification1477.tree = NULL;

    user_specification1479.tree = NULL;

    require_list1484.tree = NULL;

    require_list1486.tree = NULL;

    grant_option1488.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1473_tree   = NULL;
    TO_SYMBOL1476_tree   = NULL;
    COMMA_SYMBOL1478_tree   = NULL;
    REQUIRE_SYMBOL1480_tree   = NULL;
    NONE_SYMBOL1481_tree   = NULL;
    SSL_SYMBOL1482_tree   = NULL;
    X509_SYMBOL1483_tree   = NULL;
    AND_SYMBOL1485_tree   = NULL;
    WITH_SYMBOL1487_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1528:6: ( GRANT_SYMBOL ^ grant_privileges privilege_target TO_SYMBOL user_specification ( COMMA_SYMBOL user_specification )* ( REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* ) )? ( WITH_SYMBOL ( grant_option )+ )? )
        // MySQL.g:1529:2: GRANT_SYMBOL ^ grant_privileges privilege_target TO_SYMBOL user_specification ( COMMA_SYMBOL user_specification )* ( REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* ) )? ( WITH_SYMBOL ( grant_option )+ )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            GRANT_SYMBOL1473 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant7916);
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GRANT_SYMBOL1473_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1473))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, GRANT_SYMBOL1473_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_grant_privileges_in_grant7919);
            grant_privileges1474=grant_privileges(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_privileges1474.tree);

            FOLLOWPUSH(FOLLOW_privilege_target_in_grant7921);
            privilege_target1475=privilege_target(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_target1475.tree);

            TO_SYMBOL1476 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_grant7925);
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1476_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1476));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1476_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_grant7927);
            user_specification1477=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1477.tree);

            // MySQL.g:1530:32: ( COMMA_SYMBOL user_specification )*

            for (;;)
            {
                int alt478=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt478=1;
                	}
                    break;

                }

                switch (alt478)
                {
            	case 1:
            	    // MySQL.g:1530:33: COMMA_SYMBOL user_specification
            	    {
            	        COMMA_SYMBOL1478 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant7930);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1478_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1478));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1478_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_specification_in_grant7932);
            	        user_specification1479=user_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1479.tree);

            	    }
            	    break;

            	default:
            	    goto loop478;	/* break out of the loop */
            	    break;
                }
            }
            loop478: ; /* Jump out to here if this rule does not match */


            // MySQL.g:1531:3: ( REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* ) )?
            {
                int alt482=2;
                switch ( LA(1) )
                {
                    case REQUIRE_SYMBOL:
                    	{
                    		alt482=1;
                    	}
                        break;
                }

                switch (alt482)
                {
            	case 1:
            	    // MySQL.g:1531:4: REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* )
            	    {
            	        REQUIRE_SYMBOL1480 = (pANTLR3_COMMON_TOKEN) MATCHT(REQUIRE_SYMBOL, &FOLLOW_REQUIRE_SYMBOL_in_grant7939);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        REQUIRE_SYMBOL1480_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REQUIRE_SYMBOL1480));
            	        ADAPTOR->addChild(ADAPTOR, root_0, REQUIRE_SYMBOL1480_tree);
            	        }

            	        // MySQL.g:1532:4: ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* )
            	        {
            	            int alt481=4;
            	            switch ( LA(1) )
            	            {
            	            case NONE_SYMBOL:
            	            	{
            	            		alt481=1;
            	            	}
            	                break;
            	            case SSL_SYMBOL:
            	            	{
            	            		alt481=2;
            	            	}
            	                break;
            	            case X509_SYMBOL:
            	            	{
            	            		alt481=3;
            	            	}
            	                break;
            	            case CIPHER_SYMBOL:
            	            case ISSUER_SYMBOL:
            	            case SUBJECT_SYMBOL:
            	            	{
            	            		alt481=4;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 481;
            	                EXCEPTION->state        = 0;


            	                goto rulegrantEx;

            	            }

            	            switch (alt481)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1533:5: NONE_SYMBOL
            	        	    {
            	        	        NONE_SYMBOL1481 = (pANTLR3_COMMON_TOKEN) MATCHT(NONE_SYMBOL, &FOLLOW_NONE_SYMBOL_in_grant7950);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NONE_SYMBOL1481_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NONE_SYMBOL1481));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NONE_SYMBOL1481_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1534:7: SSL_SYMBOL
            	        	    {
            	        	        SSL_SYMBOL1482 = (pANTLR3_COMMON_TOKEN) MATCHT(SSL_SYMBOL, &FOLLOW_SSL_SYMBOL_in_grant7958);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SSL_SYMBOL1482_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SSL_SYMBOL1482));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SSL_SYMBOL1482_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:1535:7: X509_SYMBOL
            	        	    {
            	        	        X509_SYMBOL1483 = (pANTLR3_COMMON_TOKEN) MATCHT(X509_SYMBOL, &FOLLOW_X509_SYMBOL_in_grant7966);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        X509_SYMBOL1483_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, X509_SYMBOL1483));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, X509_SYMBOL1483_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:1536:7: require_list ( ( AND_SYMBOL )? require_list )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_require_list_in_grant7974);
            	        	        require_list1484=require_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, require_list1484.tree);

            	        	        // MySQL.g:1536:20: ( ( AND_SYMBOL )? require_list )*

            	        	        for (;;)
            	        	        {
            	        	            int alt480=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case CIPHER_SYMBOL:
            	        	            case ISSUER_SYMBOL:
            	        	            case SUBJECT_SYMBOL:
            	        	            case AND_SYMBOL:
            	        	            	{
            	        	            		alt480=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt480)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1536:21: ( AND_SYMBOL )? require_list
            	        	        	    {
            	        	        	        // MySQL.g:1536:21: ( AND_SYMBOL )?
            	        	        	        {
            	        	        	            int alt479=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case AND_SYMBOL:
            	        	        	                	{
            	        	        	                		alt479=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt479)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:1536:21: AND_SYMBOL
            	        	        	        	    {
            	        	        	        	        AND_SYMBOL1485 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_grant7977);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto rulegrantEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        AND_SYMBOL1485_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1485));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1485_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_require_list_in_grant7980);
            	        	        	        require_list1486=require_list(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulegrantEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, require_list1486.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop480;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop480: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1539:3: ( WITH_SYMBOL ( grant_option )+ )?
            {
                int alt484=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt484=1;
                    	}
                        break;
                }

                switch (alt484)
                {
            	case 1:
            	    // MySQL.g:1539:4: WITH_SYMBOL ( grant_option )+
            	    {
            	        WITH_SYMBOL1487 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_grant7997);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL1487_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1487));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1487_tree);
            	        }

            	        // MySQL.g:1539:16: ( grant_option )+
            	        {
            	            int cnt483=0;

            	            for (;;)
            	            {
            	                int alt483=2;
            	        	switch ( LA(1) )
            	        	{
            	        	case MAX_CONNECTIONS_PER_HOUR_SYMBOL:
            	        	case MAX_QUERIES_PER_HOUR_SYMBOL:
            	        	case MAX_UPDATES_PER_HOUR_SYMBOL:
            	        	case MAX_USER_CONNECTIONS_SYMBOL:
            	        	case GRANT_SYMBOL:
            	        		{
            	        			alt483=1;
            	        		}
            	        	    break;

            	        	}

            	        	switch (alt483)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:1539:16: grant_option
            	        	        {
            	        	            FOLLOWPUSH(FOLLOW_grant_option_in_grant7999);
            	        	            grant_option1488=grant_option(ctx);

            	        	            FOLLOWPOP();
            	        	            if  (HASEXCEPTION())
            	        	            {
            	        	                goto rulegrantEx;
            	        	            }
            	        	            if (HASFAILED())
            	        	            {
            	        	                return retval;
            	        	            }

            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_option1488.tree);

            	        	        }
            	        	        break;

            	        	    default:

            	        		if ( cnt483 >= 1 )
            	        		{
            	        		    goto loop483;
            	        		}
            	        		if (BACKTRACKING>0)
            	        		{
            	        		    FAILEDFLAG = ANTLR3_TRUE;
            	        		    return retval;
            	        		}

            	        		/* mismatchedSetEx()
            	        		 */
            	        		CONSTRUCTEX();
            	        		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            	        		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            	        		goto rulegrantEx;
            	        	}
            	        	cnt483++;
            	            }
            	            loop483: ;	/* Jump to here if this rule does not match */
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulegrantEx; /* Prevent compiler warnings */
    rulegrantEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end grant */

/**
 * $ANTLR start grant_proxy
 * MySQL.g:1542:1: grant_proxy : GRANT_SYMBOL ^ PROXY_SYMBOL ON_SYMBOL user_specification TO_SYMBOL user_specification ( COMMA_SYMBOL user_specification )* ( WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL )? ;
 */
static MySQLParser_grant_proxy_return
grant_proxy(pMySQLParser ctx)
{
    MySQLParser_grant_proxy_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1489;
    pANTLR3_COMMON_TOKEN    PROXY_SYMBOL1490;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1491;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1493;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1495;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1497;
    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1498;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1499;
    MySQLParser_user_specification_return user_specification1492;
    #undef	RETURN_TYPE_user_specification1492
    #define	RETURN_TYPE_user_specification1492 MySQLParser_user_specification_return

    MySQLParser_user_specification_return user_specification1494;
    #undef	RETURN_TYPE_user_specification1494
    #define	RETURN_TYPE_user_specification1494 MySQLParser_user_specification_return

    MySQLParser_user_specification_return user_specification1496;
    #undef	RETURN_TYPE_user_specification1496
    #define	RETURN_TYPE_user_specification1496 MySQLParser_user_specification_return

    pANTLR3_BASE_TREE GRANT_SYMBOL1489_tree;
    pANTLR3_BASE_TREE PROXY_SYMBOL1490_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1491_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1493_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1495_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1497_tree;
    pANTLR3_BASE_TREE GRANT_SYMBOL1498_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1499_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1489       = NULL;
    PROXY_SYMBOL1490       = NULL;
    ON_SYMBOL1491       = NULL;
    TO_SYMBOL1493       = NULL;
    COMMA_SYMBOL1495       = NULL;
    WITH_SYMBOL1497       = NULL;
    GRANT_SYMBOL1498       = NULL;
    OPTION_SYMBOL1499       = NULL;
    user_specification1492.tree = NULL;

    user_specification1494.tree = NULL;

    user_specification1496.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1489_tree   = NULL;
    PROXY_SYMBOL1490_tree   = NULL;
    ON_SYMBOL1491_tree   = NULL;
    TO_SYMBOL1493_tree   = NULL;
    COMMA_SYMBOL1495_tree   = NULL;
    WITH_SYMBOL1497_tree   = NULL;
    GRANT_SYMBOL1498_tree   = NULL;
    OPTION_SYMBOL1499_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1542:12: ( GRANT_SYMBOL ^ PROXY_SYMBOL ON_SYMBOL user_specification TO_SYMBOL user_specification ( COMMA_SYMBOL user_specification )* ( WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL )? )
        // MySQL.g:1543:2: GRANT_SYMBOL ^ PROXY_SYMBOL ON_SYMBOL user_specification TO_SYMBOL user_specification ( COMMA_SYMBOL user_specification )* ( WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            GRANT_SYMBOL1489 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_proxy8011);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GRANT_SYMBOL1489_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1489))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, GRANT_SYMBOL1489_tree, root_0));
            }

            PROXY_SYMBOL1490 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_grant_proxy8014);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PROXY_SYMBOL1490_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROXY_SYMBOL1490));
            ADAPTOR->addChild(ADAPTOR, root_0, PROXY_SYMBOL1490_tree);
            }

            ON_SYMBOL1491 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_grant_proxy8016);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL1491_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1491));
            ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1491_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_grant_proxy8018);
            user_specification1492=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1492.tree);

            TO_SYMBOL1493 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_grant_proxy8020);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1493_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1493));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1493_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_grant_proxy8022);
            user_specification1494=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1494.tree);

            // MySQL.g:1543:87: ( COMMA_SYMBOL user_specification )*

            for (;;)
            {
                int alt485=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt485=1;
                	}
                    break;

                }

                switch (alt485)
                {
            	case 1:
            	    // MySQL.g:1543:88: COMMA_SYMBOL user_specification
            	    {
            	        COMMA_SYMBOL1495 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant_proxy8025);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1495_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1495));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1495_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_specification_in_grant_proxy8027);
            	        user_specification1496=user_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1496.tree);

            	    }
            	    break;

            	default:
            	    goto loop485;	/* break out of the loop */
            	    break;
                }
            }
            loop485: ; /* Jump out to here if this rule does not match */


            // MySQL.g:1544:3: ( WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL )?
            {
                int alt486=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt486=1;
                    	}
                        break;
                }

                switch (alt486)
                {
            	case 1:
            	    // MySQL.g:1544:4: WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL1497 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_grant_proxy8034);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL1497_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1497));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1497_tree);
            	        }

            	        GRANT_SYMBOL1498 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_proxy8036);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GRANT_SYMBOL1498_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1498));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1498_tree);
            	        }

            	        OPTION_SYMBOL1499 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_grant_proxy8038);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL1499_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1499));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1499_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulegrant_proxyEx; /* Prevent compiler warnings */
    rulegrant_proxyEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end grant_proxy */

/**
 * $ANTLR start rename_user
 * MySQL.g:1547:1: rename_user : RENAME_SYMBOL ^ USER_SYMBOL user TO_SYMBOL user ( COMMA_SYMBOL user TO_SYMBOL user )* ;
 */
static MySQLParser_rename_user_return
rename_user(pMySQLParser ctx)
{
    MySQLParser_rename_user_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL1500;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1501;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1503;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1505;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1507;
    MySQLParser_user_return user1502;
    #undef	RETURN_TYPE_user1502
    #define	RETURN_TYPE_user1502 MySQLParser_user_return

    MySQLParser_user_return user1504;
    #undef	RETURN_TYPE_user1504
    #define	RETURN_TYPE_user1504 MySQLParser_user_return

    MySQLParser_user_return user1506;
    #undef	RETURN_TYPE_user1506
    #define	RETURN_TYPE_user1506 MySQLParser_user_return

    MySQLParser_user_return user1508;
    #undef	RETURN_TYPE_user1508
    #define	RETURN_TYPE_user1508 MySQLParser_user_return

    pANTLR3_BASE_TREE RENAME_SYMBOL1500_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1501_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1503_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1505_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1507_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RENAME_SYMBOL1500       = NULL;
    USER_SYMBOL1501       = NULL;
    TO_SYMBOL1503       = NULL;
    COMMA_SYMBOL1505       = NULL;
    TO_SYMBOL1507       = NULL;
    user1502.tree = NULL;

    user1504.tree = NULL;

    user1506.tree = NULL;

    user1508.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RENAME_SYMBOL1500_tree   = NULL;
    USER_SYMBOL1501_tree   = NULL;
    TO_SYMBOL1503_tree   = NULL;
    COMMA_SYMBOL1505_tree   = NULL;
    TO_SYMBOL1507_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1547:12: ( RENAME_SYMBOL ^ USER_SYMBOL user TO_SYMBOL user ( COMMA_SYMBOL user TO_SYMBOL user )* )
        // MySQL.g:1548:2: RENAME_SYMBOL ^ USER_SYMBOL user TO_SYMBOL user ( COMMA_SYMBOL user TO_SYMBOL user )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RENAME_SYMBOL1500 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_rename_user8049);
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RENAME_SYMBOL1500_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL1500))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RENAME_SYMBOL1500_tree, root_0));
            }

            USER_SYMBOL1501 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_rename_user8052);
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1501_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1501));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1501_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_rename_user8054);
            user1502=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1502.tree);

            TO_SYMBOL1503 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_user8056);
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1503_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1503));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1503_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_rename_user8058);
            user1504=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1504.tree);

            // MySQL.g:1548:49: ( COMMA_SYMBOL user TO_SYMBOL user )*

            for (;;)
            {
                int alt487=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt487=1;
                	}
                    break;

                }

                switch (alt487)
                {
            	case 1:
            	    // MySQL.g:1548:50: COMMA_SYMBOL user TO_SYMBOL user
            	    {
            	        COMMA_SYMBOL1505 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_rename_user8061);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1505_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1505));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1505_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_rename_user8063);
            	        user1506=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1506.tree);

            	        TO_SYMBOL1507 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_user8065);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TO_SYMBOL1507_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1507));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1507_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_rename_user8067);
            	        user1508=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1508.tree);

            	    }
            	    break;

            	default:
            	    goto loop487;	/* break out of the loop */
            	    break;
                }
            }
            loop487: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulerename_userEx; /* Prevent compiler warnings */
    rulerename_userEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end rename_user */

/**
 * $ANTLR start revoke_statement
 * MySQL.g:1551:1: revoke_statement : REVOKE_SYMBOL ^ ({...}? => ALL_SYMBOL ( PRIVILEGES_SYMBOL )? COMMA_SYMBOL GRANT_SYMBOL OPTION_SYMBOL FROM_SYMBOL user_list | grant_privileges privilege_target FROM_SYMBOL user_list |{...}? => PROXY_SYMBOL ON_SYMBOL user FROM_SYMBOL user_list ) ;
 */
static MySQLParser_revoke_statement_return
revoke_statement(pMySQLParser ctx)
{
    MySQLParser_revoke_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REVOKE_SYMBOL1509;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1510;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1511;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1512;
    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1513;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1514;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1515;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1519;
    pANTLR3_COMMON_TOKEN    PROXY_SYMBOL1521;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1522;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1524;
    MySQLParser_user_list_return user_list1516;
    #undef	RETURN_TYPE_user_list1516
    #define	RETURN_TYPE_user_list1516 MySQLParser_user_list_return

    MySQLParser_grant_privileges_return grant_privileges1517;
    #undef	RETURN_TYPE_grant_privileges1517
    #define	RETURN_TYPE_grant_privileges1517 MySQLParser_grant_privileges_return

    MySQLParser_privilege_target_return privilege_target1518;
    #undef	RETURN_TYPE_privilege_target1518
    #define	RETURN_TYPE_privilege_target1518 MySQLParser_privilege_target_return

    MySQLParser_user_list_return user_list1520;
    #undef	RETURN_TYPE_user_list1520
    #define	RETURN_TYPE_user_list1520 MySQLParser_user_list_return

    MySQLParser_user_return user1523;
    #undef	RETURN_TYPE_user1523
    #define	RETURN_TYPE_user1523 MySQLParser_user_return

    MySQLParser_user_list_return user_list1525;
    #undef	RETURN_TYPE_user_list1525
    #define	RETURN_TYPE_user_list1525 MySQLParser_user_list_return

    pANTLR3_BASE_TREE REVOKE_SYMBOL1509_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1510_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1511_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1512_tree;
    pANTLR3_BASE_TREE GRANT_SYMBOL1513_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1514_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1515_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1519_tree;
    pANTLR3_BASE_TREE PROXY_SYMBOL1521_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1522_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1524_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REVOKE_SYMBOL1509       = NULL;
    ALL_SYMBOL1510       = NULL;
    PRIVILEGES_SYMBOL1511       = NULL;
    COMMA_SYMBOL1512       = NULL;
    GRANT_SYMBOL1513       = NULL;
    OPTION_SYMBOL1514       = NULL;
    FROM_SYMBOL1515       = NULL;
    FROM_SYMBOL1519       = NULL;
    PROXY_SYMBOL1521       = NULL;
    ON_SYMBOL1522       = NULL;
    FROM_SYMBOL1524       = NULL;
    user_list1516.tree = NULL;

    grant_privileges1517.tree = NULL;

    privilege_target1518.tree = NULL;

    user_list1520.tree = NULL;

    user1523.tree = NULL;

    user_list1525.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REVOKE_SYMBOL1509_tree   = NULL;
    ALL_SYMBOL1510_tree   = NULL;
    PRIVILEGES_SYMBOL1511_tree   = NULL;
    COMMA_SYMBOL1512_tree   = NULL;
    GRANT_SYMBOL1513_tree   = NULL;
    OPTION_SYMBOL1514_tree   = NULL;
    FROM_SYMBOL1515_tree   = NULL;
    FROM_SYMBOL1519_tree   = NULL;
    PROXY_SYMBOL1521_tree   = NULL;
    ON_SYMBOL1522_tree   = NULL;
    FROM_SYMBOL1524_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1551:17: ( REVOKE_SYMBOL ^ ({...}? => ALL_SYMBOL ( PRIVILEGES_SYMBOL )? COMMA_SYMBOL GRANT_SYMBOL OPTION_SYMBOL FROM_SYMBOL user_list | grant_privileges privilege_target FROM_SYMBOL user_list |{...}? => PROXY_SYMBOL ON_SYMBOL user FROM_SYMBOL user_list ) )
        // MySQL.g:1552:2: REVOKE_SYMBOL ^ ({...}? => ALL_SYMBOL ( PRIVILEGES_SYMBOL )? COMMA_SYMBOL GRANT_SYMBOL OPTION_SYMBOL FROM_SYMBOL user_list | grant_privileges privilege_target FROM_SYMBOL user_list |{...}? => PROXY_SYMBOL ON_SYMBOL user FROM_SYMBOL user_list )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REVOKE_SYMBOL1509 = (pANTLR3_COMMON_TOKEN) MATCHT(REVOKE_SYMBOL, &FOLLOW_REVOKE_SYMBOL_in_revoke_statement8078);
            if  (HASEXCEPTION())
            {
                goto rulerevoke_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REVOKE_SYMBOL1509_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVOKE_SYMBOL1509))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REVOKE_SYMBOL1509_tree, root_0));
            }

            // MySQL.g:1553:2: ({...}? => ALL_SYMBOL ( PRIVILEGES_SYMBOL )? COMMA_SYMBOL GRANT_SYMBOL OPTION_SYMBOL FROM_SYMBOL user_list | grant_privileges privilege_target FROM_SYMBOL user_list |{...}? => PROXY_SYMBOL ON_SYMBOL user FROM_SYMBOL user_list )
            {
                int alt489=3;
                switch ( LA(1) )
                {
                case ALL_SYMBOL:
                	{
                		{
                		    int LA489_1 = LA(2);
                		    if ( (LA489_1 == PRIVILEGES_SYMBOL))
                		    {
                		        {
                		            int LA489_25 = LA(3);
                		            if ( ((LA(1) == ALL_SYMBOL)))
                		            {
                		                alt489=1;
                		            }
                		            else if ( (ANTLR3_TRUE))
                		            {
                		                alt489=2;
                		            }
                		            else
                		            {
                		                if (BACKTRACKING>0)
                		                {
                		                    FAILEDFLAG = ANTLR3_TRUE;
                		                    return retval;
                		                }


                		                CONSTRUCTEX();
                		                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		                EXCEPTION->message      = (void *)"";
                		                EXCEPTION->decisionNum  = 489;
                		                EXCEPTION->state        = 25;


                		                goto rulerevoke_statementEx;

                		            }
                		        }
                		    }
                		    else if ( ((LA(1) == ALL_SYMBOL)) && (LA489_1 == COMMA_SYMBOL))
                		    {
                		        alt489=1;
                		    }
                		    else if ( (LA489_1 == ON_SYMBOL))
                		    {
                		        alt489=2;
                		    }
                		    else
                		    {
                		        if (BACKTRACKING>0)
                		        {
                		            FAILEDFLAG = ANTLR3_TRUE;
                		            return retval;
                		        }


                		        CONSTRUCTEX();
                		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		        EXCEPTION->message      = (void *)"";
                		        EXCEPTION->decisionNum  = 489;
                		        EXCEPTION->state        = 1;


                		        goto rulerevoke_statementEx;

                		    }
                		}
                	}
                    break;
                case EXECUTE_SYMBOL:
                case EVENT_SYMBOL:
                case FILE_SYMBOL:
                case PROCESS_SYMBOL:
                case RELOAD_SYMBOL:
                case REPLICATION_SYMBOL:
                case SHUTDOWN_SYMBOL:
                case SUPER_SYMBOL:
                case ALTER_SYMBOL:
                case CREATE_SYMBOL:
                case DELETE_SYMBOL:
                case DROP_SYMBOL:
                case GRANT_SYMBOL:
                case INDEX_SYMBOL:
                case INSERT_SYMBOL:
                case LOCK_SYMBOL:
                case REFERENCES_SYMBOL:
                case SELECT_SYMBOL:
                case SHOW_SYMBOL:
                case TRIGGER_SYMBOL:
                case UPDATE_SYMBOL:
                case USAGE_SYMBOL:
                	{
                		alt489=2;
                	}
                    break;
                case PROXY_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case ON_SYMBOL:
                			{
                				{
                				    int LA489_28 = LA(3);
                				    if ( (!( ((SERVER_VERSION >= 50500)) )))
                				    {
                				        alt489=2;
                				    }
                				    else if ( ((SERVER_VERSION >= 50500)))
                				    {
                				        alt489=3;
                				    }
                				    else
                				    {
                				        if (BACKTRACKING>0)
                				        {
                				            FAILEDFLAG = ANTLR3_TRUE;
                				            return retval;
                				        }


                				        CONSTRUCTEX();
                				        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                				        EXCEPTION->message      = (void *)"";
                				        EXCEPTION->decisionNum  = 489;
                				        EXCEPTION->state        = 28;


                				        goto rulerevoke_statementEx;

                				    }
                				}
                			}
                		    break;
                		case COMMA_SYMBOL:
                			{
                				alt489=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 489;
                		    EXCEPTION->state        = 14;


                		    goto rulerevoke_statementEx;

                		}

                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 489;
                    EXCEPTION->state        = 0;


                    goto rulerevoke_statementEx;

                }

                switch (alt489)
                {
            	case 1:
            	    // MySQL.g:1554:3: {...}? => ALL_SYMBOL ( PRIVILEGES_SYMBOL )? COMMA_SYMBOL GRANT_SYMBOL OPTION_SYMBOL FROM_SYMBOL user_list
            	    {
            	        if ( !((LA(1) == ALL_SYMBOL)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"LA(1) == ALL_SYMBOL";
            	                EXCEPTION->ruleName	 = (void *)"revoke_statement";


            	        }

            	        ALL_SYMBOL1510 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_revoke_statement8090);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ALL_SYMBOL1510_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1510));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1510_tree);
            	        }

            	        // MySQL.g:1554:40: ( PRIVILEGES_SYMBOL )?
            	        {
            	            int alt488=2;
            	            switch ( LA(1) )
            	            {
            	                case PRIVILEGES_SYMBOL:
            	                	{
            	                		alt488=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt488)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1554:40: PRIVILEGES_SYMBOL
            	        	    {
            	        	        PRIVILEGES_SYMBOL1511 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement8092);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulerevoke_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        PRIVILEGES_SYMBOL1511_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1511));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1511_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        COMMA_SYMBOL1512 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_revoke_statement8095);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1512_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1512));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1512_tree);
            	        }

            	        GRANT_SYMBOL1513 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_revoke_statement8097);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GRANT_SYMBOL1513_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1513));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1513_tree);
            	        }

            	        OPTION_SYMBOL1514 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_revoke_statement8099);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL1514_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1514));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1514_tree);
            	        }

            	        FROM_SYMBOL1515 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_revoke_statement8101);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL1515_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1515));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1515_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_list_in_revoke_statement8103);
            	        user_list1516=user_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1516.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1555:5: grant_privileges privilege_target FROM_SYMBOL user_list
            	    {
            	        FOLLOWPUSH(FOLLOW_grant_privileges_in_revoke_statement8109);
            	        grant_privileges1517=grant_privileges(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_privileges1517.tree);

            	        FOLLOWPUSH(FOLLOW_privilege_target_in_revoke_statement8111);
            	        privilege_target1518=privilege_target(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_target1518.tree);

            	        FROM_SYMBOL1519 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_revoke_statement8113);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL1519_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1519));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1519_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_list_in_revoke_statement8115);
            	        user_list1520=user_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1520.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1556:5: {...}? => PROXY_SYMBOL ON_SYMBOL user FROM_SYMBOL user_list
            	    {
            	        if ( !((SERVER_VERSION >= 50500)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
            	                EXCEPTION->ruleName	 = (void *)"revoke_statement";


            	        }

            	        PROXY_SYMBOL1521 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_revoke_statement8125);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROXY_SYMBOL1521_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROXY_SYMBOL1521));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROXY_SYMBOL1521_tree);
            	        }

            	        ON_SYMBOL1522 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_revoke_statement8127);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL1522_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1522));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1522_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_revoke_statement8129);
            	        user1523=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1523.tree);

            	        FROM_SYMBOL1524 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_revoke_statement8131);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL1524_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1524));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1524_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_list_in_revoke_statement8133);
            	        user_list1525=user_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1525.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulerevoke_statementEx; /* Prevent compiler warnings */
    rulerevoke_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end revoke_statement */

/**
 * $ANTLR start privilege_target
 * MySQL.g:1560:1: privilege_target : ON_SYMBOL grant_object_type privilege_level -> ^( PRIVILEGE_TARGET_TOKEN ON_SYMBOL grant_object_type privilege_level ) ;
 */
static MySQLParser_privilege_target_return
privilege_target(pMySQLParser ctx)
{
    MySQLParser_privilege_target_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ON_SYMBOL1526;
    MySQLParser_grant_object_type_return grant_object_type1527;
    #undef	RETURN_TYPE_grant_object_type1527
    #define	RETURN_TYPE_grant_object_type1527 MySQLParser_grant_object_type_return

    MySQLParser_privilege_level_return privilege_level1528;
    #undef	RETURN_TYPE_privilege_level1528
    #define	RETURN_TYPE_privilege_level1528 MySQLParser_privilege_level_return

    pANTLR3_BASE_TREE ON_SYMBOL1526_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ON_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_privilege_level;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_grant_object_type;
    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL1526       = NULL;
    grant_object_type1527.tree = NULL;

    privilege_level1528.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL1526_tree   = NULL;

    stream_ON_SYMBOL   = NULL;
    #define CREATE_stream_ON_SYMBOL  if (stream_ON_SYMBOL == NULL) {stream_ON_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token ON_SYMBOL"); } 
    stream_privilege_level   = NULL;
    #define CREATE_stream_privilege_level  if (stream_privilege_level == NULL) {stream_privilege_level = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule privilege_level"); }
    stream_grant_object_type   = NULL;
    #define CREATE_stream_grant_object_type  if (stream_grant_object_type == NULL) {stream_grant_object_type = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule grant_object_type"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1560:17: ( ON_SYMBOL grant_object_type privilege_level -> ^( PRIVILEGE_TARGET_TOKEN ON_SYMBOL grant_object_type privilege_level ) )
        // MySQL.g:1561:2: ON_SYMBOL grant_object_type privilege_level
        {
            ON_SYMBOL1526 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_privilege_target8145);
            if  (HASEXCEPTION())
            {
                goto ruleprivilege_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_ON_SYMBOL; stream_ON_SYMBOL->add(stream_ON_SYMBOL, ON_SYMBOL1526, NULL); }


            FOLLOWPUSH(FOLLOW_grant_object_type_in_privilege_target8147);
            grant_object_type1527=grant_object_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprivilege_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_grant_object_type; stream_grant_object_type->add(stream_grant_object_type, grant_object_type1527.tree, NULL); }

            FOLLOWPUSH(FOLLOW_privilege_level_in_privilege_target8149);
            privilege_level1528=privilege_level(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprivilege_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_privilege_level; stream_privilege_level->add(stream_privilege_level, privilege_level1528.tree, NULL); }

            /* AST REWRITE
             * elements          : grant_object_type, privilege_level, ON_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1561:46: -> ^( PRIVILEGE_TARGET_TOKEN ON_SYMBOL grant_object_type privilege_level )
            	{
            	    // MySQL.g:1561:49: ^( PRIVILEGE_TARGET_TOKEN ON_SYMBOL grant_object_type privilege_level )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PRIVILEGE_TARGET_TOKEN, (pANTLR3_UINT8)"PRIVILEGE_TARGET_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_ON_SYMBOL == NULL ? NULL : stream_ON_SYMBOL->nextNode(stream_ON_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_grant_object_type == NULL ? NULL : stream_grant_object_type->nextTree(stream_grant_object_type));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_privilege_level == NULL ? NULL : stream_privilege_level->nextTree(stream_privilege_level));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprivilege_targetEx; /* Prevent compiler warnings */
    ruleprivilege_targetEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_ON_SYMBOL != NULL) stream_ON_SYMBOL->free(stream_ON_SYMBOL);
        if (stream_privilege_level != NULL) stream_privilege_level->free(stream_privilege_level);
        if (stream_grant_object_type != NULL) stream_grant_object_type->free(stream_grant_object_type);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end privilege_target */

/**
 * $ANTLR start set_password
 * MySQL.g:1564:1: set_password : SET_SYMBOL ^ PASSWORD_SYMBOL ( FOR_SYMBOL user )? equal ( PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL |{...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL | string_literal ) ;
 */
static MySQLParser_set_password_return
set_password(pMySQLParser ctx)
{
    MySQLParser_set_password_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SET_SYMBOL1529;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1530;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1531;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1534;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1535;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1537;
    pANTLR3_COMMON_TOKEN    OLD_PASSWORD_SYMBOL1538;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1539;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1541;
    MySQLParser_user_return user1532;
    #undef	RETURN_TYPE_user1532
    #define	RETURN_TYPE_user1532 MySQLParser_user_return

    MySQLParser_equal_return equal1533;
    #undef	RETURN_TYPE_equal1533
    #define	RETURN_TYPE_equal1533 MySQLParser_equal_return

    MySQLParser_string_literal_return string_literal1536;
    #undef	RETURN_TYPE_string_literal1536
    #define	RETURN_TYPE_string_literal1536 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1540;
    #undef	RETURN_TYPE_string_literal1540
    #define	RETURN_TYPE_string_literal1540 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1542;
    #undef	RETURN_TYPE_string_literal1542
    #define	RETURN_TYPE_string_literal1542 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE SET_SYMBOL1529_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1530_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1531_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1534_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1535_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1537_tree;
    pANTLR3_BASE_TREE OLD_PASSWORD_SYMBOL1538_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1539_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1541_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SET_SYMBOL1529       = NULL;
    PASSWORD_SYMBOL1530       = NULL;
    FOR_SYMBOL1531       = NULL;
    PASSWORD_SYMBOL1534       = NULL;
    OPEN_PAR_SYMBOL1535       = NULL;
    CLOSE_PAR_SYMBOL1537       = NULL;
    OLD_PASSWORD_SYMBOL1538       = NULL;
    OPEN_PAR_SYMBOL1539       = NULL;
    CLOSE_PAR_SYMBOL1541       = NULL;
    user1532.tree = NULL;

    equal1533.tree = NULL;

    string_literal1536.tree = NULL;

    string_literal1540.tree = NULL;

    string_literal1542.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SET_SYMBOL1529_tree   = NULL;
    PASSWORD_SYMBOL1530_tree   = NULL;
    FOR_SYMBOL1531_tree   = NULL;
    PASSWORD_SYMBOL1534_tree   = NULL;
    OPEN_PAR_SYMBOL1535_tree   = NULL;
    CLOSE_PAR_SYMBOL1537_tree   = NULL;
    OLD_PASSWORD_SYMBOL1538_tree   = NULL;
    OPEN_PAR_SYMBOL1539_tree   = NULL;
    CLOSE_PAR_SYMBOL1541_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1564:13: ( SET_SYMBOL ^ PASSWORD_SYMBOL ( FOR_SYMBOL user )? equal ( PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL |{...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL | string_literal ) )
        // MySQL.g:1565:2: SET_SYMBOL ^ PASSWORD_SYMBOL ( FOR_SYMBOL user )? equal ( PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL |{...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL | string_literal )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SET_SYMBOL1529 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_set_password8170);
            if  (HASEXCEPTION())
            {
                goto ruleset_passwordEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SET_SYMBOL1529_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1529))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SET_SYMBOL1529_tree, root_0));
            }

            PASSWORD_SYMBOL1530 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_set_password8173);
            if  (HASEXCEPTION())
            {
                goto ruleset_passwordEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PASSWORD_SYMBOL1530_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1530));
            ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1530_tree);
            }

            // MySQL.g:1565:30: ( FOR_SYMBOL user )?
            {
                int alt490=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    	{
                    		alt490=1;
                    	}
                        break;
                }

                switch (alt490)
                {
            	case 1:
            	    // MySQL.g:1565:31: FOR_SYMBOL user
            	    {
            	        FOR_SYMBOL1531 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_set_password8176);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FOR_SYMBOL1531_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1531));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1531_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_set_password8178);
            	        user1532=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1532.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_equal_in_set_password8182);
            equal1533=equal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleset_passwordEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1533.tree);

            // MySQL.g:1566:2: ( PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL |{...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL | string_literal )
            {
                int alt491=3;
                {
                    int LA491_0 = LA(1);
                    if ( (LA491_0 == PASSWORD_SYMBOL))
                    {
                        alt491=1;
                    }
                    else if ( ((SERVER_VERSION < 50706)) && (LA491_0 == OLD_PASSWORD_SYMBOL))
                    {
                        alt491=2;
                    }
                    else if ( (LA491_0 == NCHAR_TEXT || LA491_0 == SINGLE_QUOTED_TEXT || LA491_0 == UNDERSCORE_CHARSET))
                    {
                        alt491=3;
                    }
                    else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA491_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt491=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 491;
                        EXCEPTION->state        = 0;


                        goto ruleset_passwordEx;

                    }
                }
                switch (alt491)
                {
            	case 1:
            	    // MySQL.g:1567:3: PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL
            	    {
            	        PASSWORD_SYMBOL1534 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_set_password8189);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PASSWORD_SYMBOL1534_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1534));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1534_tree);
            	        }

            	        OPEN_PAR_SYMBOL1535 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_set_password8191);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL1535_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1535));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1535_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password8193);
            	        string_literal1536=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1536.tree);

            	        CLOSE_PAR_SYMBOL1537 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8195);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL1537_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1537));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1537_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1568:5: {...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION < 50706)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50706";
            	                EXCEPTION->ruleName	 = (void *)"set_password";


            	        }

            	        OLD_PASSWORD_SYMBOL1538 = (pANTLR3_COMMON_TOKEN) MATCHT(OLD_PASSWORD_SYMBOL, &FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password8205);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OLD_PASSWORD_SYMBOL1538_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OLD_PASSWORD_SYMBOL1538));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OLD_PASSWORD_SYMBOL1538_tree);
            	        }

            	        OPEN_PAR_SYMBOL1539 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_set_password8207);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL1539_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1539));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1539_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password8209);
            	        string_literal1540=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1540.tree);

            	        CLOSE_PAR_SYMBOL1541 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_set_password8211);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL1541_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1541));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1541_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1569:5: string_literal
            	    {
            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password8217);
            	        string_literal1542=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1542.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleset_passwordEx; /* Prevent compiler warnings */
    ruleset_passwordEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end set_password */

/**
 * $ANTLR start grant_object_type
 * MySQL.g:1573:1: grant_object_type : ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) ;
 */
static MySQLParser_grant_object_type_return
grant_object_type(pMySQLParser ctx)
{
    MySQLParser_grant_object_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1543;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1544;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1545;

    pANTLR3_BASE_TREE TABLE_SYMBOL1543_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1544_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1545_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLE_SYMBOL1543       = NULL;
    FUNCTION_SYMBOL1544       = NULL;
    PROCEDURE_SYMBOL1545       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TABLE_SYMBOL1543_tree   = NULL;
    FUNCTION_SYMBOL1544_tree   = NULL;
    PROCEDURE_SYMBOL1545_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1573:18: ( ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) )
        // MySQL.g:1574:2: ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1574:2: ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL )
            {
                int alt493=3;
                {
                    int LA493_0 = LA(1);
                    if ( (LA493_0 == BACK_TICK_QUOTED_ID || LA493_0 == IDENTIFIER || LA493_0 == MULT_OPERATOR || LA493_0 == TABLE_SYMBOL))
                    {
                        alt493=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA493_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt493=1;
                    }
                    else if ( (LA493_0 == FUNCTION_SYMBOL))
                    {
                        {
                            int LA493_6 = LA(2);
                            if ( (LA493_6 == DOT_SYMBOL || LA493_6 == FROM_SYMBOL || LA493_6 == TO_SYMBOL))
                            {
                                alt493=1;
                            }
                            else if ( (((LA493_6 >= ASCII_SYMBOL) && (LA493_6 <= YEAR_SYMBOL)) || LA493_6 == BACK_TICK_QUOTED_ID || LA493_6 == DOUBLE_QUOTED_TEXT || LA493_6 == IDENTIFIER || LA493_6 == MULT_OPERATOR))
                            {
                                alt493=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 493;
                                EXCEPTION->state        = 6;


                                goto rulegrant_object_typeEx;

                            }
                        }
                    }
                    else if ( (((LA493_0 >= ASCII_SYMBOL) && (LA493_0 <= UDF_RETURNS_SYMBOL)) || ((LA493_0 >= UNCOMMITTED_SYMBOL) && (LA493_0 <= YEAR_SYMBOL))))
                    {
                        alt493=1;
                    }
                    else if ( (LA493_0 == PROCEDURE_SYMBOL))
                    {
                        alt493=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 493;
                        EXCEPTION->state        = 0;


                        goto rulegrant_object_typeEx;

                    }
                }
                switch (alt493)
                {
            	case 1:
            	    // MySQL.g:1574:3: ( TABLE_SYMBOL )?
            	    {
            	        // MySQL.g:1574:3: ( TABLE_SYMBOL )?
            	        {
            	            int alt492=2;
            	            switch ( LA(1) )
            	            {
            	                case TABLE_SYMBOL:
            	                	{
            	                		alt492=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt492)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1574:3: TABLE_SYMBOL
            	        	    {
            	        	        TABLE_SYMBOL1543 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_grant_object_type8230);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrant_object_typeEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        TABLE_SYMBOL1543_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1543));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1543_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1574:19: FUNCTION_SYMBOL
            	    {
            	        FUNCTION_SYMBOL1544 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_grant_object_type8235);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_object_typeEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL1544_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1544));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1544_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1574:37: PROCEDURE_SYMBOL
            	    {
            	        PROCEDURE_SYMBOL1545 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type8239);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_object_typeEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL1545_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1545));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1545_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulegrant_object_typeEx; /* Prevent compiler warnings */
    rulegrant_object_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end grant_object_type */

/**
 * $ANTLR start grant_privileges
 * MySQL.g:1577:1: grant_privileges : ( ALL_SYMBOL ( PRIVILEGES_SYMBOL )? | privilege_type ( COMMA_SYMBOL privilege_type )* );
 */
static MySQLParser_grant_privileges_return
grant_privileges(pMySQLParser ctx)
{
    MySQLParser_grant_privileges_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1546;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1547;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1549;
    MySQLParser_privilege_type_return privilege_type1548;
    #undef	RETURN_TYPE_privilege_type1548
    #define	RETURN_TYPE_privilege_type1548 MySQLParser_privilege_type_return

    MySQLParser_privilege_type_return privilege_type1550;
    #undef	RETURN_TYPE_privilege_type1550
    #define	RETURN_TYPE_privilege_type1550 MySQLParser_privilege_type_return

    pANTLR3_BASE_TREE ALL_SYMBOL1546_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1547_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1549_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL1546       = NULL;
    PRIVILEGES_SYMBOL1547       = NULL;
    COMMA_SYMBOL1549       = NULL;
    privilege_type1548.tree = NULL;

    privilege_type1550.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL1546_tree   = NULL;
    PRIVILEGES_SYMBOL1547_tree   = NULL;
    COMMA_SYMBOL1549_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1577:17: ( ALL_SYMBOL ( PRIVILEGES_SYMBOL )? | privilege_type ( COMMA_SYMBOL privilege_type )* )

            ANTLR3_UINT32 alt496;

            alt496=2;

            switch ( LA(1) )
            {
            case ALL_SYMBOL:
            	{
            		alt496=1;
            	}
                break;
            case EXECUTE_SYMBOL:
            case EVENT_SYMBOL:
            case FILE_SYMBOL:
            case PROCESS_SYMBOL:
            case PROXY_SYMBOL:
            case RELOAD_SYMBOL:
            case REPLICATION_SYMBOL:
            case SHUTDOWN_SYMBOL:
            case SUPER_SYMBOL:
            case ALTER_SYMBOL:
            case CREATE_SYMBOL:
            case DELETE_SYMBOL:
            case DROP_SYMBOL:
            case GRANT_SYMBOL:
            case INDEX_SYMBOL:
            case INSERT_SYMBOL:
            case LOCK_SYMBOL:
            case REFERENCES_SYMBOL:
            case SELECT_SYMBOL:
            case SHOW_SYMBOL:
            case TRIGGER_SYMBOL:
            case UPDATE_SYMBOL:
            case USAGE_SYMBOL:
            	{
            		alt496=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 496;
                EXCEPTION->state        = 0;


                goto rulegrant_privilegesEx;

            }

            switch (alt496)
            {
        	case 1:
        	    // MySQL.g:1578:2: ALL_SYMBOL ( PRIVILEGES_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL1546 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_grant_privileges8249);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_privilegesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL1546_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1546));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1546_tree);
        	        }

        	        // MySQL.g:1578:13: ( PRIVILEGES_SYMBOL )?
        	        {
        	            int alt494=2;
        	            switch ( LA(1) )
        	            {
        	                case PRIVILEGES_SYMBOL:
        	                	{
        	                		alt494=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt494)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1578:13: PRIVILEGES_SYMBOL
        	        	    {
        	        	        PRIVILEGES_SYMBOL1547 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges8251);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulegrant_privilegesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRIVILEGES_SYMBOL1547_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1547));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1547_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1579:4: privilege_type ( COMMA_SYMBOL privilege_type )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_privilege_type_in_grant_privileges8257);
        	        privilege_type1548=privilege_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_privilegesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_type1548.tree);

        	        // MySQL.g:1579:19: ( COMMA_SYMBOL privilege_type )*

        	        for (;;)
        	        {
        	            int alt495=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt495=1;
        	            	}
        	                break;

        	            }

        	            switch (alt495)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1579:20: COMMA_SYMBOL privilege_type
        	        	    {
        	        	        COMMA_SYMBOL1549 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant_privileges8260);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulegrant_privilegesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1549_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1549));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1549_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_privilege_type_in_grant_privileges8262);
        	        	        privilege_type1550=privilege_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulegrant_privilegesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_type1550.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop495;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop495: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulegrant_privilegesEx; /* Prevent compiler warnings */
    rulegrant_privilegesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end grant_privileges */

/**
 * $ANTLR start privilege_type
 * MySQL.g:1582:1: privilege_type : ( ALTER_SYMBOL ( ROUTINE_SYMBOL )? | CREATE_SYMBOL ( ROUTINE_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL TABLES_SYMBOL | USER_SYMBOL | VIEW_SYMBOL )? | DELETE_SYMBOL | DROP_SYMBOL | EVENT_SYMBOL | EXECUTE_SYMBOL | FILE_SYMBOL | GRANT_SYMBOL OPTION_SYMBOL | INDEX_SYMBOL | INSERT_SYMBOL ( identifier_list_with_parentheses )? | LOCK_SYMBOL TABLES_SYMBOL | PROCESS_SYMBOL | PROXY_SYMBOL | REFERENCES_SYMBOL ( identifier_list_with_parentheses )? | RELOAD_SYMBOL | REPLICATION_SYMBOL ( CLIENT_SYMBOL | SLAVE_SYMBOL ) | SELECT_SYMBOL ( identifier_list_with_parentheses )? | SHOW_SYMBOL DATABASES_SYMBOL | SHOW_SYMBOL VIEW_SYMBOL | SHUTDOWN_SYMBOL | SUPER_SYMBOL | TRIGGER_SYMBOL | UPDATE_SYMBOL ( identifier_list_with_parentheses )? | USAGE_SYMBOL );
 */
static MySQLParser_privilege_type_return
privilege_type(pMySQLParser ctx)
{
    MySQLParser_privilege_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALTER_SYMBOL1551;
    pANTLR3_COMMON_TOKEN    ROUTINE_SYMBOL1552;
    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL1553;
    pANTLR3_COMMON_TOKEN    ROUTINE_SYMBOL1554;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL1555;
    pANTLR3_COMMON_TOKEN    TEMPORARY_SYMBOL1556;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1557;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1558;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL1559;
    pANTLR3_COMMON_TOKEN    DELETE_SYMBOL1560;
    pANTLR3_COMMON_TOKEN    DROP_SYMBOL1561;
    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL1562;
    pANTLR3_COMMON_TOKEN    EXECUTE_SYMBOL1563;
    pANTLR3_COMMON_TOKEN    FILE_SYMBOL1564;
    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1565;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1566;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1567;
    pANTLR3_COMMON_TOKEN    INSERT_SYMBOL1568;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1570;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1571;
    pANTLR3_COMMON_TOKEN    PROCESS_SYMBOL1572;
    pANTLR3_COMMON_TOKEN    PROXY_SYMBOL1573;
    pANTLR3_COMMON_TOKEN    REFERENCES_SYMBOL1574;
    pANTLR3_COMMON_TOKEN    RELOAD_SYMBOL1576;
    pANTLR3_COMMON_TOKEN    REPLICATION_SYMBOL1577;
    pANTLR3_COMMON_TOKEN    set1578;
    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL1579;
    pANTLR3_COMMON_TOKEN    SHOW_SYMBOL1581;
    pANTLR3_COMMON_TOKEN    DATABASES_SYMBOL1582;
    pANTLR3_COMMON_TOKEN    SHOW_SYMBOL1583;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL1584;
    pANTLR3_COMMON_TOKEN    SHUTDOWN_SYMBOL1585;
    pANTLR3_COMMON_TOKEN    SUPER_SYMBOL1586;
    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL1587;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL1588;
    pANTLR3_COMMON_TOKEN    USAGE_SYMBOL1590;
    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1569;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1569
    #define	RETURN_TYPE_identifier_list_with_parentheses1569 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1575;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1575
    #define	RETURN_TYPE_identifier_list_with_parentheses1575 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1580;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1580
    #define	RETURN_TYPE_identifier_list_with_parentheses1580 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1589;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1589
    #define	RETURN_TYPE_identifier_list_with_parentheses1589 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE ALTER_SYMBOL1551_tree;
    pANTLR3_BASE_TREE ROUTINE_SYMBOL1552_tree;
    pANTLR3_BASE_TREE CREATE_SYMBOL1553_tree;
    pANTLR3_BASE_TREE ROUTINE_SYMBOL1554_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL1555_tree;
    pANTLR3_BASE_TREE TEMPORARY_SYMBOL1556_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1557_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1558_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL1559_tree;
    pANTLR3_BASE_TREE DELETE_SYMBOL1560_tree;
    pANTLR3_BASE_TREE DROP_SYMBOL1561_tree;
    pANTLR3_BASE_TREE EVENT_SYMBOL1562_tree;
    pANTLR3_BASE_TREE EXECUTE_SYMBOL1563_tree;
    pANTLR3_BASE_TREE FILE_SYMBOL1564_tree;
    pANTLR3_BASE_TREE GRANT_SYMBOL1565_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1566_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1567_tree;
    pANTLR3_BASE_TREE INSERT_SYMBOL1568_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1570_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1571_tree;
    pANTLR3_BASE_TREE PROCESS_SYMBOL1572_tree;
    pANTLR3_BASE_TREE PROXY_SYMBOL1573_tree;
    pANTLR3_BASE_TREE REFERENCES_SYMBOL1574_tree;
    pANTLR3_BASE_TREE RELOAD_SYMBOL1576_tree;
    pANTLR3_BASE_TREE REPLICATION_SYMBOL1577_tree;
    pANTLR3_BASE_TREE set1578_tree;
    pANTLR3_BASE_TREE SELECT_SYMBOL1579_tree;
    pANTLR3_BASE_TREE SHOW_SYMBOL1581_tree;
    pANTLR3_BASE_TREE DATABASES_SYMBOL1582_tree;
    pANTLR3_BASE_TREE SHOW_SYMBOL1583_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL1584_tree;
    pANTLR3_BASE_TREE SHUTDOWN_SYMBOL1585_tree;
    pANTLR3_BASE_TREE SUPER_SYMBOL1586_tree;
    pANTLR3_BASE_TREE TRIGGER_SYMBOL1587_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL1588_tree;
    pANTLR3_BASE_TREE USAGE_SYMBOL1590_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALTER_SYMBOL1551       = NULL;
    ROUTINE_SYMBOL1552       = NULL;
    CREATE_SYMBOL1553       = NULL;
    ROUTINE_SYMBOL1554       = NULL;
    TABLESPACE_SYMBOL1555       = NULL;
    TEMPORARY_SYMBOL1556       = NULL;
    TABLES_SYMBOL1557       = NULL;
    USER_SYMBOL1558       = NULL;
    VIEW_SYMBOL1559       = NULL;
    DELETE_SYMBOL1560       = NULL;
    DROP_SYMBOL1561       = NULL;
    EVENT_SYMBOL1562       = NULL;
    EXECUTE_SYMBOL1563       = NULL;
    FILE_SYMBOL1564       = NULL;
    GRANT_SYMBOL1565       = NULL;
    OPTION_SYMBOL1566       = NULL;
    INDEX_SYMBOL1567       = NULL;
    INSERT_SYMBOL1568       = NULL;
    LOCK_SYMBOL1570       = NULL;
    TABLES_SYMBOL1571       = NULL;
    PROCESS_SYMBOL1572       = NULL;
    PROXY_SYMBOL1573       = NULL;
    REFERENCES_SYMBOL1574       = NULL;
    RELOAD_SYMBOL1576       = NULL;
    REPLICATION_SYMBOL1577       = NULL;
    set1578       = NULL;
    SELECT_SYMBOL1579       = NULL;
    SHOW_SYMBOL1581       = NULL;
    DATABASES_SYMBOL1582       = NULL;
    SHOW_SYMBOL1583       = NULL;
    VIEW_SYMBOL1584       = NULL;
    SHUTDOWN_SYMBOL1585       = NULL;
    SUPER_SYMBOL1586       = NULL;
    TRIGGER_SYMBOL1587       = NULL;
    UPDATE_SYMBOL1588       = NULL;
    USAGE_SYMBOL1590       = NULL;
    identifier_list_with_parentheses1569.tree = NULL;

    identifier_list_with_parentheses1575.tree = NULL;

    identifier_list_with_parentheses1580.tree = NULL;

    identifier_list_with_parentheses1589.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALTER_SYMBOL1551_tree   = NULL;
    ROUTINE_SYMBOL1552_tree   = NULL;
    CREATE_SYMBOL1553_tree   = NULL;
    ROUTINE_SYMBOL1554_tree   = NULL;
    TABLESPACE_SYMBOL1555_tree   = NULL;
    TEMPORARY_SYMBOL1556_tree   = NULL;
    TABLES_SYMBOL1557_tree   = NULL;
    USER_SYMBOL1558_tree   = NULL;
    VIEW_SYMBOL1559_tree   = NULL;
    DELETE_SYMBOL1560_tree   = NULL;
    DROP_SYMBOL1561_tree   = NULL;
    EVENT_SYMBOL1562_tree   = NULL;
    EXECUTE_SYMBOL1563_tree   = NULL;
    FILE_SYMBOL1564_tree   = NULL;
    GRANT_SYMBOL1565_tree   = NULL;
    OPTION_SYMBOL1566_tree   = NULL;
    INDEX_SYMBOL1567_tree   = NULL;
    INSERT_SYMBOL1568_tree   = NULL;
    LOCK_SYMBOL1570_tree   = NULL;
    TABLES_SYMBOL1571_tree   = NULL;
    PROCESS_SYMBOL1572_tree   = NULL;
    PROXY_SYMBOL1573_tree   = NULL;
    REFERENCES_SYMBOL1574_tree   = NULL;
    RELOAD_SYMBOL1576_tree   = NULL;
    REPLICATION_SYMBOL1577_tree   = NULL;
    set1578_tree   = NULL;
    SELECT_SYMBOL1579_tree   = NULL;
    SHOW_SYMBOL1581_tree   = NULL;
    DATABASES_SYMBOL1582_tree   = NULL;
    SHOW_SYMBOL1583_tree   = NULL;
    VIEW_SYMBOL1584_tree   = NULL;
    SHUTDOWN_SYMBOL1585_tree   = NULL;
    SUPER_SYMBOL1586_tree   = NULL;
    TRIGGER_SYMBOL1587_tree   = NULL;
    UPDATE_SYMBOL1588_tree   = NULL;
    USAGE_SYMBOL1590_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1582:15: ( ALTER_SYMBOL ( ROUTINE_SYMBOL )? | CREATE_SYMBOL ( ROUTINE_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL TABLES_SYMBOL | USER_SYMBOL | VIEW_SYMBOL )? | DELETE_SYMBOL | DROP_SYMBOL | EVENT_SYMBOL | EXECUTE_SYMBOL | FILE_SYMBOL | GRANT_SYMBOL OPTION_SYMBOL | INDEX_SYMBOL | INSERT_SYMBOL ( identifier_list_with_parentheses )? | LOCK_SYMBOL TABLES_SYMBOL | PROCESS_SYMBOL | PROXY_SYMBOL | REFERENCES_SYMBOL ( identifier_list_with_parentheses )? | RELOAD_SYMBOL | REPLICATION_SYMBOL ( CLIENT_SYMBOL | SLAVE_SYMBOL ) | SELECT_SYMBOL ( identifier_list_with_parentheses )? | SHOW_SYMBOL DATABASES_SYMBOL | SHOW_SYMBOL VIEW_SYMBOL | SHUTDOWN_SYMBOL | SUPER_SYMBOL | TRIGGER_SYMBOL | UPDATE_SYMBOL ( identifier_list_with_parentheses )? | USAGE_SYMBOL )

            ANTLR3_UINT32 alt503;

            alt503=24;

            switch ( LA(1) )
            {
            case ALTER_SYMBOL:
            	{
            		alt503=1;
            	}
                break;
            case CREATE_SYMBOL:
            	{
            		alt503=2;
            	}
                break;
            case DELETE_SYMBOL:
            	{
            		alt503=3;
            	}
                break;
            case DROP_SYMBOL:
            	{
            		alt503=4;
            	}
                break;
            case EVENT_SYMBOL:
            	{
            		alt503=5;
            	}
                break;
            case EXECUTE_SYMBOL:
            	{
            		alt503=6;
            	}
                break;
            case FILE_SYMBOL:
            	{
            		alt503=7;
            	}
                break;
            case GRANT_SYMBOL:
            	{
            		alt503=8;
            	}
                break;
            case INDEX_SYMBOL:
            	{
            		alt503=9;
            	}
                break;
            case INSERT_SYMBOL:
            	{
            		alt503=10;
            	}
                break;
            case LOCK_SYMBOL:
            	{
            		alt503=11;
            	}
                break;
            case PROCESS_SYMBOL:
            	{
            		alt503=12;
            	}
                break;
            case PROXY_SYMBOL:
            	{
            		alt503=13;
            	}
                break;
            case REFERENCES_SYMBOL:
            	{
            		alt503=14;
            	}
                break;
            case RELOAD_SYMBOL:
            	{
            		alt503=15;
            	}
                break;
            case REPLICATION_SYMBOL:
            	{
            		alt503=16;
            	}
                break;
            case SELECT_SYMBOL:
            	{
            		alt503=17;
            	}
                break;
            case SHOW_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case DATABASES_SYMBOL:
            			{
            				alt503=18;
            			}
            		    break;
            		case VIEW_SYMBOL:
            			{
            				alt503=19;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 503;
            		    EXCEPTION->state        = 18;


            		    goto ruleprivilege_typeEx;

            		}

            	}
                break;
            case SHUTDOWN_SYMBOL:
            	{
            		alt503=20;
            	}
                break;
            case SUPER_SYMBOL:
            	{
            		alt503=21;
            	}
                break;
            case TRIGGER_SYMBOL:
            	{
            		alt503=22;
            	}
                break;
            case UPDATE_SYMBOL:
            	{
            		alt503=23;
            	}
                break;
            case USAGE_SYMBOL:
            	{
            		alt503=24;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 503;
                EXCEPTION->state        = 0;


                goto ruleprivilege_typeEx;

            }

            switch (alt503)
            {
        	case 1:
        	    // MySQL.g:1583:2: ALTER_SYMBOL ( ROUTINE_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALTER_SYMBOL1551 = (pANTLR3_COMMON_TOKEN) MATCHT(ALTER_SYMBOL, &FOLLOW_ALTER_SYMBOL_in_privilege_type8273);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALTER_SYMBOL1551_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALTER_SYMBOL1551));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALTER_SYMBOL1551_tree);
        	        }

        	        // MySQL.g:1583:15: ( ROUTINE_SYMBOL )?
        	        {
        	            int alt497=2;
        	            switch ( LA(1) )
        	            {
        	                case ROUTINE_SYMBOL:
        	                	{
        	                		alt497=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt497)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1583:15: ROUTINE_SYMBOL
        	        	    {
        	        	        ROUTINE_SYMBOL1552 = (pANTLR3_COMMON_TOKEN) MATCHT(ROUTINE_SYMBOL, &FOLLOW_ROUTINE_SYMBOL_in_privilege_type8275);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ROUTINE_SYMBOL1552_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROUTINE_SYMBOL1552));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROUTINE_SYMBOL1552_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1584:4: CREATE_SYMBOL ( ROUTINE_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL TABLES_SYMBOL | USER_SYMBOL | VIEW_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CREATE_SYMBOL1553 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_privilege_type8281);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CREATE_SYMBOL1553_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL1553));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CREATE_SYMBOL1553_tree);
        	        }

        	        // MySQL.g:1584:18: ( ROUTINE_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL TABLES_SYMBOL | USER_SYMBOL | VIEW_SYMBOL )?
        	        {
        	            int alt498=6;
        	            switch ( LA(1) )
        	            {
        	                case ROUTINE_SYMBOL:
        	                	{
        	                		alt498=1;
        	                	}
        	                    break;
        	                case TABLESPACE_SYMBOL:
        	                	{
        	                		alt498=2;
        	                	}
        	                    break;
        	                case TEMPORARY_SYMBOL:
        	                	{
        	                		alt498=3;
        	                	}
        	                    break;
        	                case USER_SYMBOL:
        	                	{
        	                		alt498=4;
        	                	}
        	                    break;
        	                case VIEW_SYMBOL:
        	                	{
        	                		alt498=5;
        	                	}
        	                    break;
        	            }

        	            switch (alt498)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1584:19: ROUTINE_SYMBOL
        	        	    {
        	        	        ROUTINE_SYMBOL1554 = (pANTLR3_COMMON_TOKEN) MATCHT(ROUTINE_SYMBOL, &FOLLOW_ROUTINE_SYMBOL_in_privilege_type8284);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ROUTINE_SYMBOL1554_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROUTINE_SYMBOL1554));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROUTINE_SYMBOL1554_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1584:36: TABLESPACE_SYMBOL
        	        	    {
        	        	        TABLESPACE_SYMBOL1555 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_privilege_type8288);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TABLESPACE_SYMBOL1555_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL1555));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL1555_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1584:56: TEMPORARY_SYMBOL TABLES_SYMBOL
        	        	    {
        	        	        TEMPORARY_SYMBOL1556 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_privilege_type8292);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TEMPORARY_SYMBOL1556_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEMPORARY_SYMBOL1556));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TEMPORARY_SYMBOL1556_tree);
        	        	        }

        	        	        TABLES_SYMBOL1557 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_privilege_type8294);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TABLES_SYMBOL1557_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1557));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1557_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:1584:89: USER_SYMBOL
        	        	    {
        	        	        USER_SYMBOL1558 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_privilege_type8298);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USER_SYMBOL1558_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1558));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1558_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 5:
        	        	    // MySQL.g:1584:103: VIEW_SYMBOL
        	        	    {
        	        	        VIEW_SYMBOL1559 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_privilege_type8302);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        VIEW_SYMBOL1559_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL1559));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL1559_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1585:4: DELETE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DELETE_SYMBOL1560 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_privilege_type8309);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DELETE_SYMBOL1560_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL1560));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DELETE_SYMBOL1560_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1586:4: DROP_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL1561 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_privilege_type8314);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DROP_SYMBOL1561_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL1561));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DROP_SYMBOL1561_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1587:4: EVENT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EVENT_SYMBOL1562 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_privilege_type8319);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EVENT_SYMBOL1562_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENT_SYMBOL1562));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EVENT_SYMBOL1562_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1588:4: EXECUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXECUTE_SYMBOL1563 = (pANTLR3_COMMON_TOKEN) MATCHT(EXECUTE_SYMBOL, &FOLLOW_EXECUTE_SYMBOL_in_privilege_type8324);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXECUTE_SYMBOL1563_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXECUTE_SYMBOL1563));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXECUTE_SYMBOL1563_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1589:4: FILE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FILE_SYMBOL1564 = (pANTLR3_COMMON_TOKEN) MATCHT(FILE_SYMBOL, &FOLLOW_FILE_SYMBOL_in_privilege_type8329);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FILE_SYMBOL1564_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FILE_SYMBOL1564));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FILE_SYMBOL1564_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1590:4: GRANT_SYMBOL OPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GRANT_SYMBOL1565 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_privilege_type8334);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GRANT_SYMBOL1565_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1565));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1565_tree);
        	        }

        	        OPTION_SYMBOL1566 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_privilege_type8336);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTION_SYMBOL1566_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1566));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1566_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1591:4: INDEX_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INDEX_SYMBOL1567 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_privilege_type8341);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL1567_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL1567));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL1567_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1592:4: INSERT_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSERT_SYMBOL1568 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_privilege_type8346);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_SYMBOL1568_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL1568));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_SYMBOL1568_tree);
        	        }

        	        // MySQL.g:1592:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt499=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt499=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt499)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1592:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type8348);
        	        	        identifier_list_with_parentheses1569=identifier_list_with_parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses1569.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1593:4: LOCK_SYMBOL TABLES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOCK_SYMBOL1570 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_privilege_type8354);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1570_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1570));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1570_tree);
        	        }

        	        TABLES_SYMBOL1571 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_privilege_type8356);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLES_SYMBOL1571_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1571));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1571_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1594:4: PROCESS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROCESS_SYMBOL1572 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCESS_SYMBOL, &FOLLOW_PROCESS_SYMBOL_in_privilege_type8361);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PROCESS_SYMBOL1572_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCESS_SYMBOL1572));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PROCESS_SYMBOL1572_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1595:4: PROXY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROXY_SYMBOL1573 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_privilege_type8366);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PROXY_SYMBOL1573_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROXY_SYMBOL1573));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PROXY_SYMBOL1573_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:1596:4: REFERENCES_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REFERENCES_SYMBOL1574 = (pANTLR3_COMMON_TOKEN) MATCHT(REFERENCES_SYMBOL, &FOLLOW_REFERENCES_SYMBOL_in_privilege_type8371);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REFERENCES_SYMBOL1574_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REFERENCES_SYMBOL1574));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REFERENCES_SYMBOL1574_tree);
        	        }

        	        // MySQL.g:1596:22: ( identifier_list_with_parentheses )?
        	        {
        	            int alt500=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt500=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt500)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1596:22: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type8373);
        	        	        identifier_list_with_parentheses1575=identifier_list_with_parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses1575.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:1597:4: RELOAD_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELOAD_SYMBOL1576 = (pANTLR3_COMMON_TOKEN) MATCHT(RELOAD_SYMBOL, &FOLLOW_RELOAD_SYMBOL_in_privilege_type8379);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELOAD_SYMBOL1576_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELOAD_SYMBOL1576));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELOAD_SYMBOL1576_tree);
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:1598:4: REPLICATION_SYMBOL ( CLIENT_SYMBOL | SLAVE_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATION_SYMBOL1577 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATION_SYMBOL, &FOLLOW_REPLICATION_SYMBOL_in_privilege_type8384);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATION_SYMBOL1577_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATION_SYMBOL1577));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATION_SYMBOL1577_tree);
        	        }

        	        set1578=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == SLAVE_SYMBOL || LA(1) == CLIENT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1578))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleprivilege_typeEx;
        	        }


        	    }
        	    break;
        	case 17:
        	    // MySQL.g:1599:4: SELECT_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL1579 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_privilege_type8397);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL1579_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL1579));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL1579_tree);
        	        }

        	        // MySQL.g:1599:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt501=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt501=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt501)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1599:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type8399);
        	        	        identifier_list_with_parentheses1580=identifier_list_with_parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses1580.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:1600:4: SHOW_SYMBOL DATABASES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHOW_SYMBOL1581 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_privilege_type8405);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHOW_SYMBOL1581_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHOW_SYMBOL1581));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHOW_SYMBOL1581_tree);
        	        }

        	        DATABASES_SYMBOL1582 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASES_SYMBOL, &FOLLOW_DATABASES_SYMBOL_in_privilege_type8407);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATABASES_SYMBOL1582_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASES_SYMBOL1582));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASES_SYMBOL1582_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:1601:4: SHOW_SYMBOL VIEW_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHOW_SYMBOL1583 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_privilege_type8412);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHOW_SYMBOL1583_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHOW_SYMBOL1583));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHOW_SYMBOL1583_tree);
        	        }

        	        VIEW_SYMBOL1584 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_privilege_type8414);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VIEW_SYMBOL1584_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL1584));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL1584_tree);
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:1602:4: SHUTDOWN_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHUTDOWN_SYMBOL1585 = (pANTLR3_COMMON_TOKEN) MATCHT(SHUTDOWN_SYMBOL, &FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type8419);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHUTDOWN_SYMBOL1585_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHUTDOWN_SYMBOL1585));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHUTDOWN_SYMBOL1585_tree);
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:1603:4: SUPER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUPER_SYMBOL1586 = (pANTLR3_COMMON_TOKEN) MATCHT(SUPER_SYMBOL, &FOLLOW_SUPER_SYMBOL_in_privilege_type8424);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUPER_SYMBOL1586_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUPER_SYMBOL1586));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUPER_SYMBOL1586_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:1604:4: TRIGGER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TRIGGER_SYMBOL1587 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_privilege_type8429);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRIGGER_SYMBOL1587_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGER_SYMBOL1587));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGER_SYMBOL1587_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:1605:4: UPDATE_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UPDATE_SYMBOL1588 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_privilege_type8434);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL1588_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL1588));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL1588_tree);
        	        }

        	        // MySQL.g:1605:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt502=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt502=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt502)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1605:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type8436);
        	        	        identifier_list_with_parentheses1589=identifier_list_with_parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses1589.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:1606:4: USAGE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USAGE_SYMBOL1590 = (pANTLR3_COMMON_TOKEN) MATCHT(USAGE_SYMBOL, &FOLLOW_USAGE_SYMBOL_in_privilege_type8442);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USAGE_SYMBOL1590_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USAGE_SYMBOL1590));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USAGE_SYMBOL1590_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleprivilege_typeEx; /* Prevent compiler warnings */
    ruleprivilege_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end privilege_type */

/**
 * $ANTLR start privilege_level
 * MySQL.g:1609:1: privilege_level : ( MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )? | identifier ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )? );
 */
static MySQLParser_privilege_level_return
privilege_level(pMySQLParser ctx)
{
    MySQLParser_privilege_level_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1591;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL1592;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1593;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL1595;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1596;
    MySQLParser_identifier_return identifier1594;
    #undef	RETURN_TYPE_identifier1594
    #define	RETURN_TYPE_identifier1594 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier1597;
    #undef	RETURN_TYPE_identifier1597
    #define	RETURN_TYPE_identifier1597 MySQLParser_identifier_return

    pANTLR3_BASE_TREE MULT_OPERATOR1591_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL1592_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1593_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL1595_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1596_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MULT_OPERATOR1591       = NULL;
    DOT_SYMBOL1592       = NULL;
    MULT_OPERATOR1593       = NULL;
    DOT_SYMBOL1595       = NULL;
    MULT_OPERATOR1596       = NULL;
    identifier1594.tree = NULL;

    identifier1597.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MULT_OPERATOR1591_tree   = NULL;
    DOT_SYMBOL1592_tree   = NULL;
    MULT_OPERATOR1593_tree   = NULL;
    DOT_SYMBOL1595_tree   = NULL;
    MULT_OPERATOR1596_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1609:16: ( MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )? | identifier ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )? )

            ANTLR3_UINT32 alt507;

            alt507=2;

            {
                int LA507_0 = LA(1);
                if ( (LA507_0 == MULT_OPERATOR))
                {
                    alt507=1;
                }
                else if ( (LA507_0 == BACK_TICK_QUOTED_ID || LA507_0 == IDENTIFIER))
                {
                    alt507=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA507_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt507=2;
                }
                else if ( (((LA507_0 >= ASCII_SYMBOL) && (LA507_0 <= YEAR_SYMBOL))))
                {
                    alt507=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 507;
                    EXCEPTION->state        = 0;


                    goto ruleprivilege_levelEx;

                }
            }
            switch (alt507)
            {
        	case 1:
        	    // MySQL.g:1610:2: MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULT_OPERATOR1591 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_privilege_level8451);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULT_OPERATOR1591_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1591));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1591_tree);
        	        }

        	        // MySQL.g:1610:16: ( DOT_SYMBOL MULT_OPERATOR )?
        	        {
        	            int alt504=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt504=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt504)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1610:17: DOT_SYMBOL MULT_OPERATOR
        	        	    {
        	        	        DOT_SYMBOL1592 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_privilege_level8454);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_levelEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL1592_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL1592));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL1592_tree);
        	        	        }

        	        	        MULT_OPERATOR1593 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_privilege_level8456);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_levelEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        MULT_OPERATOR1593_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1593));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1593_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1611:4: identifier ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_privilege_level8463);
        	        identifier1594=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1594.tree);

        	        // MySQL.g:1611:15: ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )?
        	        {
        	            int alt506=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt506=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt506)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1611:16: DOT_SYMBOL ( MULT_OPERATOR | identifier )
        	        	    {
        	        	        DOT_SYMBOL1595 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_privilege_level8466);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_levelEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL1595_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL1595));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL1595_tree);
        	        	        }

        	        	        // MySQL.g:1611:27: ( MULT_OPERATOR | identifier )
        	        	        {
        	        	            int alt505=2;
        	        	            {
        	        	                int LA505_0 = LA(1);
        	        	                if ( (LA505_0 == MULT_OPERATOR))
        	        	                {
        	        	                    alt505=1;
        	        	                }
        	        	                else if ( (LA505_0 == BACK_TICK_QUOTED_ID || LA505_0 == IDENTIFIER))
        	        	                {
        	        	                    alt505=2;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA505_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt505=2;
        	        	                }
        	        	                else if ( (((LA505_0 >= ASCII_SYMBOL) && (LA505_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt505=2;
        	        	                }
        	        	                else
        	        	                {
        	        	                    if (BACKTRACKING>0)
        	        	                    {
        	        	                        FAILEDFLAG = ANTLR3_TRUE;
        	        	                        return retval;
        	        	                    }


        	        	                    CONSTRUCTEX();
        	        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                    EXCEPTION->message      = (void *)"";
        	        	                    EXCEPTION->decisionNum  = 505;
        	        	                    EXCEPTION->state        = 0;


        	        	                    goto ruleprivilege_levelEx;

        	        	                }
        	        	            }
        	        	            switch (alt505)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1611:28: MULT_OPERATOR
        	        	        	    {
        	        	        	        MULT_OPERATOR1596 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_privilege_level8469);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleprivilege_levelEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        MULT_OPERATOR1596_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1596));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1596_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:1611:44: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_privilege_level8473);
        	        	        	        identifier1597=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleprivilege_levelEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1597.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleprivilege_levelEx; /* Prevent compiler warnings */
    ruleprivilege_levelEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end privilege_level */

/**
 * $ANTLR start require_list
 * MySQL.g:1614:1: require_list : ( CIPHER_SYMBOL string_literal | ISSUER_SYMBOL string_literal | SUBJECT_SYMBOL string_literal );
 */
static MySQLParser_require_list_return
require_list(pMySQLParser ctx)
{
    MySQLParser_require_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CIPHER_SYMBOL1598;
    pANTLR3_COMMON_TOKEN    ISSUER_SYMBOL1600;
    pANTLR3_COMMON_TOKEN    SUBJECT_SYMBOL1602;
    MySQLParser_string_literal_return string_literal1599;
    #undef	RETURN_TYPE_string_literal1599
    #define	RETURN_TYPE_string_literal1599 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1601;
    #undef	RETURN_TYPE_string_literal1601
    #define	RETURN_TYPE_string_literal1601 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1603;
    #undef	RETURN_TYPE_string_literal1603
    #define	RETURN_TYPE_string_literal1603 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE CIPHER_SYMBOL1598_tree;
    pANTLR3_BASE_TREE ISSUER_SYMBOL1600_tree;
    pANTLR3_BASE_TREE SUBJECT_SYMBOL1602_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CIPHER_SYMBOL1598       = NULL;
    ISSUER_SYMBOL1600       = NULL;
    SUBJECT_SYMBOL1602       = NULL;
    string_literal1599.tree = NULL;

    string_literal1601.tree = NULL;

    string_literal1603.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CIPHER_SYMBOL1598_tree   = NULL;
    ISSUER_SYMBOL1600_tree   = NULL;
    SUBJECT_SYMBOL1602_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1614:13: ( CIPHER_SYMBOL string_literal | ISSUER_SYMBOL string_literal | SUBJECT_SYMBOL string_literal )

            ANTLR3_UINT32 alt508;

            alt508=3;

            switch ( LA(1) )
            {
            case CIPHER_SYMBOL:
            	{
            		alt508=1;
            	}
                break;
            case ISSUER_SYMBOL:
            	{
            		alt508=2;
            	}
                break;
            case SUBJECT_SYMBOL:
            	{
            		alt508=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 508;
                EXCEPTION->state        = 0;


                goto rulerequire_listEx;

            }

            switch (alt508)
            {
        	case 1:
        	    // MySQL.g:1615:2: CIPHER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CIPHER_SYMBOL1598 = (pANTLR3_COMMON_TOKEN) MATCHT(CIPHER_SYMBOL, &FOLLOW_CIPHER_SYMBOL_in_require_list8485);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CIPHER_SYMBOL1598_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CIPHER_SYMBOL1598));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CIPHER_SYMBOL1598_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list8487);
        	        string_literal1599=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1599.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1616:4: ISSUER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ISSUER_SYMBOL1600 = (pANTLR3_COMMON_TOKEN) MATCHT(ISSUER_SYMBOL, &FOLLOW_ISSUER_SYMBOL_in_require_list8492);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ISSUER_SYMBOL1600_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ISSUER_SYMBOL1600));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ISSUER_SYMBOL1600_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list8494);
        	        string_literal1601=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1601.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1617:4: SUBJECT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUBJECT_SYMBOL1602 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBJECT_SYMBOL, &FOLLOW_SUBJECT_SYMBOL_in_require_list8499);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUBJECT_SYMBOL1602_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBJECT_SYMBOL1602));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUBJECT_SYMBOL1602_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list8501);
        	        string_literal1603=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1603.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulerequire_listEx; /* Prevent compiler warnings */
    rulerequire_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end require_list */

/**
 * $ANTLR start grant_option
 * MySQL.g:1620:1: grant_option : ( GRANT_SYMBOL OPTION_SYMBOL | MAX_QUERIES_PER_HOUR_SYMBOL INTEGER | MAX_UPDATES_PER_HOUR_SYMBOL INTEGER | MAX_CONNECTIONS_PER_HOUR_SYMBOL INTEGER | MAX_USER_CONNECTIONS_SYMBOL INTEGER );
 */
static MySQLParser_grant_option_return
grant_option(pMySQLParser ctx)
{
    MySQLParser_grant_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1604;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1605;
    pANTLR3_COMMON_TOKEN    MAX_QUERIES_PER_HOUR_SYMBOL1606;
    pANTLR3_COMMON_TOKEN    INTEGER1607;
    pANTLR3_COMMON_TOKEN    MAX_UPDATES_PER_HOUR_SYMBOL1608;
    pANTLR3_COMMON_TOKEN    INTEGER1609;
    pANTLR3_COMMON_TOKEN    MAX_CONNECTIONS_PER_HOUR_SYMBOL1610;
    pANTLR3_COMMON_TOKEN    INTEGER1611;
    pANTLR3_COMMON_TOKEN    MAX_USER_CONNECTIONS_SYMBOL1612;
    pANTLR3_COMMON_TOKEN    INTEGER1613;

    pANTLR3_BASE_TREE GRANT_SYMBOL1604_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1605_tree;
    pANTLR3_BASE_TREE MAX_QUERIES_PER_HOUR_SYMBOL1606_tree;
    pANTLR3_BASE_TREE INTEGER1607_tree;
    pANTLR3_BASE_TREE MAX_UPDATES_PER_HOUR_SYMBOL1608_tree;
    pANTLR3_BASE_TREE INTEGER1609_tree;
    pANTLR3_BASE_TREE MAX_CONNECTIONS_PER_HOUR_SYMBOL1610_tree;
    pANTLR3_BASE_TREE INTEGER1611_tree;
    pANTLR3_BASE_TREE MAX_USER_CONNECTIONS_SYMBOL1612_tree;
    pANTLR3_BASE_TREE INTEGER1613_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1604       = NULL;
    OPTION_SYMBOL1605       = NULL;
    MAX_QUERIES_PER_HOUR_SYMBOL1606       = NULL;
    INTEGER1607       = NULL;
    MAX_UPDATES_PER_HOUR_SYMBOL1608       = NULL;
    INTEGER1609       = NULL;
    MAX_CONNECTIONS_PER_HOUR_SYMBOL1610       = NULL;
    INTEGER1611       = NULL;
    MAX_USER_CONNECTIONS_SYMBOL1612       = NULL;
    INTEGER1613       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1604_tree   = NULL;
    OPTION_SYMBOL1605_tree   = NULL;
    MAX_QUERIES_PER_HOUR_SYMBOL1606_tree   = NULL;
    INTEGER1607_tree   = NULL;
    MAX_UPDATES_PER_HOUR_SYMBOL1608_tree   = NULL;
    INTEGER1609_tree   = NULL;
    MAX_CONNECTIONS_PER_HOUR_SYMBOL1610_tree   = NULL;
    INTEGER1611_tree   = NULL;
    MAX_USER_CONNECTIONS_SYMBOL1612_tree   = NULL;
    INTEGER1613_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1620:13: ( GRANT_SYMBOL OPTION_SYMBOL | MAX_QUERIES_PER_HOUR_SYMBOL INTEGER | MAX_UPDATES_PER_HOUR_SYMBOL INTEGER | MAX_CONNECTIONS_PER_HOUR_SYMBOL INTEGER | MAX_USER_CONNECTIONS_SYMBOL INTEGER )

            ANTLR3_UINT32 alt509;

            alt509=5;

            switch ( LA(1) )
            {
            case GRANT_SYMBOL:
            	{
            		alt509=1;
            	}
                break;
            case MAX_QUERIES_PER_HOUR_SYMBOL:
            	{
            		alt509=2;
            	}
                break;
            case MAX_UPDATES_PER_HOUR_SYMBOL:
            	{
            		alt509=3;
            	}
                break;
            case MAX_CONNECTIONS_PER_HOUR_SYMBOL:
            	{
            		alt509=4;
            	}
                break;
            case MAX_USER_CONNECTIONS_SYMBOL:
            	{
            		alt509=5;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 509;
                EXCEPTION->state        = 0;


                goto rulegrant_optionEx;

            }

            switch (alt509)
            {
        	case 1:
        	    // MySQL.g:1621:2: GRANT_SYMBOL OPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GRANT_SYMBOL1604 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_option8510);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GRANT_SYMBOL1604_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1604));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1604_tree);
        	        }

        	        OPTION_SYMBOL1605 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_grant_option8512);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTION_SYMBOL1605_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1605));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1605_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1622:4: MAX_QUERIES_PER_HOUR_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_QUERIES_PER_HOUR_SYMBOL1606 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_QUERIES_PER_HOUR_SYMBOL, &FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option8517);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_QUERIES_PER_HOUR_SYMBOL1606_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_QUERIES_PER_HOUR_SYMBOL1606));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_QUERIES_PER_HOUR_SYMBOL1606_tree);
        	        }

        	        INTEGER1607 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option8519);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1607_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1607));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1607_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1623:4: MAX_UPDATES_PER_HOUR_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_UPDATES_PER_HOUR_SYMBOL1608 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_UPDATES_PER_HOUR_SYMBOL, &FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option8524);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_UPDATES_PER_HOUR_SYMBOL1608_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_UPDATES_PER_HOUR_SYMBOL1608));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_UPDATES_PER_HOUR_SYMBOL1608_tree);
        	        }

        	        INTEGER1609 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option8526);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1609_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1609));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1609_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1624:4: MAX_CONNECTIONS_PER_HOUR_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_CONNECTIONS_PER_HOUR_SYMBOL1610 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_CONNECTIONS_PER_HOUR_SYMBOL, &FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option8531);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_CONNECTIONS_PER_HOUR_SYMBOL1610_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_CONNECTIONS_PER_HOUR_SYMBOL1610));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_CONNECTIONS_PER_HOUR_SYMBOL1610_tree);
        	        }

        	        INTEGER1611 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option8533);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1611_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1611));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1611_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1625:4: MAX_USER_CONNECTIONS_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_USER_CONNECTIONS_SYMBOL1612 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_USER_CONNECTIONS_SYMBOL, &FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option8538);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_USER_CONNECTIONS_SYMBOL1612_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_USER_CONNECTIONS_SYMBOL1612));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_USER_CONNECTIONS_SYMBOL1612_tree);
        	        }

        	        INTEGER1613 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option8540);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1613_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1613));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1613_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulegrant_optionEx; /* Prevent compiler warnings */
    rulegrant_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end grant_option */

/**
 * $ANTLR start table_administration_statement
 * MySQL.g:1630:1: table_administration_statement : ( ANALYZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list | CHECK_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( check_option )* | CHECKSUM_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( QUICK_SYMBOL | EXTENDED_SYMBOL )? | OPTIMIZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list | REPAIR_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list ( repair_option )* |{...}? => BACKUP_SYMBOL ^ TABLE_SYMBOL table_identifier_list TO_SYMBOL string_literal |{...}? => RESTORE_SYMBOL ^ TABLE_SYMBOL table_identifier_list FROM_SYMBOL string_literal );
 */
static MySQLParser_table_administration_statement_return
table_administration_statement(pMySQLParser ctx)
{
    MySQLParser_table_administration_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ANALYZE_SYMBOL1614;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1616;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL1618;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1619;
    pANTLR3_COMMON_TOKEN    CHECKSUM_SYMBOL1622;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1623;
    pANTLR3_COMMON_TOKEN    set1625;
    pANTLR3_COMMON_TOKEN    OPTIMIZE_SYMBOL1626;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1628;
    pANTLR3_COMMON_TOKEN    REPAIR_SYMBOL1630;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1632;
    pANTLR3_COMMON_TOKEN    BACKUP_SYMBOL1635;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1636;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1638;
    pANTLR3_COMMON_TOKEN    RESTORE_SYMBOL1640;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1641;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1643;
    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1615;
    #undef	RETURN_TYPE_no_write_to_bin_log1615
    #define	RETURN_TYPE_no_write_to_bin_log1615 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1617;
    #undef	RETURN_TYPE_qualified_identifier_list1617
    #define	RETURN_TYPE_qualified_identifier_list1617 MySQLParser_qualified_identifier_list_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1620;
    #undef	RETURN_TYPE_qualified_identifier_list1620
    #define	RETURN_TYPE_qualified_identifier_list1620 MySQLParser_qualified_identifier_list_return

    MySQLParser_check_option_return check_option1621;
    #undef	RETURN_TYPE_check_option1621
    #define	RETURN_TYPE_check_option1621 MySQLParser_check_option_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1624;
    #undef	RETURN_TYPE_qualified_identifier_list1624
    #define	RETURN_TYPE_qualified_identifier_list1624 MySQLParser_qualified_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1627;
    #undef	RETURN_TYPE_no_write_to_bin_log1627
    #define	RETURN_TYPE_no_write_to_bin_log1627 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1629;
    #undef	RETURN_TYPE_qualified_identifier_list1629
    #define	RETURN_TYPE_qualified_identifier_list1629 MySQLParser_qualified_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1631;
    #undef	RETURN_TYPE_no_write_to_bin_log1631
    #define	RETURN_TYPE_no_write_to_bin_log1631 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1633;
    #undef	RETURN_TYPE_qualified_identifier_list1633
    #define	RETURN_TYPE_qualified_identifier_list1633 MySQLParser_qualified_identifier_list_return

    MySQLParser_repair_option_return repair_option1634;
    #undef	RETURN_TYPE_repair_option1634
    #define	RETURN_TYPE_repair_option1634 MySQLParser_repair_option_return

    MySQLParser_table_identifier_list_return table_identifier_list1637;
    #undef	RETURN_TYPE_table_identifier_list1637
    #define	RETURN_TYPE_table_identifier_list1637 MySQLParser_table_identifier_list_return

    MySQLParser_string_literal_return string_literal1639;
    #undef	RETURN_TYPE_string_literal1639
    #define	RETURN_TYPE_string_literal1639 MySQLParser_string_literal_return

    MySQLParser_table_identifier_list_return table_identifier_list1642;
    #undef	RETURN_TYPE_table_identifier_list1642
    #define	RETURN_TYPE_table_identifier_list1642 MySQLParser_table_identifier_list_return

    MySQLParser_string_literal_return string_literal1644;
    #undef	RETURN_TYPE_string_literal1644
    #define	RETURN_TYPE_string_literal1644 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE ANALYZE_SYMBOL1614_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1616_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL1618_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1619_tree;
    pANTLR3_BASE_TREE CHECKSUM_SYMBOL1622_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1623_tree;
    pANTLR3_BASE_TREE set1625_tree;
    pANTLR3_BASE_TREE OPTIMIZE_SYMBOL1626_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1628_tree;
    pANTLR3_BASE_TREE REPAIR_SYMBOL1630_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1632_tree;
    pANTLR3_BASE_TREE BACKUP_SYMBOL1635_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1636_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1638_tree;
    pANTLR3_BASE_TREE RESTORE_SYMBOL1640_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1641_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1643_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ANALYZE_SYMBOL1614       = NULL;
    TABLE_SYMBOL1616       = NULL;
    CHECK_SYMBOL1618       = NULL;
    TABLE_SYMBOL1619       = NULL;
    CHECKSUM_SYMBOL1622       = NULL;
    TABLE_SYMBOL1623       = NULL;
    set1625       = NULL;
    OPTIMIZE_SYMBOL1626       = NULL;
    TABLE_SYMBOL1628       = NULL;
    REPAIR_SYMBOL1630       = NULL;
    TABLE_SYMBOL1632       = NULL;
    BACKUP_SYMBOL1635       = NULL;
    TABLE_SYMBOL1636       = NULL;
    TO_SYMBOL1638       = NULL;
    RESTORE_SYMBOL1640       = NULL;
    TABLE_SYMBOL1641       = NULL;
    FROM_SYMBOL1643       = NULL;
    no_write_to_bin_log1615.tree = NULL;

    qualified_identifier_list1617.tree = NULL;

    qualified_identifier_list1620.tree = NULL;

    check_option1621.tree = NULL;

    qualified_identifier_list1624.tree = NULL;

    no_write_to_bin_log1627.tree = NULL;

    qualified_identifier_list1629.tree = NULL;

    no_write_to_bin_log1631.tree = NULL;

    qualified_identifier_list1633.tree = NULL;

    repair_option1634.tree = NULL;

    table_identifier_list1637.tree = NULL;

    string_literal1639.tree = NULL;

    table_identifier_list1642.tree = NULL;

    string_literal1644.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ANALYZE_SYMBOL1614_tree   = NULL;
    TABLE_SYMBOL1616_tree   = NULL;
    CHECK_SYMBOL1618_tree   = NULL;
    TABLE_SYMBOL1619_tree   = NULL;
    CHECKSUM_SYMBOL1622_tree   = NULL;
    TABLE_SYMBOL1623_tree   = NULL;
    set1625_tree   = NULL;
    OPTIMIZE_SYMBOL1626_tree   = NULL;
    TABLE_SYMBOL1628_tree   = NULL;
    REPAIR_SYMBOL1630_tree   = NULL;
    TABLE_SYMBOL1632_tree   = NULL;
    BACKUP_SYMBOL1635_tree   = NULL;
    TABLE_SYMBOL1636_tree   = NULL;
    TO_SYMBOL1638_tree   = NULL;
    RESTORE_SYMBOL1640_tree   = NULL;
    TABLE_SYMBOL1641_tree   = NULL;
    FROM_SYMBOL1643_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1630:31: ( ANALYZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list | CHECK_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( check_option )* | CHECKSUM_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( QUICK_SYMBOL | EXTENDED_SYMBOL )? | OPTIMIZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list | REPAIR_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list ( repair_option )* |{...}? => BACKUP_SYMBOL ^ TABLE_SYMBOL table_identifier_list TO_SYMBOL string_literal |{...}? => RESTORE_SYMBOL ^ TABLE_SYMBOL table_identifier_list FROM_SYMBOL string_literal )

            ANTLR3_UINT32 alt516;

            alt516=7;

            {
                int LA516_0 = LA(1);
                if ( (LA516_0 == ANALYZE_SYMBOL))
                {
                    alt516=1;
                }
                else if ( (LA516_0 == CHECK_SYMBOL))
                {
                    alt516=2;
                }
                else if ( (LA516_0 == CHECKSUM_SYMBOL))
                {
                    alt516=3;
                }
                else if ( (LA516_0 == OPTIMIZE_SYMBOL))
                {
                    alt516=4;
                }
                else if ( (LA516_0 == REPAIR_SYMBOL))
                {
                    alt516=5;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA516_0 == BACKUP_SYMBOL))
                {
                    alt516=6;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA516_0 == RESTORE_SYMBOL))
                {
                    alt516=7;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 516;
                    EXCEPTION->state        = 0;


                    goto ruletable_administration_statementEx;

                }
            }
            switch (alt516)
            {
        	case 1:
        	    // MySQL.g:1631:2: ANALYZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ANALYZE_SYMBOL1614 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYZE_SYMBOL, &FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement8551);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ANALYZE_SYMBOL1614_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ANALYZE_SYMBOL1614))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ANALYZE_SYMBOL1614_tree, root_0));
        	        }

        	        // MySQL.g:1631:18: ( no_write_to_bin_log )?
        	        {
        	            int alt510=2;
        	            {
        	                int LA510_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA510_0 == LOCAL_SYMBOL))
        	                {
        	                    alt510=1;
        	                }
        	                else if ( (LA510_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt510=1;
        	                }
        	            }
        	            switch (alt510)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1631:18: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement8554);
        	        	        no_write_to_bin_log1615=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log1615.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1616 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8557);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1616_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1616));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1616_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement8559);
        	        qualified_identifier_list1617=qualified_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier_list1617.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1632:4: CHECK_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( check_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL1618 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_table_administration_statement8564);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHECK_SYMBOL1618_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL1618))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHECK_SYMBOL1618_tree, root_0));
        	        }

        	        TABLE_SYMBOL1619 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8567);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1619_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1619));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1619_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement8569);
        	        qualified_identifier_list1620=qualified_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier_list1620.tree);

        	        // MySQL.g:1632:57: ( check_option )*

        	        for (;;)
        	        {
        	            int alt511=2;
        	            switch ( LA(1) )
        	            {
        	            case CHANGED_SYMBOL:
        	            case EXTENDED_SYMBOL:
        	            case FAST_SYMBOL:
        	            case MEDIUM_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case FOR_SYMBOL:
        	            	{
        	            		alt511=1;
        	            	}
        	                break;

        	            }

        	            switch (alt511)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1632:57: check_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_check_option_in_table_administration_statement8571);
        	        	        check_option1621=check_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, check_option1621.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop511;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop511: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1633:4: CHECKSUM_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( QUICK_SYMBOL | EXTENDED_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECKSUM_SYMBOL1622 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECKSUM_SYMBOL, &FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement8577);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHECKSUM_SYMBOL1622_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECKSUM_SYMBOL1622))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHECKSUM_SYMBOL1622_tree, root_0));
        	        }

        	        TABLE_SYMBOL1623 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8580);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1623_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1623));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1623_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement8582);
        	        qualified_identifier_list1624=qualified_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier_list1624.tree);

        	        // MySQL.g:1633:60: ( QUICK_SYMBOL | EXTENDED_SYMBOL )?
        	        {
        	            int alt512=2;
        	            switch ( LA(1) )
        	            {
        	                case EXTENDED_SYMBOL:
        	                case QUICK_SYMBOL:
        	                	{
        	                		alt512=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt512)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1625=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == EXTENDED_SYMBOL || LA(1) == QUICK_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1625))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto ruletable_administration_statementEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1634:4: OPTIMIZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPTIMIZE_SYMBOL1626 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIMIZE_SYMBOL, &FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement8596);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTIMIZE_SYMBOL1626_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIMIZE_SYMBOL1626))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, OPTIMIZE_SYMBOL1626_tree, root_0));
        	        }

        	        // MySQL.g:1634:21: ( no_write_to_bin_log )?
        	        {
        	            int alt513=2;
        	            {
        	                int LA513_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA513_0 == LOCAL_SYMBOL))
        	                {
        	                    alt513=1;
        	                }
        	                else if ( (LA513_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt513=1;
        	                }
        	            }
        	            switch (alt513)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1634:21: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement8599);
        	        	        no_write_to_bin_log1627=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log1627.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1628 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8602);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1628_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1628));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1628_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement8604);
        	        qualified_identifier_list1629=qualified_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier_list1629.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1635:4: REPAIR_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list ( repair_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPAIR_SYMBOL1630 = (pANTLR3_COMMON_TOKEN) MATCHT(REPAIR_SYMBOL, &FOLLOW_REPAIR_SYMBOL_in_table_administration_statement8609);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPAIR_SYMBOL1630_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPAIR_SYMBOL1630))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPAIR_SYMBOL1630_tree, root_0));
        	        }

        	        // MySQL.g:1635:19: ( no_write_to_bin_log )?
        	        {
        	            int alt514=2;
        	            {
        	                int LA514_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA514_0 == LOCAL_SYMBOL))
        	                {
        	                    alt514=1;
        	                }
        	                else if ( (LA514_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt514=1;
        	                }
        	            }
        	            switch (alt514)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1635:19: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement8612);
        	        	        no_write_to_bin_log1631=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log1631.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1632 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8615);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1632_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1632));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1632_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement8617);
        	        qualified_identifier_list1633=qualified_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier_list1633.tree);

        	        // MySQL.g:1635:79: ( repair_option )*

        	        for (;;)
        	        {
        	            int alt515=2;
        	            switch ( LA(1) )
        	            {
        	            case EXTENDED_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case USE_FRM_SYMBOL:
        	            	{
        	            		alt515=1;
        	            	}
        	                break;

        	            }

        	            switch (alt515)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1635:79: repair_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repair_option_in_table_administration_statement8619);
        	        	        repair_option1634=repair_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, repair_option1634.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop515;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop515: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1636:4: {...}? => BACKUP_SYMBOL ^ TABLE_SYMBOL table_identifier_list TO_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION < 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50500";
        	                EXCEPTION->ruleName	 = (void *)"table_administration_statement";


        	        }

        	        BACKUP_SYMBOL1635 = (pANTLR3_COMMON_TOKEN) MATCHT(BACKUP_SYMBOL, &FOLLOW_BACKUP_SYMBOL_in_table_administration_statement8629);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BACKUP_SYMBOL1635_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BACKUP_SYMBOL1635))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BACKUP_SYMBOL1635_tree, root_0));
        	        }

        	        TABLE_SYMBOL1636 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8632);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1636_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1636));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1636_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_table_administration_statement8634);
        	        table_identifier_list1637=table_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier_list1637.tree);

        	        TO_SYMBOL1638 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_table_administration_statement8636);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TO_SYMBOL1638_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1638));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1638_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_table_administration_statement8638);
        	        string_literal1639=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1639.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1637:4: {...}? => RESTORE_SYMBOL ^ TABLE_SYMBOL table_identifier_list FROM_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION < 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50500";
        	                EXCEPTION->ruleName	 = (void *)"table_administration_statement";


        	        }

        	        RESTORE_SYMBOL1640 = (pANTLR3_COMMON_TOKEN) MATCHT(RESTORE_SYMBOL, &FOLLOW_RESTORE_SYMBOL_in_table_administration_statement8647);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESTORE_SYMBOL1640_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESTORE_SYMBOL1640))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RESTORE_SYMBOL1640_tree, root_0));
        	        }

        	        TABLE_SYMBOL1641 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement8650);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1641_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1641));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1641_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_table_administration_statement8652);
        	        table_identifier_list1642=table_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier_list1642.tree);

        	        FROM_SYMBOL1643 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_table_administration_statement8654);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL1643_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1643));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1643_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_table_administration_statement8656);
        	        string_literal1644=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1644.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletable_administration_statementEx; /* Prevent compiler warnings */
    ruletable_administration_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_administration_statement */

/**
 * $ANTLR start check_option
 * MySQL.g:1640:1: check_option : ( FOR_SYMBOL UPGRADE_SYMBOL | QUICK_SYMBOL | FAST_SYMBOL | MEDIUM_SYMBOL | EXTENDED_SYMBOL | CHANGED_SYMBOL );
 */
static MySQLParser_check_option_return
check_option(pMySQLParser ctx)
{
    MySQLParser_check_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1645;
    pANTLR3_COMMON_TOKEN    UPGRADE_SYMBOL1646;
    pANTLR3_COMMON_TOKEN    QUICK_SYMBOL1647;
    pANTLR3_COMMON_TOKEN    FAST_SYMBOL1648;
    pANTLR3_COMMON_TOKEN    MEDIUM_SYMBOL1649;
    pANTLR3_COMMON_TOKEN    EXTENDED_SYMBOL1650;
    pANTLR3_COMMON_TOKEN    CHANGED_SYMBOL1651;

    pANTLR3_BASE_TREE FOR_SYMBOL1645_tree;
    pANTLR3_BASE_TREE UPGRADE_SYMBOL1646_tree;
    pANTLR3_BASE_TREE QUICK_SYMBOL1647_tree;
    pANTLR3_BASE_TREE FAST_SYMBOL1648_tree;
    pANTLR3_BASE_TREE MEDIUM_SYMBOL1649_tree;
    pANTLR3_BASE_TREE EXTENDED_SYMBOL1650_tree;
    pANTLR3_BASE_TREE CHANGED_SYMBOL1651_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1645       = NULL;
    UPGRADE_SYMBOL1646       = NULL;
    QUICK_SYMBOL1647       = NULL;
    FAST_SYMBOL1648       = NULL;
    MEDIUM_SYMBOL1649       = NULL;
    EXTENDED_SYMBOL1650       = NULL;
    CHANGED_SYMBOL1651       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1645_tree   = NULL;
    UPGRADE_SYMBOL1646_tree   = NULL;
    QUICK_SYMBOL1647_tree   = NULL;
    FAST_SYMBOL1648_tree   = NULL;
    MEDIUM_SYMBOL1649_tree   = NULL;
    EXTENDED_SYMBOL1650_tree   = NULL;
    CHANGED_SYMBOL1651_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1640:13: ( FOR_SYMBOL UPGRADE_SYMBOL | QUICK_SYMBOL | FAST_SYMBOL | MEDIUM_SYMBOL | EXTENDED_SYMBOL | CHANGED_SYMBOL )

            ANTLR3_UINT32 alt517;

            alt517=6;

            switch ( LA(1) )
            {
            case FOR_SYMBOL:
            	{
            		alt517=1;
            	}
                break;
            case QUICK_SYMBOL:
            	{
            		alt517=2;
            	}
                break;
            case FAST_SYMBOL:
            	{
            		alt517=3;
            	}
                break;
            case MEDIUM_SYMBOL:
            	{
            		alt517=4;
            	}
                break;
            case EXTENDED_SYMBOL:
            	{
            		alt517=5;
            	}
                break;
            case CHANGED_SYMBOL:
            	{
            		alt517=6;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 517;
                EXCEPTION->state        = 0;


                goto rulecheck_optionEx;

            }

            switch (alt517)
            {
        	case 1:
        	    // MySQL.g:1641:2: FOR_SYMBOL UPGRADE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOR_SYMBOL1645 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_check_option8665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL1645_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1645));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1645_tree);
        	        }

        	        UPGRADE_SYMBOL1646 = (pANTLR3_COMMON_TOKEN) MATCHT(UPGRADE_SYMBOL, &FOLLOW_UPGRADE_SYMBOL_in_check_option8667);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPGRADE_SYMBOL1646_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPGRADE_SYMBOL1646));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPGRADE_SYMBOL1646_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1641:30: QUICK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUICK_SYMBOL1647 = (pANTLR3_COMMON_TOKEN) MATCHT(QUICK_SYMBOL, &FOLLOW_QUICK_SYMBOL_in_check_option8671);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUICK_SYMBOL1647_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUICK_SYMBOL1647));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUICK_SYMBOL1647_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1641:45: FAST_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FAST_SYMBOL1648 = (pANTLR3_COMMON_TOKEN) MATCHT(FAST_SYMBOL, &FOLLOW_FAST_SYMBOL_in_check_option8675);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FAST_SYMBOL1648_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FAST_SYMBOL1648));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FAST_SYMBOL1648_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1641:59: MEDIUM_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUM_SYMBOL1649 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUM_SYMBOL, &FOLLOW_MEDIUM_SYMBOL_in_check_option8679);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUM_SYMBOL1649_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUM_SYMBOL1649));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUM_SYMBOL1649_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1641:75: EXTENDED_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTENDED_SYMBOL1650 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENDED_SYMBOL, &FOLLOW_EXTENDED_SYMBOL_in_check_option8683);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXTENDED_SYMBOL1650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTENDED_SYMBOL1650));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTENDED_SYMBOL1650_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1641:93: CHANGED_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHANGED_SYMBOL1651 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGED_SYMBOL, &FOLLOW_CHANGED_SYMBOL_in_check_option8687);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHANGED_SYMBOL1651_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGED_SYMBOL1651));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHANGED_SYMBOL1651_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecheck_optionEx; /* Prevent compiler warnings */
    rulecheck_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end check_option */

/**
 * $ANTLR start repair_option
 * MySQL.g:1644:1: repair_option : ( QUICK_SYMBOL | EXTENDED_SYMBOL | USE_FRM_SYMBOL );
 */
static MySQLParser_repair_option_return
repair_option(pMySQLParser ctx)
{
    MySQLParser_repair_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1652;

    pANTLR3_BASE_TREE set1652_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1652       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1652_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1644:14: ( QUICK_SYMBOL | EXTENDED_SYMBOL | USE_FRM_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1652=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == EXTENDED_SYMBOL || LA(1) == QUICK_SYMBOL || LA(1) == USE_FRM_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1652))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulerepair_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulerepair_optionEx; /* Prevent compiler warnings */
    rulerepair_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end repair_option */

/**
 * $ANTLR start install_uninstall_statment
 * MySQL.g:1650:1: install_uninstall_statment : ( INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal | UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier );
 */
static MySQLParser_install_uninstall_statment_return
install_uninstall_statment(pMySQLParser ctx)
{
    MySQLParser_install_uninstall_statment_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INSTALL_SYMBOL1653;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1654;
    pANTLR3_COMMON_TOKEN    SONAME_SYMBOL1656;
    pANTLR3_COMMON_TOKEN    UNINSTALL_SYMBOL1658;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1659;
    MySQLParser_identifier_return identifier1655;
    #undef	RETURN_TYPE_identifier1655
    #define	RETURN_TYPE_identifier1655 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal1657;
    #undef	RETURN_TYPE_string_literal1657
    #define	RETURN_TYPE_string_literal1657 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier1660;
    #undef	RETURN_TYPE_identifier1660
    #define	RETURN_TYPE_identifier1660 MySQLParser_identifier_return

    pANTLR3_BASE_TREE INSTALL_SYMBOL1653_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1654_tree;
    pANTLR3_BASE_TREE SONAME_SYMBOL1656_tree;
    pANTLR3_BASE_TREE UNINSTALL_SYMBOL1658_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1659_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INSTALL_SYMBOL1653       = NULL;
    PLUGIN_SYMBOL1654       = NULL;
    SONAME_SYMBOL1656       = NULL;
    UNINSTALL_SYMBOL1658       = NULL;
    PLUGIN_SYMBOL1659       = NULL;
    identifier1655.tree = NULL;

    string_literal1657.tree = NULL;

    identifier1660.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INSTALL_SYMBOL1653_tree   = NULL;
    PLUGIN_SYMBOL1654_tree   = NULL;
    SONAME_SYMBOL1656_tree   = NULL;
    UNINSTALL_SYMBOL1658_tree   = NULL;
    PLUGIN_SYMBOL1659_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1650:27: ( INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal | UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier )

            ANTLR3_UINT32 alt518;

            alt518=2;

            switch ( LA(1) )
            {
            case INSTALL_SYMBOL:
            	{
            		alt518=1;
            	}
                break;
            case UNINSTALL_SYMBOL:
            	{
            		alt518=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 518;
                EXCEPTION->state        = 0;


                goto ruleinstall_uninstall_statmentEx;

            }

            switch (alt518)
            {
        	case 1:
        	    // MySQL.g:1651:2: INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSTALL_SYMBOL1653 = (pANTLR3_COMMON_TOKEN) MATCHT(INSTALL_SYMBOL, &FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment8715);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSTALL_SYMBOL1653_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSTALL_SYMBOL1653))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, INSTALL_SYMBOL1653_tree, root_0));
        	        }

        	        PLUGIN_SYMBOL1654 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8718);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PLUGIN_SYMBOL1654_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_SYMBOL1654));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_SYMBOL1654_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_install_uninstall_statment8720);
        	        identifier1655=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1655.tree);

        	        SONAME_SYMBOL1656 = (pANTLR3_COMMON_TOKEN) MATCHT(SONAME_SYMBOL, &FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment8722);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SONAME_SYMBOL1656_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SONAME_SYMBOL1656));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SONAME_SYMBOL1656_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_install_uninstall_statment8724);
        	        string_literal1657=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1657.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1652:4: UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNINSTALL_SYMBOL1658 = (pANTLR3_COMMON_TOKEN) MATCHT(UNINSTALL_SYMBOL, &FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment8729);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNINSTALL_SYMBOL1658_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNINSTALL_SYMBOL1658))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNINSTALL_SYMBOL1658_tree, root_0));
        	        }

        	        PLUGIN_SYMBOL1659 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment8732);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PLUGIN_SYMBOL1659_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_SYMBOL1659));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_SYMBOL1659_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_install_uninstall_statment8734);
        	        identifier1660=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1660.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleinstall_uninstall_statmentEx; /* Prevent compiler warnings */
    ruleinstall_uninstall_statmentEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end install_uninstall_statment */

/**
 * $ANTLR start set_statement
 * MySQL.g:1657:1: set_statement : SET_SYMBOL ^ ( options {k=3; } : ( option_type )? TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? option_value_no_option_type ( COMMA_SYMBOL option_value_list )? | option_type option_value_following_option_type ( COMMA_SYMBOL option_value_list )? ) ;
 */
static MySQLParser_set_statement_return
set_statement(pMySQLParser ctx)
{
    MySQLParser_set_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SET_SYMBOL1661;
    pANTLR3_COMMON_TOKEN    TRANSACTION_SYMBOL1663;
    pANTLR3_COMMON_TOKEN    ONE_SHOT_SYMBOL1665;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1667;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1671;
    MySQLParser_option_type_return option_type1662;
    #undef	RETURN_TYPE_option_type1662
    #define	RETURN_TYPE_option_type1662 MySQLParser_option_type_return

    MySQLParser_set_transaction_characteristic_return set_transaction_characteristic1664;
    #undef	RETURN_TYPE_set_transaction_characteristic1664
    #define	RETURN_TYPE_set_transaction_characteristic1664 MySQLParser_set_transaction_characteristic_return

    MySQLParser_option_value_no_option_type_return option_value_no_option_type1666;
    #undef	RETURN_TYPE_option_value_no_option_type1666
    #define	RETURN_TYPE_option_value_no_option_type1666 MySQLParser_option_value_no_option_type_return

    MySQLParser_option_value_list_return option_value_list1668;
    #undef	RETURN_TYPE_option_value_list1668
    #define	RETURN_TYPE_option_value_list1668 MySQLParser_option_value_list_return

    MySQLParser_option_type_return option_type1669;
    #undef	RETURN_TYPE_option_type1669
    #define	RETURN_TYPE_option_type1669 MySQLParser_option_type_return

    MySQLParser_option_value_following_option_type_return option_value_following_option_type1670;
    #undef	RETURN_TYPE_option_value_following_option_type1670
    #define	RETURN_TYPE_option_value_following_option_type1670 MySQLParser_option_value_following_option_type_return

    MySQLParser_option_value_list_return option_value_list1672;
    #undef	RETURN_TYPE_option_value_list1672
    #define	RETURN_TYPE_option_value_list1672 MySQLParser_option_value_list_return

    pANTLR3_BASE_TREE SET_SYMBOL1661_tree;
    pANTLR3_BASE_TREE TRANSACTION_SYMBOL1663_tree;
    pANTLR3_BASE_TREE ONE_SHOT_SYMBOL1665_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1667_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1671_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SET_SYMBOL1661       = NULL;
    TRANSACTION_SYMBOL1663       = NULL;
    ONE_SHOT_SYMBOL1665       = NULL;
    COMMA_SYMBOL1667       = NULL;
    COMMA_SYMBOL1671       = NULL;
    option_type1662.tree = NULL;

    set_transaction_characteristic1664.tree = NULL;

    option_value_no_option_type1666.tree = NULL;

    option_value_list1668.tree = NULL;

    option_type1669.tree = NULL;

    option_value_following_option_type1670.tree = NULL;

    option_value_list1672.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SET_SYMBOL1661_tree   = NULL;
    TRANSACTION_SYMBOL1663_tree   = NULL;
    ONE_SHOT_SYMBOL1665_tree   = NULL;
    COMMA_SYMBOL1667_tree   = NULL;
    COMMA_SYMBOL1671_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1657:14: ( SET_SYMBOL ^ ( options {k=3; } : ( option_type )? TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? option_value_no_option_type ( COMMA_SYMBOL option_value_list )? | option_type option_value_following_option_type ( COMMA_SYMBOL option_value_list )? ) )
        // MySQL.g:1658:2: SET_SYMBOL ^ ( options {k=3; } : ( option_type )? TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? option_value_no_option_type ( COMMA_SYMBOL option_value_list )? | option_type option_value_following_option_type ( COMMA_SYMBOL option_value_list )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SET_SYMBOL1661 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_set_statement8745);
            if  (HASEXCEPTION())
            {
                goto ruleset_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SET_SYMBOL1661_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1661))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SET_SYMBOL1661_tree, root_0));
            }

            // MySQL.g:1659:3: ( options {k=3; } : ( option_type )? TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? option_value_no_option_type ( COMMA_SYMBOL option_value_list )? | option_type option_value_following_option_type ( COMMA_SYMBOL option_value_list )? )
            {
                int alt523=3;
                {
                    int LA523_0 = LA(1);
                    if ( (LA523_0 == GLOBAL_SYMBOL || LA523_0 == LOCAL_SYMBOL || LA523_0 == SESSION_SYMBOL))
                    {
                        {
                            int LA523_1 = LA(2);
                            if ( (LA523_1 == TRANSACTION_SYMBOL))
                            {
                                switch ( LA(3) )
                                {
                                case ISOLATION_SYMBOL:
                                case READ_SYMBOL:
                                	{
                                		alt523=1;
                                	}
                                    break;
                                case ASSIGN_OPERATOR:
                                case DOT_SYMBOL:
                                case EQUAL_OPERATOR:
                                	{
                                		alt523=3;
                                	}
                                    break;

                                default:
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }

                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 523;
                                    EXCEPTION->state        = 16;


                                    goto ruleset_statementEx;

                                }

                            }
                            else if ( (LA523_1 == ASSIGN_OPERATOR || LA523_1 == DOT_SYMBOL || LA523_1 == EQUAL_OPERATOR))
                            {
                                alt523=2;
                            }
                            else if ( (((LA523_1 >= ASCII_SYMBOL) && (LA523_1 <= THAN_SYMBOL)) || ((LA523_1 >= TRIGGERS_SYMBOL) && (LA523_1 <= YEAR_SYMBOL)) || LA523_1 == BACK_TICK_QUOTED_ID || LA523_1 == DEFAULT_SYMBOL || LA523_1 == DOUBLE_QUOTED_TEXT || LA523_1 == IDENTIFIER))
                            {
                                alt523=3;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 523;
                                EXCEPTION->state        = 1;


                                goto ruleset_statementEx;

                            }
                        }
                    }
                    else if ( (LA523_0 == TRANSACTION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case ISOLATION_SYMBOL:
                        case READ_SYMBOL:
                        	{
                        		alt523=1;
                        	}
                            break;
                        case ASSIGN_OPERATOR:
                        case DOT_SYMBOL:
                        case EQUAL_OPERATOR:
                        	{
                        		alt523=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 523;
                            EXCEPTION->state        = 2;


                            goto ruleset_statementEx;

                        }

                    }
                    else if ( (LA523_0 == NAMES_SYMBOL || LA523_0 == ONE_SHOT_SYMBOL || LA523_0 == BACK_TICK_QUOTED_ID || LA523_0 == IDENTIFIER))
                    {
                        alt523=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA523_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt523=2;
                    }
                    else if ( (((LA523_0 >= ASCII_SYMBOL) && (LA523_0 <= GRANTS_SYMBOL)) || ((LA523_0 >= HASH_SYMBOL) && (LA523_0 <= LIST_SYMBOL)) || ((LA523_0 >= LOCKS_SYMBOL) && (LA523_0 <= NAME_SYMBOL)) || ((LA523_0 >= NATIONAL_SYMBOL) && (LA523_0 <= OLD_PASSWORD_SYMBOL)) || ((LA523_0 >= ONE_SYMBOL) && (LA523_0 <= SERIALIZABLE_SYMBOL)) || ((LA523_0 >= SIMPLE_SYMBOL) && (LA523_0 <= THAN_SYMBOL)) || ((LA523_0 >= TRIGGERS_SYMBOL) && (LA523_0 <= YEAR_SYMBOL)) || ((LA523_0 >= AT_AT_SIGN_SYMBOL) && (LA523_0 <= AT_TEXT_SUFFIX)) || LA523_0 == CHAR_SYMBOL || LA523_0 == DEFAULT_SYMBOL))
                    {
                        alt523=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 523;
                        EXCEPTION->state        = 0;


                        goto ruleset_statementEx;

                    }
                }
                switch (alt523)
                {
            	case 1:
            	    // MySQL.g:1660:5: ( option_type )? TRANSACTION_SYMBOL set_transaction_characteristic
            	    {
            	        // MySQL.g:1660:5: ( option_type )?
            	        {
            	            int alt519=2;
            	            switch ( LA(1) )
            	            {
            	                case GLOBAL_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                case SESSION_SYMBOL:
            	                	{
            	                		alt519=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt519)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1660:5: option_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_option_type_in_set_statement8768);
            	        	        option_type1662=option_type(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1662.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TRANSACTION_SYMBOL1663 = (pANTLR3_COMMON_TOKEN) MATCHT(TRANSACTION_SYMBOL, &FOLLOW_TRANSACTION_SYMBOL_in_set_statement8771);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRANSACTION_SYMBOL1663_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRANSACTION_SYMBOL1663));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRANSACTION_SYMBOL1663_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_set_transaction_characteristic_in_set_statement8773);
            	        set_transaction_characteristic1664=set_transaction_characteristic(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_transaction_characteristic1664.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1661:6: ( ONE_SHOT_SYMBOL )? option_value_no_option_type ( COMMA_SYMBOL option_value_list )?
            	    {
            	        // MySQL.g:1661:6: ( ONE_SHOT_SYMBOL )?
            	        {
            	            int alt520=2;
            	            switch ( LA(1) )
            	            {
            	                case ONE_SHOT_SYMBOL:
            	                	{
            	                		{
            	                		    int LA520_1 = LA(2);
            	                		    if ( (((LA520_1 >= ASCII_SYMBOL) && (LA520_1 <= YEAR_SYMBOL)) || ((LA520_1 >= AT_AT_SIGN_SYMBOL) && (LA520_1 <= AT_TEXT_SUFFIX)) || LA520_1 == BACK_TICK_QUOTED_ID || LA520_1 == CHAR_SYMBOL || LA520_1 == DEFAULT_SYMBOL || LA520_1 == DOUBLE_QUOTED_TEXT || LA520_1 == IDENTIFIER))
            	                		    {
            	                		        alt520=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt520)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1661:6: ONE_SHOT_SYMBOL
            	        	    {
            	        	        ONE_SHOT_SYMBOL1665 = (pANTLR3_COMMON_TOKEN) MATCHT(ONE_SHOT_SYMBOL, &FOLLOW_ONE_SHOT_SYMBOL_in_set_statement8780);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ONE_SHOT_SYMBOL1665_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ONE_SHOT_SYMBOL1665));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ONE_SHOT_SYMBOL1665_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_option_value_no_option_type_in_set_statement8783);
            	        option_value_no_option_type1666=option_value_no_option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_no_option_type1666.tree);

            	        // MySQL.g:1661:51: ( COMMA_SYMBOL option_value_list )?
            	        {
            	            int alt521=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt521=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt521)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1661:52: COMMA_SYMBOL option_value_list
            	        	    {
            	        	        COMMA_SYMBOL1667 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_set_statement8786);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL1667_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1667));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1667_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_option_value_list_in_set_statement8788);
            	        	        option_value_list1668=option_value_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_list1668.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1663:6: option_type option_value_following_option_type ( COMMA_SYMBOL option_value_list )?
            	    {
            	        FOLLOWPUSH(FOLLOW_option_type_in_set_statement8801);
            	        option_type1669=option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1669.tree);

            	        FOLLOWPUSH(FOLLOW_option_value_following_option_type_in_set_statement8803);
            	        option_value_following_option_type1670=option_value_following_option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_following_option_type1670.tree);

            	        // MySQL.g:1663:53: ( COMMA_SYMBOL option_value_list )?
            	        {
            	            int alt522=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt522=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt522)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1663:54: COMMA_SYMBOL option_value_list
            	        	    {
            	        	        COMMA_SYMBOL1671 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_set_statement8806);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL1671_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1671));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1671_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_option_value_list_in_set_statement8808);
            	        	        option_value_list1672=option_value_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_list1672.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleset_statementEx; /* Prevent compiler warnings */
    ruleset_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end set_statement */

/**
 * $ANTLR start option_value_no_option_type
 * MySQL.g:1669:1: option_value_no_option_type : ({...}? NAMES_SYMBOL ( equal expression | charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? ) | variable_name equal set_expression_or_default | user_variable equal expression | system_variable equal set_expression_or_default | charset_clause );
 */
static MySQLParser_option_value_no_option_type_return
option_value_no_option_type(pMySQLParser ctx)
{
    MySQLParser_option_value_no_option_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NAMES_SYMBOL1673;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL1677;
    MySQLParser_equal_return equal1674;
    #undef	RETURN_TYPE_equal1674
    #define	RETURN_TYPE_equal1674 MySQLParser_equal_return

    MySQLParser_expression_return expression1675;
    #undef	RETURN_TYPE_expression1675
    #define	RETURN_TYPE_expression1675 MySQLParser_expression_return

    MySQLParser_charset_name_or_default_return charset_name_or_default1676;
    #undef	RETURN_TYPE_charset_name_or_default1676
    #define	RETURN_TYPE_charset_name_or_default1676 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default1678;
    #undef	RETURN_TYPE_collation_name_or_default1678
    #define	RETURN_TYPE_collation_name_or_default1678 MySQLParser_collation_name_or_default_return

    MySQLParser_variable_name_return variable_name1679;
    #undef	RETURN_TYPE_variable_name1679
    #define	RETURN_TYPE_variable_name1679 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1680;
    #undef	RETURN_TYPE_equal1680
    #define	RETURN_TYPE_equal1680 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1681;
    #undef	RETURN_TYPE_set_expression_or_default1681
    #define	RETURN_TYPE_set_expression_or_default1681 MySQLParser_set_expression_or_default_return

    MySQLParser_user_variable_return user_variable1682;
    #undef	RETURN_TYPE_user_variable1682
    #define	RETURN_TYPE_user_variable1682 MySQLParser_user_variable_return

    MySQLParser_equal_return equal1683;
    #undef	RETURN_TYPE_equal1683
    #define	RETURN_TYPE_equal1683 MySQLParser_equal_return

    MySQLParser_expression_return expression1684;
    #undef	RETURN_TYPE_expression1684
    #define	RETURN_TYPE_expression1684 MySQLParser_expression_return

    MySQLParser_system_variable_return system_variable1685;
    #undef	RETURN_TYPE_system_variable1685
    #define	RETURN_TYPE_system_variable1685 MySQLParser_system_variable_return

    MySQLParser_equal_return equal1686;
    #undef	RETURN_TYPE_equal1686
    #define	RETURN_TYPE_equal1686 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1687;
    #undef	RETURN_TYPE_set_expression_or_default1687
    #define	RETURN_TYPE_set_expression_or_default1687 MySQLParser_set_expression_or_default_return

    MySQLParser_charset_clause_return charset_clause1688;
    #undef	RETURN_TYPE_charset_clause1688
    #define	RETURN_TYPE_charset_clause1688 MySQLParser_charset_clause_return

    pANTLR3_BASE_TREE NAMES_SYMBOL1673_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL1677_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NAMES_SYMBOL1673       = NULL;
    COLLATE_SYMBOL1677       = NULL;
    equal1674.tree = NULL;

    expression1675.tree = NULL;

    charset_name_or_default1676.tree = NULL;

    collation_name_or_default1678.tree = NULL;

    variable_name1679.tree = NULL;

    equal1680.tree = NULL;

    set_expression_or_default1681.tree = NULL;

    user_variable1682.tree = NULL;

    equal1683.tree = NULL;

    expression1684.tree = NULL;

    system_variable1685.tree = NULL;

    equal1686.tree = NULL;

    set_expression_or_default1687.tree = NULL;

    charset_clause1688.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NAMES_SYMBOL1673_tree   = NULL;
    COLLATE_SYMBOL1677_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1669:28: ({...}? NAMES_SYMBOL ( equal expression | charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? ) | variable_name equal set_expression_or_default | user_variable equal expression | system_variable equal set_expression_or_default | charset_clause )

            ANTLR3_UINT32 alt526;

            alt526=5;

            {
                int LA526_0 = LA(1);
                if ( (LA526_0 == NAMES_SYMBOL))
                {
                    {
                        int LA526_1 = LA(2);
                        if ( (LA526_1 == ASSIGN_OPERATOR || LA526_1 == EQUAL_OPERATOR))
                        {
                            {
                                int LA526_13 = LA(3);
                                if ( ((LA(1) == NAMES_SYMBOL)))
                                {
                                    alt526=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    alt526=2;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 526;
                                    EXCEPTION->state        = 13;


                                    goto ruleoption_value_no_option_typeEx;

                                }
                            }
                        }
                        else if ( (((LA526_1 >= ASCII_SYMBOL) && (LA526_1 <= YEAR_SYMBOL)) || LA526_1 == BACK_TICK_QUOTED_ID || LA526_1 == BINARY_SYMBOL || LA526_1 == DEFAULT_SYMBOL || LA526_1 == DOUBLE_QUOTED_TEXT || LA526_1 == IDENTIFIER || LA526_1 == SINGLE_QUOTED_TEXT))
                        {
                            alt526=1;
                        }
                        else if ( (LA526_1 == DOT_SYMBOL))
                        {
                            alt526=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 526;
                            EXCEPTION->state        = 1;


                            goto ruleoption_value_no_option_typeEx;

                        }
                    }
                }
                else if ( (LA526_0 == BACK_TICK_QUOTED_ID || LA526_0 == IDENTIFIER))
                {
                    alt526=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA526_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt526=2;
                }
                else if ( (((LA526_0 >= ASCII_SYMBOL) && (LA526_0 <= CACHE_SYMBOL)) || ((LA526_0 >= CHECKSUM_SYMBOL) && (LA526_0 <= NAME_SYMBOL)) || ((LA526_0 >= NATIONAL_SYMBOL) && (LA526_0 <= YEAR_SYMBOL)) || LA526_0 == DEFAULT_SYMBOL))
                {
                    alt526=2;
                }
                else if ( (LA526_0 == CHARSET_SYMBOL))
                {
                    {
                        int LA526_6 = LA(2);
                        if ( (LA526_6 == ASSIGN_OPERATOR || LA526_6 == DOT_SYMBOL || LA526_6 == EQUAL_OPERATOR))
                        {
                            alt526=2;
                        }
                        else if ( (((LA526_6 >= ASCII_SYMBOL) && (LA526_6 <= YEAR_SYMBOL)) || LA526_6 == BACK_TICK_QUOTED_ID || LA526_6 == BINARY_SYMBOL || LA526_6 == DEFAULT_SYMBOL || LA526_6 == DOUBLE_QUOTED_TEXT || LA526_6 == IDENTIFIER || LA526_6 == SINGLE_QUOTED_TEXT))
                        {
                            alt526=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 526;
                            EXCEPTION->state        = 6;


                            goto ruleoption_value_no_option_typeEx;

                        }
                    }
                }
                else if ( (((LA526_0 >= AT_SIGN_SYMBOL) && (LA526_0 <= AT_TEXT_SUFFIX))))
                {
                    alt526=3;
                }
                else if ( (LA526_0 == AT_AT_SIGN_SYMBOL))
                {
                    alt526=4;
                }
                else if ( (LA526_0 == CHAR_SYMBOL))
                {
                    alt526=5;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 526;
                    EXCEPTION->state        = 0;


                    goto ruleoption_value_no_option_typeEx;

                }
            }
            switch (alt526)
            {
        	case 1:
        	    // MySQL.g:1670:2: {...}? NAMES_SYMBOL ( equal expression | charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == NAMES_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == NAMES_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"option_value_no_option_type";


        	        }

        	        NAMES_SYMBOL1673 = (pANTLR3_COMMON_TOKEN) MATCHT(NAMES_SYMBOL, &FOLLOW_NAMES_SYMBOL_in_option_value_no_option_type8833);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NAMES_SYMBOL1673_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NAMES_SYMBOL1673));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NAMES_SYMBOL1673_tree);
        	        }

        	        // MySQL.g:1671:3: ( equal expression | charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? )
        	        {
        	            int alt525=2;
        	            {
        	                int LA525_0 = LA(1);
        	                if ( (LA525_0 == ASSIGN_OPERATOR || LA525_0 == EQUAL_OPERATOR))
        	                {
        	                    alt525=1;
        	                }
        	                else if ( (LA525_0 == BACK_TICK_QUOTED_ID || LA525_0 == IDENTIFIER || LA525_0 == SINGLE_QUOTED_TEXT))
        	                {
        	                    alt525=2;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA525_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt525=2;
        	                }
        	                else if ( (((LA525_0 >= ASCII_SYMBOL) && (LA525_0 <= YEAR_SYMBOL)) || LA525_0 == BINARY_SYMBOL || LA525_0 == DEFAULT_SYMBOL))
        	                {
        	                    alt525=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 525;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleoption_value_no_option_typeEx;

        	                }
        	            }
        	            switch (alt525)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1672:4: equal expression
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_equal_in_option_value_no_option_type8842);
        	        	        equal1674=equal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleoption_value_no_option_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1674.tree);

        	        	        FOLLOWPUSH(FOLLOW_expression_in_option_value_no_option_type8844);
        	        	        expression1675=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleoption_value_no_option_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1675.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1673:6: charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_option_value_no_option_type8851);
        	        	        charset_name_or_default1676=charset_name_or_default(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleoption_value_no_option_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name_or_default1676.tree);

        	        	        // MySQL.g:1673:30: ( COLLATE_SYMBOL collation_name_or_default )?
        	        	        {
        	        	            int alt524=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COLLATE_SYMBOL:
        	        	                	{
        	        	                		alt524=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt524)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1673:31: COLLATE_SYMBOL collation_name_or_default
        	        	        	    {
        	        	        	        COLLATE_SYMBOL1677 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_option_value_no_option_type8854);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleoption_value_no_option_typeEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        COLLATE_SYMBOL1677_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL1677));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL1677_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_option_value_no_option_type8856);
        	        	        	        collation_name_or_default1678=collation_name_or_default(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleoption_value_no_option_typeEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, collation_name_or_default1678.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1675:4: variable_name equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_variable_name_in_option_value_no_option_type8867);
        	        variable_name1679=variable_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name1679.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_option_value_no_option_type8869);
        	        equal1680=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1680.tree);

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_option_value_no_option_type8871);
        	        set_expression_or_default1681=set_expression_or_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_expression_or_default1681.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1676:4: user_variable equal expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_user_variable_in_option_value_no_option_type8876);
        	        user_variable1682=user_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1682.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_option_value_no_option_type8878);
        	        equal1683=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1683.tree);

        	        FOLLOWPUSH(FOLLOW_expression_in_option_value_no_option_type8880);
        	        expression1684=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1684.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1677:4: system_variable equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_system_variable_in_option_value_no_option_type8885);
        	        system_variable1685=system_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, system_variable1685.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_option_value_no_option_type8887);
        	        equal1686=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1686.tree);

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_option_value_no_option_type8889);
        	        set_expression_or_default1687=set_expression_or_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_expression_or_default1687.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1678:4: charset_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_clause_in_option_value_no_option_type8894);
        	        charset_clause1688=charset_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_value_no_option_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause1688.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleoption_value_no_option_typeEx; /* Prevent compiler warnings */
    ruleoption_value_no_option_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end option_value_no_option_type */

/**
 * $ANTLR start option_value_following_option_type
 * MySQL.g:1681:1: option_value_following_option_type : variable_name equal set_expression_or_default ;
 */
static MySQLParser_option_value_following_option_type_return
option_value_following_option_type(pMySQLParser ctx)
{
    MySQLParser_option_value_following_option_type_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_variable_name_return variable_name1689;
    #undef	RETURN_TYPE_variable_name1689
    #define	RETURN_TYPE_variable_name1689 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1690;
    #undef	RETURN_TYPE_equal1690
    #define	RETURN_TYPE_equal1690 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1691;
    #undef	RETURN_TYPE_set_expression_or_default1691
    #define	RETURN_TYPE_set_expression_or_default1691 MySQLParser_set_expression_or_default_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    variable_name1689.tree = NULL;

    equal1690.tree = NULL;

    set_expression_or_default1691.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1681:35: ( variable_name equal set_expression_or_default )
        // MySQL.g:1682:2: variable_name equal set_expression_or_default
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_variable_name_in_option_value_following_option_type8903);
            variable_name1689=variable_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleoption_value_following_option_typeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name1689.tree);

            FOLLOWPUSH(FOLLOW_equal_in_option_value_following_option_type8905);
            equal1690=equal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleoption_value_following_option_typeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1690.tree);

            FOLLOWPUSH(FOLLOW_set_expression_or_default_in_option_value_following_option_type8907);
            set_expression_or_default1691=set_expression_or_default(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleoption_value_following_option_typeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_expression_or_default1691.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleoption_value_following_option_typeEx; /* Prevent compiler warnings */
    ruleoption_value_following_option_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end option_value_following_option_type */

/**
 * $ANTLR start set_expression_or_default
 * MySQL.g:1685:1: set_expression_or_default : ( expression | DEFAULT_SYMBOL | ON_SYMBOL | ALL_SYMBOL | BINARY_SYMBOL );
 */
static MySQLParser_set_expression_or_default_return
set_expression_or_default(pMySQLParser ctx)
{
    MySQLParser_set_expression_or_default_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL1693;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1694;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1695;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL1696;
    MySQLParser_expression_return expression1692;
    #undef	RETURN_TYPE_expression1692
    #define	RETURN_TYPE_expression1692 MySQLParser_expression_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL1693_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1694_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1695_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL1696_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL1693       = NULL;
    ON_SYMBOL1694       = NULL;
    ALL_SYMBOL1695       = NULL;
    BINARY_SYMBOL1696       = NULL;
    expression1692.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL1693_tree   = NULL;
    ON_SYMBOL1694_tree   = NULL;
    ALL_SYMBOL1695_tree   = NULL;
    BINARY_SYMBOL1696_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1685:26: ( expression | DEFAULT_SYMBOL | ON_SYMBOL | ALL_SYMBOL | BINARY_SYMBOL )

            ANTLR3_UINT32 alt527;

            alt527=5;

            {
                int LA527_0 = LA(1);
                if ( (LA527_0 == BITWISE_NOT_OPERATOR || LA527_0 == INTERVAL_SYMBOL || LA527_0 == LOGICAL_NOT_OPERATOR || LA527_0 == MINUS_OPERATOR || LA527_0 == NCHAR_TEXT || LA527_0 == NOT2_SYMBOL || LA527_0 == NOT_SYMBOL || LA527_0 == PLUS_OPERATOR || LA527_0 == SINGLE_QUOTED_TEXT || LA527_0 == UNDERSCORE_CHARSET))
                {
                    alt527=1;
                }
                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA527_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt527=1;
                }
                else if ( (LA527_0 == FALSE_SYMBOL || LA527_0 == FLOAT || ((LA527_0 >= HEXNUMBER) && (LA527_0 <= HEXSTRING)) || LA527_0 == INTEGER || LA527_0 == TRUE_SYMBOL))
                {
                    alt527=1;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA527_0 >= BITNUMBER) && (LA527_0 <= BITSTRING))))
                {
                    alt527=1;
                }
                else if ( (((LA527_0 >= ASCII_SYMBOL) && (LA527_0 <= YEAR_SYMBOL)) || ((LA527_0 >= AT_AT_SIGN_SYMBOL) && (LA527_0 <= AT_TEXT_SUFFIX)) || LA527_0 == BACK_TICK_QUOTED_ID || ((LA527_0 >= BIT_AND_SYMBOL) && (LA527_0 <= BIT_XOR_SYMBOL)) || ((LA527_0 >= CASE_SYMBOL) && (LA527_0 <= CAST_SYMBOL)) || LA527_0 == CHAR_SYMBOL || ((LA527_0 >= CONVERT_SYMBOL) && (LA527_0 <= COUNT_SYMBOL)) || LA527_0 == CURDATE_SYMBOL || LA527_0 == CURRENT_USER_SYMBOL || LA527_0 == CURTIME_SYMBOL || LA527_0 == DATABASE_SYMBOL || LA527_0 == DATE_ADD_SYMBOL || LA527_0 == DATE_SUB_SYMBOL || LA527_0 == EXISTS_SYMBOL || LA527_0 == EXTRACT_SYMBOL || LA527_0 == GROUP_CONCAT_SYMBOL || ((LA527_0 >= IDENTIFIER) && (LA527_0 <= IF_SYMBOL)) || LA527_0 == INSERT_SYMBOL || LA527_0 == LEFT_SYMBOL || LA527_0 == MATCH_SYMBOL || LA527_0 == MAX_SYMBOL || LA527_0 == MIN_SYMBOL || LA527_0 == MOD_SYMBOL || LA527_0 == NOW_SYMBOL || LA527_0 == NULL2_SYMBOL || LA527_0 == NULL_SYMBOL || ((LA527_0 >= OPEN_CURLY_SYMBOL) && (LA527_0 <= OPEN_PAR_SYMBOL)) || LA527_0 == PARAM_MARKER || LA527_0 == POSITION_SYMBOL || ((LA527_0 >= REPEAT_SYMBOL) && (LA527_0 <= REPLACE_SYMBOL)) || LA527_0 == RIGHT_SYMBOL || LA527_0 == STDDEV_SAMP_SYMBOL || LA527_0 == STD_SYMBOL || LA527_0 == SUBSTRING_SYMBOL || ((LA527_0 >= SUM_SYMBOL) && (LA527_0 <= SYSDATE_SYMBOL)) || LA527_0 == TRIM_SYMBOL || ((LA527_0 >= UTC_DATE_SYMBOL) && (LA527_0 <= UTC_TIME_SYMBOL)) || LA527_0 == VALUES_SYMBOL || LA527_0 == VARIANCE_SYMBOL || LA527_0 == VAR_SAMP_SYMBOL))
                {
                    alt527=1;
                }
                else if ( (LA527_0 == BINARY_SYMBOL))
                {
                    {
                        int LA527_99 = LA(2);
                        if ( (((LA527_99 >= ASCII_SYMBOL) && (LA527_99 <= YEAR_SYMBOL)) || ((LA527_99 >= AT_AT_SIGN_SYMBOL) && (LA527_99 <= AT_TEXT_SUFFIX)) || LA527_99 == BACK_TICK_QUOTED_ID || LA527_99 == BINARY_SYMBOL || ((LA527_99 >= BITNUMBER) && (LA527_99 <= BITSTRING)) || ((LA527_99 >= BIT_AND_SYMBOL) && (LA527_99 <= BIT_XOR_SYMBOL)) || ((LA527_99 >= CASE_SYMBOL) && (LA527_99 <= CAST_SYMBOL)) || LA527_99 == CHAR_SYMBOL || ((LA527_99 >= CONVERT_SYMBOL) && (LA527_99 <= COUNT_SYMBOL)) || LA527_99 == CURDATE_SYMBOL || LA527_99 == CURRENT_USER_SYMBOL || LA527_99 == CURTIME_SYMBOL || LA527_99 == DATABASE_SYMBOL || LA527_99 == DATE_ADD_SYMBOL || LA527_99 == DATE_SUB_SYMBOL || LA527_99 == DOUBLE_QUOTED_TEXT || LA527_99 == EXISTS_SYMBOL || ((LA527_99 >= EXTRACT_SYMBOL) && (LA527_99 <= FALSE_SYMBOL)) || LA527_99 == FLOAT || LA527_99 == GROUP_CONCAT_SYMBOL || ((LA527_99 >= HEXNUMBER) && (LA527_99 <= HEXSTRING)) || ((LA527_99 >= IDENTIFIER) && (LA527_99 <= IF_SYMBOL)) || LA527_99 == INSERT_SYMBOL || LA527_99 == INTEGER || LA527_99 == LEFT_SYMBOL || LA527_99 == MATCH_SYMBOL || LA527_99 == MAX_SYMBOL || LA527_99 == MIN_SYMBOL || LA527_99 == MOD_SYMBOL || LA527_99 == NCHAR_TEXT || LA527_99 == NOW_SYMBOL || LA527_99 == NULL2_SYMBOL || LA527_99 == NULL_SYMBOL || ((LA527_99 >= OPEN_CURLY_SYMBOL) && (LA527_99 <= OPEN_PAR_SYMBOL)) || LA527_99 == PARAM_MARKER || LA527_99 == POSITION_SYMBOL || ((LA527_99 >= REPEAT_SYMBOL) && (LA527_99 <= REPLACE_SYMBOL)) || LA527_99 == RIGHT_SYMBOL || LA527_99 == SINGLE_QUOTED_TEXT || LA527_99 == STDDEV_SAMP_SYMBOL || LA527_99 == STD_SYMBOL || LA527_99 == SUBSTRING_SYMBOL || ((LA527_99 >= SUM_SYMBOL) && (LA527_99 <= SYSDATE_SYMBOL)) || ((LA527_99 >= TRIM_SYMBOL) && (LA527_99 <= TRUE_SYMBOL)) || LA527_99 == UNDERSCORE_CHARSET || ((LA527_99 >= UTC_DATE_SYMBOL) && (LA527_99 <= UTC_TIME_SYMBOL)) || LA527_99 == VALUES_SYMBOL || LA527_99 == VARIANCE_SYMBOL || LA527_99 == VAR_SAMP_SYMBOL))
                        {
                            alt527=1;
                        }
                        else if ( (LA527_99 == EOF || LA527_99 == COMMA_SYMBOL || LA527_99 == SEMICOLON_SYMBOL))
                        {
                            alt527=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 527;
                            EXCEPTION->state        = 99;


                            goto ruleset_expression_or_defaultEx;

                        }
                    }
                }
                else if ( (LA527_0 == DEFAULT_SYMBOL))
                {
                    alt527=2;
                }
                else if ( (LA527_0 == ON_SYMBOL))
                {
                    alt527=3;
                }
                else if ( (LA527_0 == ALL_SYMBOL))
                {
                    alt527=4;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 527;
                    EXCEPTION->state        = 0;


                    goto ruleset_expression_or_defaultEx;

                }
            }
            switch (alt527)
            {
        	case 1:
        	    // MySQL.g:1686:2: expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_expression_in_set_expression_or_default8917);
        	        expression1692=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1692.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1687:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL1693 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default8922);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL1693_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL1693));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL1693_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1688:4: ON_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL1694 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_set_expression_or_default8927);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL1694_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1694));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1694_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1689:4: ALL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL1695 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_set_expression_or_default8932);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL1695_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1695));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1695_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1690:4: BINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL1696 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_set_expression_or_default8937);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL1696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL1696));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL1696_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleset_expression_or_defaultEx; /* Prevent compiler warnings */
    ruleset_expression_or_defaultEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end set_expression_or_default */

/**
 * $ANTLR start option_value_list
 * MySQL.g:1693:1: option_value_list : option_value ( COMMA_SYMBOL option_value )* ;
 */
static MySQLParser_option_value_list_return
option_value_list(pMySQLParser ctx)
{
    MySQLParser_option_value_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1698;
    MySQLParser_option_value_return option_value1697;
    #undef	RETURN_TYPE_option_value1697
    #define	RETURN_TYPE_option_value1697 MySQLParser_option_value_return

    MySQLParser_option_value_return option_value1699;
    #undef	RETURN_TYPE_option_value1699
    #define	RETURN_TYPE_option_value1699 MySQLParser_option_value_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1698_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1698       = NULL;
    option_value1697.tree = NULL;

    option_value1699.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1698_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1693:18: ( option_value ( COMMA_SYMBOL option_value )* )
        // MySQL.g:1694:2: option_value ( COMMA_SYMBOL option_value )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_option_value_in_option_value_list8946);
            option_value1697=option_value(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleoption_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value1697.tree);

            // MySQL.g:1694:15: ( COMMA_SYMBOL option_value )*

            for (;;)
            {
                int alt528=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt528=1;
                	}
                    break;

                }

                switch (alt528)
                {
            	case 1:
            	    // MySQL.g:1694:16: COMMA_SYMBOL option_value
            	    {
            	        COMMA_SYMBOL1698 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_option_value_list8949);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleoption_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1698));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1698_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_option_value_in_option_value_list8951);
            	        option_value1699=option_value(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleoption_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value1699.tree);

            	    }
            	    break;

            	default:
            	    goto loop528;	/* break out of the loop */
            	    break;
                }
            }
            loop528: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleoption_value_listEx; /* Prevent compiler warnings */
    ruleoption_value_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end option_value_list */

/**
 * $ANTLR start option_value
 * MySQL.g:1697:1: option_value : ( option_type variable_name equal set_expression_or_default | option_value_no_option_type );
 */
static MySQLParser_option_value_return
option_value(pMySQLParser ctx)
{
    MySQLParser_option_value_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_option_type_return option_type1700;
    #undef	RETURN_TYPE_option_type1700
    #define	RETURN_TYPE_option_type1700 MySQLParser_option_type_return

    MySQLParser_variable_name_return variable_name1701;
    #undef	RETURN_TYPE_variable_name1701
    #define	RETURN_TYPE_variable_name1701 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1702;
    #undef	RETURN_TYPE_equal1702
    #define	RETURN_TYPE_equal1702 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1703;
    #undef	RETURN_TYPE_set_expression_or_default1703
    #define	RETURN_TYPE_set_expression_or_default1703 MySQLParser_set_expression_or_default_return

    MySQLParser_option_value_no_option_type_return option_value_no_option_type1704;
    #undef	RETURN_TYPE_option_value_no_option_type1704
    #define	RETURN_TYPE_option_value_no_option_type1704 MySQLParser_option_value_no_option_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    option_type1700.tree = NULL;

    variable_name1701.tree = NULL;

    equal1702.tree = NULL;

    set_expression_or_default1703.tree = NULL;

    option_value_no_option_type1704.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1697:13: ( option_type variable_name equal set_expression_or_default | option_value_no_option_type )

            ANTLR3_UINT32 alt529;

            alt529=2;

            {
                int LA529_0 = LA(1);
                if ( (LA529_0 == GLOBAL_SYMBOL || LA529_0 == LOCAL_SYMBOL || LA529_0 == SESSION_SYMBOL))
                {
                    {
                        int LA529_1 = LA(2);
                        if ( (((LA529_1 >= ASCII_SYMBOL) && (LA529_1 <= YEAR_SYMBOL)) || LA529_1 == BACK_TICK_QUOTED_ID || LA529_1 == DEFAULT_SYMBOL || LA529_1 == DOUBLE_QUOTED_TEXT || LA529_1 == IDENTIFIER))
                        {
                            alt529=1;
                        }
                        else if ( (LA529_1 == ASSIGN_OPERATOR || LA529_1 == DOT_SYMBOL || LA529_1 == EQUAL_OPERATOR))
                        {
                            alt529=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 529;
                            EXCEPTION->state        = 1;


                            goto ruleoption_valueEx;

                        }
                    }
                }
                else if ( (LA529_0 == NAMES_SYMBOL || LA529_0 == BACK_TICK_QUOTED_ID || LA529_0 == IDENTIFIER))
                {
                    alt529=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA529_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt529=2;
                }
                else if ( (((LA529_0 >= ASCII_SYMBOL) && (LA529_0 <= GRANTS_SYMBOL)) || ((LA529_0 >= HASH_SYMBOL) && (LA529_0 <= LIST_SYMBOL)) || ((LA529_0 >= LOCKS_SYMBOL) && (LA529_0 <= NAME_SYMBOL)) || ((LA529_0 >= NATIONAL_SYMBOL) && (LA529_0 <= SERIALIZABLE_SYMBOL)) || ((LA529_0 >= SIMPLE_SYMBOL) && (LA529_0 <= YEAR_SYMBOL)) || ((LA529_0 >= AT_AT_SIGN_SYMBOL) && (LA529_0 <= AT_TEXT_SUFFIX)) || LA529_0 == CHAR_SYMBOL || LA529_0 == DEFAULT_SYMBOL))
                {
                    alt529=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 529;
                    EXCEPTION->state        = 0;


                    goto ruleoption_valueEx;

                }
            }
            switch (alt529)
            {
        	case 1:
        	    // MySQL.g:1698:2: option_type variable_name equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_option_type_in_option_value8962);
        	        option_type1700=option_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1700.tree);

        	        FOLLOWPUSH(FOLLOW_variable_name_in_option_value8964);
        	        variable_name1701=variable_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name1701.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_option_value8966);
        	        equal1702=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1702.tree);

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_option_value8968);
        	        set_expression_or_default1703=set_expression_or_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_expression_or_default1703.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1699:4: option_value_no_option_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_option_value_no_option_type_in_option_value8973);
        	        option_value_no_option_type1704=option_value_no_option_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_no_option_type1704.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleoption_valueEx; /* Prevent compiler warnings */
    ruleoption_valueEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end option_value */

/**
 * $ANTLR start show_statement
 * MySQL.g:1704:1: show_statement : SHOW_SYMBOL ^ ({...}? => AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? ( channel )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_ref ( in_db )? ( like_or_where )? |{...}? => CONTRIBUTORS_SYMBOL | COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL ) | CREATE_SYMBOL ( DATABASE_SYMBOL schema_ref | EVENT_SYMBOL event_ref | FUNCTION_SYMBOL function_ref | PROCEDURE_SYMBOL procedure_ref | TABLE_SYMBOL table_ref | TRIGGER_SYMBOL trigger_ref | VIEW_SYMBOL view_ref ) | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL engine_ref ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL function_ref | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_ref ( in_db )? ( where_clause )? |{...}? => INNODB_SYMBOL STATUS_SYMBOL | MASTER_SYMBOL STATUS_SYMBOL | OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )? |{...}? => PLUGIN_SYMBOL |{...}? => PLUGINS_SYMBOL | PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )? | PROCEDURE_SYMBOL CODE_SYMBOL procedure_ref | PRIVILEGES_SYMBOL | ( FULL_SYMBOL )? PROCESSLIST_SYMBOL | PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )? | PROFILES_SYMBOL | SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL ( non_blocking )? ( channel )? ) | ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )? | TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )? | WARNINGS_SYMBOL ( limit_clause )? ) ;
 */
static MySQLParser_show_statement_return
show_statement(pMySQLParser ctx)
{
    MySQLParser_show_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SHOW_SYMBOL1705;
    pANTLR3_COMMON_TOKEN    AUTHORS_SYMBOL1706;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL1707;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1708;
    pANTLR3_COMMON_TOKEN    set1709;
    pANTLR3_COMMON_TOKEN    EVENTS_SYMBOL1710;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1711;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1713;
    pANTLR3_COMMON_TOKEN    INTEGER1714;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL1717;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL1718;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL1719;
    pANTLR3_COMMON_TOKEN    COLLATION_SYMBOL1721;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1723;
    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL1724;
    pANTLR3_COMMON_TOKEN    set1725;
    pANTLR3_COMMON_TOKEN    CONTRIBUTORS_SYMBOL1729;
    pANTLR3_COMMON_TOKEN    COUNT_SYMBOL1730;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1731;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1732;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1733;
    pANTLR3_COMMON_TOKEN    set1734;
    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL1735;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL1736;
    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL1738;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1740;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1742;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1744;
    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL1746;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL1748;
    pANTLR3_COMMON_TOKEN    DATABASES_SYMBOL1750;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL1752;
    pANTLR3_COMMON_TOKEN    set1754;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL1755;
    pANTLR3_COMMON_TOKEN    ENGINES_SYMBOL1756;
    pANTLR3_COMMON_TOKEN    ERRORS_SYMBOL1757;
    pANTLR3_COMMON_TOKEN    EVENTS_SYMBOL1759;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1760;
    pANTLR3_COMMON_TOKEN    CODE_SYMBOL1761;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1763;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1764;
    pANTLR3_COMMON_TOKEN    GRANTS_SYMBOL1766;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1767;
    pANTLR3_COMMON_TOKEN    set1769;
    pANTLR3_COMMON_TOKEN    INNODB_SYMBOL1774;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1775;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1776;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1777;
    pANTLR3_COMMON_TOKEN    OPEN_SYMBOL1778;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1779;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1782;
    pANTLR3_COMMON_TOKEN    PLUGINS_SYMBOL1783;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1784;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1785;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1787;
    pANTLR3_COMMON_TOKEN    CODE_SYMBOL1788;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1790;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1791;
    pANTLR3_COMMON_TOKEN    PROCESSLIST_SYMBOL1792;
    pANTLR3_COMMON_TOKEN    PROFILE_SYMBOL1793;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1795;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1797;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1798;
    pANTLR3_COMMON_TOKEN    INTEGER1799;
    pANTLR3_COMMON_TOKEN    PROFILES_SYMBOL1801;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1802;
    pANTLR3_COMMON_TOKEN    HOSTS_SYMBOL1803;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1804;
    pANTLR3_COMMON_TOKEN    set1808;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1810;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1811;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1814;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1815;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1818;
    pANTLR3_COMMON_TOKEN    TRIGGERS_SYMBOL1819;
    pANTLR3_COMMON_TOKEN    WARNINGS_SYMBOL1822;
    MySQLParser_string_literal_return string_literal1712;
    #undef	RETURN_TYPE_string_literal1712
    #define	RETURN_TYPE_string_literal1712 MySQLParser_string_literal_return

    MySQLParser_limit_clause_return limit_clause1715;
    #undef	RETURN_TYPE_limit_clause1715
    #define	RETURN_TYPE_limit_clause1715 MySQLParser_limit_clause_return

    MySQLParser_channel_return channel1716;
    #undef	RETURN_TYPE_channel1716
    #define	RETURN_TYPE_channel1716 MySQLParser_channel_return

    MySQLParser_like_or_where_return like_or_where1720;
    #undef	RETURN_TYPE_like_or_where1720
    #define	RETURN_TYPE_like_or_where1720 MySQLParser_like_or_where_return

    MySQLParser_like_or_where_return like_or_where1722;
    #undef	RETURN_TYPE_like_or_where1722
    #define	RETURN_TYPE_like_or_where1722 MySQLParser_like_or_where_return

    MySQLParser_table_ref_return table_ref1726;
    #undef	RETURN_TYPE_table_ref1726
    #define	RETURN_TYPE_table_ref1726 MySQLParser_table_ref_return

    MySQLParser_in_db_return in_db1727;
    #undef	RETURN_TYPE_in_db1727
    #define	RETURN_TYPE_in_db1727 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1728;
    #undef	RETURN_TYPE_like_or_where1728
    #define	RETURN_TYPE_like_or_where1728 MySQLParser_like_or_where_return

    MySQLParser_schema_ref_return schema_ref1737;
    #undef	RETURN_TYPE_schema_ref1737
    #define	RETURN_TYPE_schema_ref1737 MySQLParser_schema_ref_return

    MySQLParser_event_ref_return event_ref1739;
    #undef	RETURN_TYPE_event_ref1739
    #define	RETURN_TYPE_event_ref1739 MySQLParser_event_ref_return

    MySQLParser_function_ref_return function_ref1741;
    #undef	RETURN_TYPE_function_ref1741
    #define	RETURN_TYPE_function_ref1741 MySQLParser_function_ref_return

    MySQLParser_procedure_ref_return procedure_ref1743;
    #undef	RETURN_TYPE_procedure_ref1743
    #define	RETURN_TYPE_procedure_ref1743 MySQLParser_procedure_ref_return

    MySQLParser_table_ref_return table_ref1745;
    #undef	RETURN_TYPE_table_ref1745
    #define	RETURN_TYPE_table_ref1745 MySQLParser_table_ref_return

    MySQLParser_trigger_ref_return trigger_ref1747;
    #undef	RETURN_TYPE_trigger_ref1747
    #define	RETURN_TYPE_trigger_ref1747 MySQLParser_trigger_ref_return

    MySQLParser_view_ref_return view_ref1749;
    #undef	RETURN_TYPE_view_ref1749
    #define	RETURN_TYPE_view_ref1749 MySQLParser_view_ref_return

    MySQLParser_like_clause_return like_clause1751;
    #undef	RETURN_TYPE_like_clause1751
    #define	RETURN_TYPE_like_clause1751 MySQLParser_like_clause_return

    MySQLParser_engine_ref_return engine_ref1753;
    #undef	RETURN_TYPE_engine_ref1753
    #define	RETURN_TYPE_engine_ref1753 MySQLParser_engine_ref_return

    MySQLParser_limit_clause_return limit_clause1758;
    #undef	RETURN_TYPE_limit_clause1758
    #define	RETURN_TYPE_limit_clause1758 MySQLParser_limit_clause_return

    MySQLParser_function_ref_return function_ref1762;
    #undef	RETURN_TYPE_function_ref1762
    #define	RETURN_TYPE_function_ref1762 MySQLParser_function_ref_return

    MySQLParser_like_or_where_return like_or_where1765;
    #undef	RETURN_TYPE_like_or_where1765
    #define	RETURN_TYPE_like_or_where1765 MySQLParser_like_or_where_return

    MySQLParser_user_return user1768;
    #undef	RETURN_TYPE_user1768
    #define	RETURN_TYPE_user1768 MySQLParser_user_return

    MySQLParser_from_or_in_return from_or_in1770;
    #undef	RETURN_TYPE_from_or_in1770
    #define	RETURN_TYPE_from_or_in1770 MySQLParser_from_or_in_return

    MySQLParser_table_ref_return table_ref1771;
    #undef	RETURN_TYPE_table_ref1771
    #define	RETURN_TYPE_table_ref1771 MySQLParser_table_ref_return

    MySQLParser_in_db_return in_db1772;
    #undef	RETURN_TYPE_in_db1772
    #define	RETURN_TYPE_in_db1772 MySQLParser_in_db_return

    MySQLParser_where_clause_return where_clause1773;
    #undef	RETURN_TYPE_where_clause1773
    #define	RETURN_TYPE_where_clause1773 MySQLParser_where_clause_return

    MySQLParser_in_db_return in_db1780;
    #undef	RETURN_TYPE_in_db1780
    #define	RETURN_TYPE_in_db1780 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1781;
    #undef	RETURN_TYPE_like_or_where1781
    #define	RETURN_TYPE_like_or_where1781 MySQLParser_like_or_where_return

    MySQLParser_like_or_where_return like_or_where1786;
    #undef	RETURN_TYPE_like_or_where1786
    #define	RETURN_TYPE_like_or_where1786 MySQLParser_like_or_where_return

    MySQLParser_procedure_ref_return procedure_ref1789;
    #undef	RETURN_TYPE_procedure_ref1789
    #define	RETURN_TYPE_procedure_ref1789 MySQLParser_procedure_ref_return

    MySQLParser_profile_type_return profile_type1794;
    #undef	RETURN_TYPE_profile_type1794
    #define	RETURN_TYPE_profile_type1794 MySQLParser_profile_type_return

    MySQLParser_profile_type_return profile_type1796;
    #undef	RETURN_TYPE_profile_type1796
    #define	RETURN_TYPE_profile_type1796 MySQLParser_profile_type_return

    MySQLParser_limit_clause_return limit_clause1800;
    #undef	RETURN_TYPE_limit_clause1800
    #define	RETURN_TYPE_limit_clause1800 MySQLParser_limit_clause_return

    MySQLParser_non_blocking_return non_blocking1805;
    #undef	RETURN_TYPE_non_blocking1805
    #define	RETURN_TYPE_non_blocking1805 MySQLParser_non_blocking_return

    MySQLParser_channel_return channel1806;
    #undef	RETURN_TYPE_channel1806
    #define	RETURN_TYPE_channel1806 MySQLParser_channel_return

    MySQLParser_option_type_return option_type1807;
    #undef	RETURN_TYPE_option_type1807
    #define	RETURN_TYPE_option_type1807 MySQLParser_option_type_return

    MySQLParser_like_or_where_return like_or_where1809;
    #undef	RETURN_TYPE_like_or_where1809
    #define	RETURN_TYPE_like_or_where1809 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1812;
    #undef	RETURN_TYPE_in_db1812
    #define	RETURN_TYPE_in_db1812 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1813;
    #undef	RETURN_TYPE_like_or_where1813
    #define	RETURN_TYPE_like_or_where1813 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1816;
    #undef	RETURN_TYPE_in_db1816
    #define	RETURN_TYPE_in_db1816 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1817;
    #undef	RETURN_TYPE_like_or_where1817
    #define	RETURN_TYPE_like_or_where1817 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1820;
    #undef	RETURN_TYPE_in_db1820
    #define	RETURN_TYPE_in_db1820 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1821;
    #undef	RETURN_TYPE_like_or_where1821
    #define	RETURN_TYPE_like_or_where1821 MySQLParser_like_or_where_return

    MySQLParser_limit_clause_return limit_clause1823;
    #undef	RETURN_TYPE_limit_clause1823
    #define	RETURN_TYPE_limit_clause1823 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE SHOW_SYMBOL1705_tree;
    pANTLR3_BASE_TREE AUTHORS_SYMBOL1706_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL1707_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1708_tree;
    pANTLR3_BASE_TREE set1709_tree;
    pANTLR3_BASE_TREE EVENTS_SYMBOL1710_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1711_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1713_tree;
    pANTLR3_BASE_TREE INTEGER1714_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL1717_tree;
    pANTLR3_BASE_TREE SET_SYMBOL1718_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL1719_tree;
    pANTLR3_BASE_TREE COLLATION_SYMBOL1721_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1723_tree;
    pANTLR3_BASE_TREE COLUMNS_SYMBOL1724_tree;
    pANTLR3_BASE_TREE set1725_tree;
    pANTLR3_BASE_TREE CONTRIBUTORS_SYMBOL1729_tree;
    pANTLR3_BASE_TREE COUNT_SYMBOL1730_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1731_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1732_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1733_tree;
    pANTLR3_BASE_TREE set1734_tree;
    pANTLR3_BASE_TREE CREATE_SYMBOL1735_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL1736_tree;
    pANTLR3_BASE_TREE EVENT_SYMBOL1738_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1740_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1742_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1744_tree;
    pANTLR3_BASE_TREE TRIGGER_SYMBOL1746_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL1748_tree;
    pANTLR3_BASE_TREE DATABASES_SYMBOL1750_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL1752_tree;
    pANTLR3_BASE_TREE set1754_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL1755_tree;
    pANTLR3_BASE_TREE ENGINES_SYMBOL1756_tree;
    pANTLR3_BASE_TREE ERRORS_SYMBOL1757_tree;
    pANTLR3_BASE_TREE EVENTS_SYMBOL1759_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1760_tree;
    pANTLR3_BASE_TREE CODE_SYMBOL1761_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1763_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1764_tree;
    pANTLR3_BASE_TREE GRANTS_SYMBOL1766_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1767_tree;
    pANTLR3_BASE_TREE set1769_tree;
    pANTLR3_BASE_TREE INNODB_SYMBOL1774_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1775_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1776_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1777_tree;
    pANTLR3_BASE_TREE OPEN_SYMBOL1778_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1779_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1782_tree;
    pANTLR3_BASE_TREE PLUGINS_SYMBOL1783_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1784_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1785_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1787_tree;
    pANTLR3_BASE_TREE CODE_SYMBOL1788_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1790_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1791_tree;
    pANTLR3_BASE_TREE PROCESSLIST_SYMBOL1792_tree;
    pANTLR3_BASE_TREE PROFILE_SYMBOL1793_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1795_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1797_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1798_tree;
    pANTLR3_BASE_TREE INTEGER1799_tree;
    pANTLR3_BASE_TREE PROFILES_SYMBOL1801_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1802_tree;
    pANTLR3_BASE_TREE HOSTS_SYMBOL1803_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1804_tree;
    pANTLR3_BASE_TREE set1808_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1810_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1811_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1814_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1815_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1818_tree;
    pANTLR3_BASE_TREE TRIGGERS_SYMBOL1819_tree;
    pANTLR3_BASE_TREE WARNINGS_SYMBOL1822_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SHOW_SYMBOL1705       = NULL;
    AUTHORS_SYMBOL1706       = NULL;
    BINARY_SYMBOL1707       = NULL;
    LOGS_SYMBOL1708       = NULL;
    set1709       = NULL;
    EVENTS_SYMBOL1710       = NULL;
    IN_SYMBOL1711       = NULL;
    FROM_SYMBOL1713       = NULL;
    INTEGER1714       = NULL;
    CHAR_SYMBOL1717       = NULL;
    SET_SYMBOL1718       = NULL;
    CHARSET_SYMBOL1719       = NULL;
    COLLATION_SYMBOL1721       = NULL;
    FULL_SYMBOL1723       = NULL;
    COLUMNS_SYMBOL1724       = NULL;
    set1725       = NULL;
    CONTRIBUTORS_SYMBOL1729       = NULL;
    COUNT_SYMBOL1730       = NULL;
    OPEN_PAR_SYMBOL1731       = NULL;
    MULT_OPERATOR1732       = NULL;
    CLOSE_PAR_SYMBOL1733       = NULL;
    set1734       = NULL;
    CREATE_SYMBOL1735       = NULL;
    DATABASE_SYMBOL1736       = NULL;
    EVENT_SYMBOL1738       = NULL;
    FUNCTION_SYMBOL1740       = NULL;
    PROCEDURE_SYMBOL1742       = NULL;
    TABLE_SYMBOL1744       = NULL;
    TRIGGER_SYMBOL1746       = NULL;
    VIEW_SYMBOL1748       = NULL;
    DATABASES_SYMBOL1750       = NULL;
    ENGINE_SYMBOL1752       = NULL;
    set1754       = NULL;
    STORAGE_SYMBOL1755       = NULL;
    ENGINES_SYMBOL1756       = NULL;
    ERRORS_SYMBOL1757       = NULL;
    EVENTS_SYMBOL1759       = NULL;
    FUNCTION_SYMBOL1760       = NULL;
    CODE_SYMBOL1761       = NULL;
    FUNCTION_SYMBOL1763       = NULL;
    STATUS_SYMBOL1764       = NULL;
    GRANTS_SYMBOL1766       = NULL;
    FOR_SYMBOL1767       = NULL;
    set1769       = NULL;
    INNODB_SYMBOL1774       = NULL;
    STATUS_SYMBOL1775       = NULL;
    MASTER_SYMBOL1776       = NULL;
    STATUS_SYMBOL1777       = NULL;
    OPEN_SYMBOL1778       = NULL;
    TABLES_SYMBOL1779       = NULL;
    PLUGIN_SYMBOL1782       = NULL;
    PLUGINS_SYMBOL1783       = NULL;
    PROCEDURE_SYMBOL1784       = NULL;
    STATUS_SYMBOL1785       = NULL;
    PROCEDURE_SYMBOL1787       = NULL;
    CODE_SYMBOL1788       = NULL;
    PRIVILEGES_SYMBOL1790       = NULL;
    FULL_SYMBOL1791       = NULL;
    PROCESSLIST_SYMBOL1792       = NULL;
    PROFILE_SYMBOL1793       = NULL;
    COMMA_SYMBOL1795       = NULL;
    FOR_SYMBOL1797       = NULL;
    QUERY_SYMBOL1798       = NULL;
    INTEGER1799       = NULL;
    PROFILES_SYMBOL1801       = NULL;
    SLAVE_SYMBOL1802       = NULL;
    HOSTS_SYMBOL1803       = NULL;
    STATUS_SYMBOL1804       = NULL;
    set1808       = NULL;
    TABLE_SYMBOL1810       = NULL;
    STATUS_SYMBOL1811       = NULL;
    FULL_SYMBOL1814       = NULL;
    TABLES_SYMBOL1815       = NULL;
    FULL_SYMBOL1818       = NULL;
    TRIGGERS_SYMBOL1819       = NULL;
    WARNINGS_SYMBOL1822       = NULL;
    string_literal1712.tree = NULL;

    limit_clause1715.tree = NULL;

    channel1716.tree = NULL;

    like_or_where1720.tree = NULL;

    like_or_where1722.tree = NULL;

    table_ref1726.tree = NULL;

    in_db1727.tree = NULL;

    like_or_where1728.tree = NULL;

    schema_ref1737.tree = NULL;

    event_ref1739.tree = NULL;

    function_ref1741.tree = NULL;

    procedure_ref1743.tree = NULL;

    table_ref1745.tree = NULL;

    trigger_ref1747.tree = NULL;

    view_ref1749.tree = NULL;

    like_clause1751.tree = NULL;

    engine_ref1753.tree = NULL;

    limit_clause1758.tree = NULL;

    function_ref1762.tree = NULL;

    like_or_where1765.tree = NULL;

    user1768.tree = NULL;

    from_or_in1770.tree = NULL;

    table_ref1771.tree = NULL;

    in_db1772.tree = NULL;

    where_clause1773.tree = NULL;

    in_db1780.tree = NULL;

    like_or_where1781.tree = NULL;

    like_or_where1786.tree = NULL;

    procedure_ref1789.tree = NULL;

    profile_type1794.tree = NULL;

    profile_type1796.tree = NULL;

    limit_clause1800.tree = NULL;

    non_blocking1805.tree = NULL;

    channel1806.tree = NULL;

    option_type1807.tree = NULL;

    like_or_where1809.tree = NULL;

    in_db1812.tree = NULL;

    like_or_where1813.tree = NULL;

    in_db1816.tree = NULL;

    like_or_where1817.tree = NULL;

    in_db1820.tree = NULL;

    like_or_where1821.tree = NULL;

    limit_clause1823.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SHOW_SYMBOL1705_tree   = NULL;
    AUTHORS_SYMBOL1706_tree   = NULL;
    BINARY_SYMBOL1707_tree   = NULL;
    LOGS_SYMBOL1708_tree   = NULL;
    set1709_tree   = NULL;
    EVENTS_SYMBOL1710_tree   = NULL;
    IN_SYMBOL1711_tree   = NULL;
    FROM_SYMBOL1713_tree   = NULL;
    INTEGER1714_tree   = NULL;
    CHAR_SYMBOL1717_tree   = NULL;
    SET_SYMBOL1718_tree   = NULL;
    CHARSET_SYMBOL1719_tree   = NULL;
    COLLATION_SYMBOL1721_tree   = NULL;
    FULL_SYMBOL1723_tree   = NULL;
    COLUMNS_SYMBOL1724_tree   = NULL;
    set1725_tree   = NULL;
    CONTRIBUTORS_SYMBOL1729_tree   = NULL;
    COUNT_SYMBOL1730_tree   = NULL;
    OPEN_PAR_SYMBOL1731_tree   = NULL;
    MULT_OPERATOR1732_tree   = NULL;
    CLOSE_PAR_SYMBOL1733_tree   = NULL;
    set1734_tree   = NULL;
    CREATE_SYMBOL1735_tree   = NULL;
    DATABASE_SYMBOL1736_tree   = NULL;
    EVENT_SYMBOL1738_tree   = NULL;
    FUNCTION_SYMBOL1740_tree   = NULL;
    PROCEDURE_SYMBOL1742_tree   = NULL;
    TABLE_SYMBOL1744_tree   = NULL;
    TRIGGER_SYMBOL1746_tree   = NULL;
    VIEW_SYMBOL1748_tree   = NULL;
    DATABASES_SYMBOL1750_tree   = NULL;
    ENGINE_SYMBOL1752_tree   = NULL;
    set1754_tree   = NULL;
    STORAGE_SYMBOL1755_tree   = NULL;
    ENGINES_SYMBOL1756_tree   = NULL;
    ERRORS_SYMBOL1757_tree   = NULL;
    EVENTS_SYMBOL1759_tree   = NULL;
    FUNCTION_SYMBOL1760_tree   = NULL;
    CODE_SYMBOL1761_tree   = NULL;
    FUNCTION_SYMBOL1763_tree   = NULL;
    STATUS_SYMBOL1764_tree   = NULL;
    GRANTS_SYMBOL1766_tree   = NULL;
    FOR_SYMBOL1767_tree   = NULL;
    set1769_tree   = NULL;
    INNODB_SYMBOL1774_tree   = NULL;
    STATUS_SYMBOL1775_tree   = NULL;
    MASTER_SYMBOL1776_tree   = NULL;
    STATUS_SYMBOL1777_tree   = NULL;
    OPEN_SYMBOL1778_tree   = NULL;
    TABLES_SYMBOL1779_tree   = NULL;
    PLUGIN_SYMBOL1782_tree   = NULL;
    PLUGINS_SYMBOL1783_tree   = NULL;
    PROCEDURE_SYMBOL1784_tree   = NULL;
    STATUS_SYMBOL1785_tree   = NULL;
    PROCEDURE_SYMBOL1787_tree   = NULL;
    CODE_SYMBOL1788_tree   = NULL;
    PRIVILEGES_SYMBOL1790_tree   = NULL;
    FULL_SYMBOL1791_tree   = NULL;
    PROCESSLIST_SYMBOL1792_tree   = NULL;
    PROFILE_SYMBOL1793_tree   = NULL;
    COMMA_SYMBOL1795_tree   = NULL;
    FOR_SYMBOL1797_tree   = NULL;
    QUERY_SYMBOL1798_tree   = NULL;
    INTEGER1799_tree   = NULL;
    PROFILES_SYMBOL1801_tree   = NULL;
    SLAVE_SYMBOL1802_tree   = NULL;
    HOSTS_SYMBOL1803_tree   = NULL;
    STATUS_SYMBOL1804_tree   = NULL;
    set1808_tree   = NULL;
    TABLE_SYMBOL1810_tree   = NULL;
    STATUS_SYMBOL1811_tree   = NULL;
    FULL_SYMBOL1814_tree   = NULL;
    TABLES_SYMBOL1815_tree   = NULL;
    FULL_SYMBOL1818_tree   = NULL;
    TRIGGERS_SYMBOL1819_tree   = NULL;
    WARNINGS_SYMBOL1822_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1704:15: ( SHOW_SYMBOL ^ ({...}? => AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? ( channel )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_ref ( in_db )? ( like_or_where )? |{...}? => CONTRIBUTORS_SYMBOL | COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL ) | CREATE_SYMBOL ( DATABASE_SYMBOL schema_ref | EVENT_SYMBOL event_ref | FUNCTION_SYMBOL function_ref | PROCEDURE_SYMBOL procedure_ref | TABLE_SYMBOL table_ref | TRIGGER_SYMBOL trigger_ref | VIEW_SYMBOL view_ref ) | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL engine_ref ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL function_ref | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_ref ( in_db )? ( where_clause )? |{...}? => INNODB_SYMBOL STATUS_SYMBOL | MASTER_SYMBOL STATUS_SYMBOL | OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )? |{...}? => PLUGIN_SYMBOL |{...}? => PLUGINS_SYMBOL | PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )? | PROCEDURE_SYMBOL CODE_SYMBOL procedure_ref | PRIVILEGES_SYMBOL | ( FULL_SYMBOL )? PROCESSLIST_SYMBOL | PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )? | PROFILES_SYMBOL | SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL ( non_blocking )? ( channel )? ) | ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )? | TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )? | WARNINGS_SYMBOL ( limit_clause )? ) )
        // MySQL.g:1705:2: SHOW_SYMBOL ^ ({...}? => AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? ( channel )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_ref ( in_db )? ( like_or_where )? |{...}? => CONTRIBUTORS_SYMBOL | COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL ) | CREATE_SYMBOL ( DATABASE_SYMBOL schema_ref | EVENT_SYMBOL event_ref | FUNCTION_SYMBOL function_ref | PROCEDURE_SYMBOL procedure_ref | TABLE_SYMBOL table_ref | TRIGGER_SYMBOL trigger_ref | VIEW_SYMBOL view_ref ) | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL engine_ref ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL function_ref | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_ref ( in_db )? ( where_clause )? |{...}? => INNODB_SYMBOL STATUS_SYMBOL | MASTER_SYMBOL STATUS_SYMBOL | OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )? |{...}? => PLUGIN_SYMBOL |{...}? => PLUGINS_SYMBOL | PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )? | PROCEDURE_SYMBOL CODE_SYMBOL procedure_ref | PRIVILEGES_SYMBOL | ( FULL_SYMBOL )? PROCESSLIST_SYMBOL | PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )? | PROFILES_SYMBOL | SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL ( non_blocking )? ( channel )? ) | ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )? | TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )? | WARNINGS_SYMBOL ( limit_clause )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SHOW_SYMBOL1705 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_show_statement8984);
            if  (HASEXCEPTION())
            {
                goto ruleshow_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SHOW_SYMBOL1705_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHOW_SYMBOL1705))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SHOW_SYMBOL1705_tree, root_0));
            }

            // MySQL.g:1706:2: ({...}? => AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? ( channel )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_ref ( in_db )? ( like_or_where )? |{...}? => CONTRIBUTORS_SYMBOL | COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL ) | CREATE_SYMBOL ( DATABASE_SYMBOL schema_ref | EVENT_SYMBOL event_ref | FUNCTION_SYMBOL function_ref | PROCEDURE_SYMBOL procedure_ref | TABLE_SYMBOL table_ref | TRIGGER_SYMBOL trigger_ref | VIEW_SYMBOL view_ref ) | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL engine_ref ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL function_ref | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_ref ( in_db )? ( where_clause )? |{...}? => INNODB_SYMBOL STATUS_SYMBOL | MASTER_SYMBOL STATUS_SYMBOL | OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )? |{...}? => PLUGIN_SYMBOL |{...}? => PLUGINS_SYMBOL | PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )? | PROCEDURE_SYMBOL CODE_SYMBOL procedure_ref | PRIVILEGES_SYMBOL | ( FULL_SYMBOL )? PROCESSLIST_SYMBOL | PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )? | PROFILES_SYMBOL | SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL ( non_blocking )? ( channel )? ) | ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )? | TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )? | ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )? | WARNINGS_SYMBOL ( limit_clause )? )
            {
                int alt569=35;
                {
                    int LA569_0 = LA(1);
                    if ( ((SERVER_VERSION < 50700)) && (LA569_0 == AUTHORS_SYMBOL))
                    {
                        alt569=1;
                    }
                    else if ( (LA569_0 == BINARY_SYMBOL))
                    {
                        alt569=2;
                    }
                    else if ( (LA569_0 == BINLOG_SYMBOL || LA569_0 == RELAYLOG_SYMBOL))
                    {
                        alt569=3;
                    }
                    else if ( (LA569_0 == CHARSET_SYMBOL || LA569_0 == CHAR_SYMBOL))
                    {
                        alt569=4;
                    }
                    else if ( (LA569_0 == COLLATION_SYMBOL))
                    {
                        alt569=5;
                    }
                    else if ( (LA569_0 == FULL_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case COLUMNS_SYMBOL:
                        	{
                        		alt569=6;
                        	}
                            break;
                        case PROCESSLIST_SYMBOL:
                        	{
                        		alt569=27;
                        	}
                            break;
                        case TABLES_SYMBOL:
                        	{
                        		alt569=33;
                        	}
                            break;
                        case TRIGGERS_SYMBOL:
                        	{
                        		alt569=34;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 569;
                            EXCEPTION->state        = 7;


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA569_0 == COLUMNS_SYMBOL))
                    {
                        alt569=6;
                    }
                    else if ( ((SERVER_VERSION < 50700)) && (LA569_0 == CONTRIBUTORS_SYMBOL))
                    {
                        alt569=7;
                    }
                    else if ( (LA569_0 == COUNT_SYMBOL))
                    {
                        alt569=8;
                    }
                    else if ( (LA569_0 == CREATE_SYMBOL))
                    {
                        alt569=9;
                    }
                    else if ( (LA569_0 == DATABASES_SYMBOL))
                    {
                        alt569=10;
                    }
                    else if ( (LA569_0 == ENGINE_SYMBOL))
                    {
                        alt569=11;
                    }
                    else if ( (LA569_0 == ENGINES_SYMBOL || LA569_0 == STORAGE_SYMBOL))
                    {
                        alt569=12;
                    }
                    else if ( (LA569_0 == ERRORS_SYMBOL))
                    {
                        alt569=13;
                    }
                    else if ( (LA569_0 == EVENTS_SYMBOL))
                    {
                        alt569=14;
                    }
                    else if ( (LA569_0 == FUNCTION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case CODE_SYMBOL:
                        	{
                        		alt569=15;
                        	}
                            break;
                        case STATUS_SYMBOL:
                        	{
                        		alt569=16;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 569;
                            EXCEPTION->state        = 18;


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA569_0 == GRANTS_SYMBOL))
                    {
                        alt569=17;
                    }
                    else if ( (LA569_0 == INDEXES_SYMBOL || LA569_0 == INDEX_SYMBOL || LA569_0 == KEYS_SYMBOL))
                    {
                        alt569=18;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA569_0 == INNODB_SYMBOL))
                    {
                        alt569=19;
                    }
                    else if ( (LA569_0 == MASTER_SYMBOL))
                    {
                        alt569=20;
                    }
                    else if ( (LA569_0 == OPEN_SYMBOL))
                    {
                        alt569=21;
                    }
                    else if ( (((SERVER_VERSION >= 50105) && (SERVER_VERSION < 50500))) && (LA569_0 == PLUGIN_SYMBOL))
                    {
                        alt569=22;
                    }
                    else if ( ((SERVER_VERSION >= 50500)) && (LA569_0 == PLUGINS_SYMBOL))
                    {
                        alt569=23;
                    }
                    else if ( (LA569_0 == PROCEDURE_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case STATUS_SYMBOL:
                        	{
                        		alt569=24;
                        	}
                            break;
                        case CODE_SYMBOL:
                        	{
                        		alt569=25;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 569;
                            EXCEPTION->state        = 26;


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA569_0 == PRIVILEGES_SYMBOL))
                    {
                        alt569=26;
                    }
                    else if ( (LA569_0 == PROCESSLIST_SYMBOL))
                    {
                        alt569=27;
                    }
                    else if ( (LA569_0 == PROFILE_SYMBOL))
                    {
                        alt569=28;
                    }
                    else if ( (LA569_0 == PROFILES_SYMBOL))
                    {
                        alt569=29;
                    }
                    else if ( (LA569_0 == SLAVE_SYMBOL))
                    {
                        alt569=30;
                    }
                    else if ( (LA569_0 == GLOBAL_SYMBOL || LA569_0 == LOCAL_SYMBOL || LA569_0 == SESSION_SYMBOL || LA569_0 == STATUS_SYMBOL || LA569_0 == VARIABLES_SYMBOL))
                    {
                        alt569=31;
                    }
                    else if ( (LA569_0 == TABLE_SYMBOL))
                    {
                        alt569=32;
                    }
                    else if ( (LA569_0 == TABLES_SYMBOL))
                    {
                        alt569=33;
                    }
                    else if ( (LA569_0 == TRIGGERS_SYMBOL))
                    {
                        alt569=34;
                    }
                    else if ( (LA569_0 == WARNINGS_SYMBOL))
                    {
                        alt569=35;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 569;
                        EXCEPTION->state        = 0;


                        goto ruleshow_statementEx;

                    }
                }
                switch (alt569)
                {
            	case 1:
            	    // MySQL.g:1707:3: {...}? => AUTHORS_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION < 50700)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50700";
            	                EXCEPTION->ruleName	 = (void *)"show_statement";


            	        }

            	        AUTHORS_SYMBOL1706 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTHORS_SYMBOL, &FOLLOW_AUTHORS_SYMBOL_in_show_statement8996);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        AUTHORS_SYMBOL1706_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTHORS_SYMBOL1706));
            	        ADAPTOR->addChild(ADAPTOR, root_0, AUTHORS_SYMBOL1706_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1708:5: BINARY_SYMBOL LOGS_SYMBOL
            	    {
            	        BINARY_SYMBOL1707 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_show_statement9002);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BINARY_SYMBOL1707_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL1707));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL1707_tree);
            	        }

            	        LOGS_SYMBOL1708 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_show_statement9004);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOGS_SYMBOL1708_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1708));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1708_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1709:5: ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? ( channel )?
            	    {
            	        set1709=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == BINLOG_SYMBOL || LA(1) == RELAYLOG_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1709))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshow_statementEx;
            	        }


            	        EVENTS_SYMBOL1710 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENTS_SYMBOL, &FOLLOW_EVENTS_SYMBOL_in_show_statement9018);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EVENTS_SYMBOL1710_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENTS_SYMBOL1710));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EVENTS_SYMBOL1710_tree);
            	        }

            	        // MySQL.g:1709:53: ( IN_SYMBOL string_literal )?
            	        {
            	            int alt530=2;
            	            switch ( LA(1) )
            	            {
            	                case IN_SYMBOL:
            	                	{
            	                		alt530=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt530)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1709:54: IN_SYMBOL string_literal
            	        	    {
            	        	        IN_SYMBOL1711 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_show_statement9021);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL1711_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1711));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1711_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_string_literal_in_show_statement9023);
            	        	        string_literal1712=string_literal(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1712.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1709:81: ( FROM_SYMBOL INTEGER )?
            	        {
            	            int alt531=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		switch ( LA(2) )
            	                		{
            	                		    case INTEGER:
            	                		    	{
            	                		    		alt531=1;
            	                		    	}
            	                		        break;
            	                		}

            	                	}
            	                    break;
            	            }

            	            switch (alt531)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1709:82: FROM_SYMBOL INTEGER
            	        	    {
            	        	        FROM_SYMBOL1713 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_show_statement9028);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FROM_SYMBOL1713_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1713));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1713_tree);
            	        	        }

            	        	        INTEGER1714 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_show_statement9030);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        INTEGER1714_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1714));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1714_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1709:104: ( limit_clause )?
            	        {
            	            int alt532=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt532=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt532)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1709:104: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement9034);
            	        	        limit_clause1715=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1715.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1709:118: ( channel )?
            	        {
            	            int alt533=2;
            	            {
            	                int LA533_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50706)) && (LA533_0 == FROM_SYMBOL))
            	                {
            	                    alt533=1;
            	                }
            	            }
            	            switch (alt533)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1709:118: channel
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_channel_in_show_statement9037);
            	        	        channel1716=channel(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1716.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1710:5: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )?
            	    {
            	        // MySQL.g:1710:5: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL )
            	        {
            	            int alt534=2;
            	            switch ( LA(1) )
            	            {
            	            case CHAR_SYMBOL:
            	            	{
            	            		alt534=1;
            	            	}
            	                break;
            	            case CHARSET_SYMBOL:
            	            	{
            	            		alt534=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 534;
            	                EXCEPTION->state        = 0;


            	                goto ruleshow_statementEx;

            	            }

            	            switch (alt534)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1710:6: CHAR_SYMBOL SET_SYMBOL
            	        	    {
            	        	        CHAR_SYMBOL1717 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_show_statement9045);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHAR_SYMBOL1717_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL1717));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL1717_tree);
            	        	        }

            	        	        SET_SYMBOL1718 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_show_statement9047);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SET_SYMBOL1718_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1718));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL1718_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1710:31: CHARSET_SYMBOL
            	        	    {
            	        	        CHARSET_SYMBOL1719 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_show_statement9051);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHARSET_SYMBOL1719_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL1719));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL1719_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1710:47: ( like_or_where )?
            	        {
            	            int alt535=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt535=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt535)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1710:47: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9054);
            	        	        like_or_where1720=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1720.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1711:5: COLLATION_SYMBOL ( like_or_where )?
            	    {
            	        COLLATION_SYMBOL1721 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATION_SYMBOL, &FOLLOW_COLLATION_SYMBOL_in_show_statement9061);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATION_SYMBOL1721_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATION_SYMBOL1721));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATION_SYMBOL1721_tree);
            	        }

            	        // MySQL.g:1711:22: ( like_or_where )?
            	        {
            	            int alt536=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt536=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt536)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1711:22: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9063);
            	        	        like_or_where1722=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1722.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1712:5: ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_ref ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1712:5: ( FULL_SYMBOL )?
            	        {
            	            int alt537=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt537=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt537)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1712:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1723 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement9070);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1723_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1723));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1723_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        COLUMNS_SYMBOL1724 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_show_statement9073);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLUMNS_SYMBOL1724_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL1724));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL1724_tree);
            	        }

            	        set1725=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == FROM_SYMBOL || LA(1) == IN_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1725))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshow_statementEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_table_ref_in_show_statement9083);
            	        table_ref1726=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1726.tree);

            	        // MySQL.g:1712:69: ( in_db )?
            	        {
            	            int alt538=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt538=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt538)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1712:69: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement9085);
            	        	        in_db1727=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1727.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1712:76: ( like_or_where )?
            	        {
            	            int alt539=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt539=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt539)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1712:76: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9088);
            	        	        like_or_where1728=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1728.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:1713:5: {...}? => CONTRIBUTORS_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION < 50700)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50700";
            	                EXCEPTION->ruleName	 = (void *)"show_statement";


            	        }

            	        CONTRIBUTORS_SYMBOL1729 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTRIBUTORS_SYMBOL, &FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement9099);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONTRIBUTORS_SYMBOL1729_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTRIBUTORS_SYMBOL1729));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CONTRIBUTORS_SYMBOL1729_tree);
            	        }

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:1714:5: COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL )
            	    {
            	        COUNT_SYMBOL1730 = (pANTLR3_COMMON_TOKEN) MATCHT(COUNT_SYMBOL, &FOLLOW_COUNT_SYMBOL_in_show_statement9105);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COUNT_SYMBOL1730_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COUNT_SYMBOL1730));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COUNT_SYMBOL1730_tree);
            	        }

            	        OPEN_PAR_SYMBOL1731 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_show_statement9107);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL1731_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1731));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1731_tree);
            	        }

            	        MULT_OPERATOR1732 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_show_statement9109);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR1732_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1732));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1732_tree);
            	        }

            	        CLOSE_PAR_SYMBOL1733 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement9111);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL1733_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1733));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1733_tree);
            	        }

            	        set1734=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == ERRORS_SYMBOL || LA(1) == WARNINGS_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1734))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshow_statementEx;
            	        }


            	    }
            	    break;
            	case 9:
            	    // MySQL.g:1715:5: CREATE_SYMBOL ( DATABASE_SYMBOL schema_ref | EVENT_SYMBOL event_ref | FUNCTION_SYMBOL function_ref | PROCEDURE_SYMBOL procedure_ref | TABLE_SYMBOL table_ref | TRIGGER_SYMBOL trigger_ref | VIEW_SYMBOL view_ref )
            	    {
            	        CREATE_SYMBOL1735 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_show_statement9125);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CREATE_SYMBOL1735_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL1735));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CREATE_SYMBOL1735_tree);
            	        }

            	        // MySQL.g:1716:4: ( DATABASE_SYMBOL schema_ref | EVENT_SYMBOL event_ref | FUNCTION_SYMBOL function_ref | PROCEDURE_SYMBOL procedure_ref | TABLE_SYMBOL table_ref | TRIGGER_SYMBOL trigger_ref | VIEW_SYMBOL view_ref )
            	        {
            	            int alt540=7;
            	            switch ( LA(1) )
            	            {
            	            case DATABASE_SYMBOL:
            	            	{
            	            		alt540=1;
            	            	}
            	                break;
            	            case EVENT_SYMBOL:
            	            	{
            	            		alt540=2;
            	            	}
            	                break;
            	            case FUNCTION_SYMBOL:
            	            	{
            	            		alt540=3;
            	            	}
            	                break;
            	            case PROCEDURE_SYMBOL:
            	            	{
            	            		alt540=4;
            	            	}
            	                break;
            	            case TABLE_SYMBOL:
            	            	{
            	            		alt540=5;
            	            	}
            	                break;
            	            case TRIGGER_SYMBOL:
            	            	{
            	            		alt540=6;
            	            	}
            	                break;
            	            case VIEW_SYMBOL:
            	            	{
            	            		alt540=7;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 540;
            	                EXCEPTION->state        = 0;


            	                goto ruleshow_statementEx;

            	            }

            	            switch (alt540)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1717:5: DATABASE_SYMBOL schema_ref
            	        	    {
            	        	        DATABASE_SYMBOL1736 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_show_statement9136);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DATABASE_SYMBOL1736_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL1736));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL1736_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_schema_ref_in_show_statement9138);
            	        	        schema_ref1737=schema_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref1737.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1718:7: EVENT_SYMBOL event_ref
            	        	    {
            	        	        EVENT_SYMBOL1738 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_show_statement9146);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EVENT_SYMBOL1738_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENT_SYMBOL1738));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EVENT_SYMBOL1738_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_event_ref_in_show_statement9148);
            	        	        event_ref1739=event_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, event_ref1739.tree);

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:1719:7: FUNCTION_SYMBOL function_ref
            	        	    {
            	        	        FUNCTION_SYMBOL1740 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement9156);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FUNCTION_SYMBOL1740_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1740));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1740_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_function_ref_in_show_statement9158);
            	        	        function_ref1741=function_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_ref1741.tree);

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:1720:7: PROCEDURE_SYMBOL procedure_ref
            	        	    {
            	        	        PROCEDURE_SYMBOL1742 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement9166);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        PROCEDURE_SYMBOL1742_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1742));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1742_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_procedure_ref_in_show_statement9168);
            	        	        procedure_ref1743=procedure_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_ref1743.tree);

            	        	    }
            	        	    break;
            	        	case 5:
            	        	    // MySQL.g:1721:7: TABLE_SYMBOL table_ref
            	        	    {
            	        	        TABLE_SYMBOL1744 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_show_statement9176);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        TABLE_SYMBOL1744_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1744));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1744_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_table_ref_in_show_statement9178);
            	        	        table_ref1745=table_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1745.tree);

            	        	    }
            	        	    break;
            	        	case 6:
            	        	    // MySQL.g:1722:7: TRIGGER_SYMBOL trigger_ref
            	        	    {
            	        	        TRIGGER_SYMBOL1746 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_show_statement9186);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        TRIGGER_SYMBOL1746_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGER_SYMBOL1746));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGER_SYMBOL1746_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_trigger_ref_in_show_statement9188);
            	        	        trigger_ref1747=trigger_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trigger_ref1747.tree);

            	        	    }
            	        	    break;
            	        	case 7:
            	        	    // MySQL.g:1723:7: VIEW_SYMBOL view_ref
            	        	    {
            	        	        VIEW_SYMBOL1748 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_show_statement9196);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VIEW_SYMBOL1748_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL1748));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL1748_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_view_ref_in_show_statement9198);
            	        	        view_ref1749=view_ref(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_ref1749.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:1725:5: DATABASES_SYMBOL ( like_clause )?
            	    {
            	        DATABASES_SYMBOL1750 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASES_SYMBOL, &FOLLOW_DATABASES_SYMBOL_in_show_statement9209);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATABASES_SYMBOL1750_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASES_SYMBOL1750));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASES_SYMBOL1750_tree);
            	        }

            	        // MySQL.g:1725:22: ( like_clause )?
            	        {
            	            int alt541=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                	{
            	                		alt541=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt541)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1725:22: like_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_clause_in_show_statement9211);
            	        	        like_clause1751=like_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_clause1751.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 11:
            	    // MySQL.g:1726:5: ENGINE_SYMBOL engine_ref ( STATUS_SYMBOL | MUTEX_SYMBOL )
            	    {
            	        ENGINE_SYMBOL1752 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_show_statement9218);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL1752_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL1752));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL1752_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_engine_ref_in_show_statement9220);
            	        engine_ref1753=engine_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref1753.tree);

            	        set1754=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == MUTEX_SYMBOL || LA(1) == STATUS_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1754))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshow_statementEx;
            	        }


            	    }
            	    break;
            	case 12:
            	    // MySQL.g:1727:5: ( STORAGE_SYMBOL )? ENGINES_SYMBOL
            	    {
            	        // MySQL.g:1727:5: ( STORAGE_SYMBOL )?
            	        {
            	            int alt542=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt542=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt542)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1727:5: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL1755 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_show_statement9234);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL1755_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL1755));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL1755_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINES_SYMBOL1756 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINES_SYMBOL, &FOLLOW_ENGINES_SYMBOL_in_show_statement9237);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINES_SYMBOL1756_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINES_SYMBOL1756));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINES_SYMBOL1756_tree);
            	        }

            	    }
            	    break;
            	case 13:
            	    // MySQL.g:1728:5: ERRORS_SYMBOL ( limit_clause )?
            	    {
            	        ERRORS_SYMBOL1757 = (pANTLR3_COMMON_TOKEN) MATCHT(ERRORS_SYMBOL, &FOLLOW_ERRORS_SYMBOL_in_show_statement9243);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ERRORS_SYMBOL1757_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ERRORS_SYMBOL1757));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ERRORS_SYMBOL1757_tree);
            	        }

            	        // MySQL.g:1728:19: ( limit_clause )?
            	        {
            	            int alt543=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt543=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt543)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1728:19: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement9245);
            	        	        limit_clause1758=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1758.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 14:
            	    // MySQL.g:1729:5: EVENTS_SYMBOL
            	    {
            	        EVENTS_SYMBOL1759 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENTS_SYMBOL, &FOLLOW_EVENTS_SYMBOL_in_show_statement9252);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EVENTS_SYMBOL1759_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENTS_SYMBOL1759));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EVENTS_SYMBOL1759_tree);
            	        }

            	    }
            	    break;
            	case 15:
            	    // MySQL.g:1730:5: FUNCTION_SYMBOL CODE_SYMBOL function_ref
            	    {
            	        FUNCTION_SYMBOL1760 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement9258);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL1760_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1760));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1760_tree);
            	        }

            	        CODE_SYMBOL1761 = (pANTLR3_COMMON_TOKEN) MATCHT(CODE_SYMBOL, &FOLLOW_CODE_SYMBOL_in_show_statement9260);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CODE_SYMBOL1761_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CODE_SYMBOL1761));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CODE_SYMBOL1761_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_function_ref_in_show_statement9262);
            	        function_ref1762=function_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_ref1762.tree);

            	    }
            	    break;
            	case 16:
            	    // MySQL.g:1731:5: FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )?
            	    {
            	        FUNCTION_SYMBOL1763 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement9268);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL1763_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1763));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1763_tree);
            	        }

            	        STATUS_SYMBOL1764 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement9270);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1764_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1764));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1764_tree);
            	        }

            	        // MySQL.g:1731:35: ( like_or_where )?
            	        {
            	            int alt544=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt544=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt544)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1731:35: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9272);
            	        	        like_or_where1765=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1765.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 17:
            	    // MySQL.g:1732:5: GRANTS_SYMBOL FOR_SYMBOL user
            	    {
            	        GRANTS_SYMBOL1766 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANTS_SYMBOL, &FOLLOW_GRANTS_SYMBOL_in_show_statement9279);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GRANTS_SYMBOL1766_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANTS_SYMBOL1766));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GRANTS_SYMBOL1766_tree);
            	        }

            	        FOR_SYMBOL1767 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_show_statement9281);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FOR_SYMBOL1767_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1767));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1767_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_show_statement9283);
            	        user1768=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1768.tree);

            	    }
            	    break;
            	case 18:
            	    // MySQL.g:1733:5: ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_ref ( in_db )? ( where_clause )?
            	    {
            	        set1769=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == INDEXES_SYMBOL || LA(1) == INDEX_SYMBOL || LA(1) == KEYS_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1769))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshow_statementEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_from_or_in_in_show_statement9301);
            	        from_or_in1770=from_or_in(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, from_or_in1770.tree);

            	        FOLLOWPUSH(FOLLOW_table_ref_in_show_statement9303);
            	        table_ref1771=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1771.tree);

            	        // MySQL.g:1733:72: ( in_db )?
            	        {
            	            int alt545=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt545=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt545)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1733:72: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement9305);
            	        	        in_db1772=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1772.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1733:79: ( where_clause )?
            	        {
            	            int alt546=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt546=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt546)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1733:79: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_show_statement9308);
            	        	        where_clause1773=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause1773.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 19:
            	    // MySQL.g:1734:5: {...}? => INNODB_SYMBOL STATUS_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION < 50500)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50500";
            	                EXCEPTION->ruleName	 = (void *)"show_statement";


            	        }

            	        INNODB_SYMBOL1774 = (pANTLR3_COMMON_TOKEN) MATCHT(INNODB_SYMBOL, &FOLLOW_INNODB_SYMBOL_in_show_statement9319);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INNODB_SYMBOL1774_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INNODB_SYMBOL1774));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INNODB_SYMBOL1774_tree);
            	        }

            	        STATUS_SYMBOL1775 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement9321);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1775_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1775));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1775_tree);
            	        }

            	    }
            	    break;
            	case 20:
            	    // MySQL.g:1735:5: MASTER_SYMBOL STATUS_SYMBOL
            	    {
            	        MASTER_SYMBOL1776 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_show_statement9328);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MASTER_SYMBOL1776_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1776));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1776_tree);
            	        }

            	        STATUS_SYMBOL1777 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement9330);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1777_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1777));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1777_tree);
            	        }

            	    }
            	    break;
            	case 21:
            	    // MySQL.g:1736:5: OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        OPEN_SYMBOL1778 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_show_statement9336);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_SYMBOL1778_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL1778));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL1778_tree);
            	        }

            	        TABLES_SYMBOL1779 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_show_statement9338);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLES_SYMBOL1779_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1779));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1779_tree);
            	        }

            	        // MySQL.g:1736:31: ( in_db )?
            	        {
            	            int alt547=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt547=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt547)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1736:31: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement9340);
            	        	        in_db1780=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1780.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1736:38: ( like_or_where )?
            	        {
            	            int alt548=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt548=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt548)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1736:38: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9343);
            	        	        like_or_where1781=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1781.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 22:
            	    // MySQL.g:1737:5: {...}? => PLUGIN_SYMBOL
            	    {
            	        if ( !(((SERVER_VERSION >= 50105) && (SERVER_VERSION < 50500))) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"(SERVER_VERSION >= 50105) && (SERVER_VERSION < 50500)";
            	                EXCEPTION->ruleName	 = (void *)"show_statement";


            	        }

            	        PLUGIN_SYMBOL1782 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_show_statement9354);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PLUGIN_SYMBOL1782_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_SYMBOL1782));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_SYMBOL1782_tree);
            	        }

            	    }
            	    break;
            	case 23:
            	    // MySQL.g:1738:5: {...}? => PLUGINS_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION >= 50500)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
            	                EXCEPTION->ruleName	 = (void *)"show_statement";


            	        }

            	        PLUGINS_SYMBOL1783 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGINS_SYMBOL, &FOLLOW_PLUGINS_SYMBOL_in_show_statement9365);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PLUGINS_SYMBOL1783_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGINS_SYMBOL1783));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGINS_SYMBOL1783_tree);
            	        }

            	    }
            	    break;
            	case 24:
            	    // MySQL.g:1739:5: PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )?
            	    {
            	        PROCEDURE_SYMBOL1784 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement9371);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL1784_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1784));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1784_tree);
            	        }

            	        STATUS_SYMBOL1785 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement9373);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1785_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1785));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1785_tree);
            	        }

            	        // MySQL.g:1739:36: ( like_or_where )?
            	        {
            	            int alt549=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt549=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt549)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1739:36: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9375);
            	        	        like_or_where1786=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1786.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 25:
            	    // MySQL.g:1740:5: PROCEDURE_SYMBOL CODE_SYMBOL procedure_ref
            	    {
            	        PROCEDURE_SYMBOL1787 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement9382);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL1787_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1787));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1787_tree);
            	        }

            	        CODE_SYMBOL1788 = (pANTLR3_COMMON_TOKEN) MATCHT(CODE_SYMBOL, &FOLLOW_CODE_SYMBOL_in_show_statement9384);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CODE_SYMBOL1788_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CODE_SYMBOL1788));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CODE_SYMBOL1788_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_procedure_ref_in_show_statement9386);
            	        procedure_ref1789=procedure_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_ref1789.tree);

            	    }
            	    break;
            	case 26:
            	    // MySQL.g:1741:5: PRIVILEGES_SYMBOL
            	    {
            	        PRIVILEGES_SYMBOL1790 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_show_statement9392);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PRIVILEGES_SYMBOL1790_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1790));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1790_tree);
            	        }

            	    }
            	    break;
            	case 27:
            	    // MySQL.g:1742:5: ( FULL_SYMBOL )? PROCESSLIST_SYMBOL
            	    {
            	        // MySQL.g:1742:5: ( FULL_SYMBOL )?
            	        {
            	            int alt550=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt550=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt550)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1742:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1791 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement9398);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1791_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1791));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1791_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        PROCESSLIST_SYMBOL1792 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCESSLIST_SYMBOL, &FOLLOW_PROCESSLIST_SYMBOL_in_show_statement9401);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCESSLIST_SYMBOL1792_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCESSLIST_SYMBOL1792));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCESSLIST_SYMBOL1792_tree);
            	        }

            	    }
            	    break;
            	case 28:
            	    // MySQL.g:1743:5: PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )?
            	    {
            	        PROFILE_SYMBOL1793 = (pANTLR3_COMMON_TOKEN) MATCHT(PROFILE_SYMBOL, &FOLLOW_PROFILE_SYMBOL_in_show_statement9407);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROFILE_SYMBOL1793_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROFILE_SYMBOL1793));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROFILE_SYMBOL1793_tree);
            	        }

            	        // MySQL.g:1743:20: ( profile_type ( COMMA_SYMBOL profile_type )* )?
            	        {
            	            int alt552=2;
            	            switch ( LA(1) )
            	            {
            	                case BLOCK_SYMBOL:
            	                case CONTEXT_SYMBOL:
            	                case CPU_SYMBOL:
            	                case IPC_SYMBOL:
            	                case MEMORY_SYMBOL:
            	                case PAGE_SYMBOL:
            	                case SOURCE_SYMBOL:
            	                case SWAPS_SYMBOL:
            	                case ALL_SYMBOL:
            	                	{
            	                		alt552=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt552)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1743:21: profile_type ( COMMA_SYMBOL profile_type )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_profile_type_in_show_statement9410);
            	        	        profile_type1794=profile_type(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, profile_type1794.tree);

            	        	        // MySQL.g:1743:34: ( COMMA_SYMBOL profile_type )*

            	        	        for (;;)
            	        	        {
            	        	            int alt551=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt551=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt551)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1743:35: COMMA_SYMBOL profile_type
            	        	        	    {
            	        	        	        COMMA_SYMBOL1795 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_show_statement9413);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        COMMA_SYMBOL1795_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1795));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1795_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_profile_type_in_show_statement9415);
            	        	        	        profile_type1796=profile_type(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, profile_type1796.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop551;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop551: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1743:65: ( FOR_SYMBOL QUERY_SYMBOL INTEGER )?
            	        {
            	            int alt553=2;
            	            switch ( LA(1) )
            	            {
            	                case FOR_SYMBOL:
            	                	{
            	                		alt553=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt553)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1743:66: FOR_SYMBOL QUERY_SYMBOL INTEGER
            	        	    {
            	        	        FOR_SYMBOL1797 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_show_statement9422);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FOR_SYMBOL1797_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1797));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1797_tree);
            	        	        }

            	        	        QUERY_SYMBOL1798 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_show_statement9424);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        QUERY_SYMBOL1798_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL1798));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL1798_tree);
            	        	        }

            	        	        INTEGER1799 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_show_statement9426);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        INTEGER1799_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1799));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1799_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1743:100: ( limit_clause )?
            	        {
            	            int alt554=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt554=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt554)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1743:100: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement9430);
            	        	        limit_clause1800=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1800.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 29:
            	    // MySQL.g:1744:5: PROFILES_SYMBOL
            	    {
            	        PROFILES_SYMBOL1801 = (pANTLR3_COMMON_TOKEN) MATCHT(PROFILES_SYMBOL, &FOLLOW_PROFILES_SYMBOL_in_show_statement9437);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROFILES_SYMBOL1801_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROFILES_SYMBOL1801));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROFILES_SYMBOL1801_tree);
            	        }

            	    }
            	    break;
            	case 30:
            	    // MySQL.g:1745:5: SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL ( non_blocking )? ( channel )? )
            	    {
            	        SLAVE_SYMBOL1802 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_show_statement9443);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SLAVE_SYMBOL1802_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1802));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1802_tree);
            	        }

            	        // MySQL.g:1746:4: ( HOSTS_SYMBOL | STATUS_SYMBOL ( non_blocking )? ( channel )? )
            	        {
            	            int alt557=2;
            	            switch ( LA(1) )
            	            {
            	            case HOSTS_SYMBOL:
            	            	{
            	            		alt557=1;
            	            	}
            	                break;
            	            case STATUS_SYMBOL:
            	            	{
            	            		alt557=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 557;
            	                EXCEPTION->state        = 0;


            	                goto ruleshow_statementEx;

            	            }

            	            switch (alt557)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1747:5: HOSTS_SYMBOL
            	        	    {
            	        	        HOSTS_SYMBOL1803 = (pANTLR3_COMMON_TOKEN) MATCHT(HOSTS_SYMBOL, &FOLLOW_HOSTS_SYMBOL_in_show_statement9454);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        HOSTS_SYMBOL1803_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOSTS_SYMBOL1803));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, HOSTS_SYMBOL1803_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1748:7: STATUS_SYMBOL ( non_blocking )? ( channel )?
            	        	    {
            	        	        STATUS_SYMBOL1804 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement9462);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STATUS_SYMBOL1804_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1804));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1804_tree);
            	        	        }

            	        	        // MySQL.g:1748:21: ( non_blocking )?
            	        	        {
            	        	            int alt555=2;
            	        	            {
            	        	                int LA555_0 = LA(1);
            	        	                if ( ((SERVER_VERSION >= 50700 && SERVER_VERSION < 50706)) && (LA555_0 == NONBLOCKING_SYMBOL))
            	        	                {
            	        	                    alt555=1;
            	        	                }
            	        	            }
            	        	            switch (alt555)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1748:21: non_blocking
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_non_blocking_in_show_statement9464);
            	        	        	        non_blocking1805=non_blocking(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, non_blocking1805.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:1748:35: ( channel )?
            	        	        {
            	        	            int alt556=2;
            	        	            {
            	        	                int LA556_0 = LA(1);
            	        	                if ( ((SERVER_VERSION >= 50706)) && (LA556_0 == FROM_SYMBOL))
            	        	                {
            	        	                    alt556=1;
            	        	                }
            	        	            }
            	        	            switch (alt556)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1748:35: channel
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_channel_in_show_statement9467);
            	        	        	        channel1806=channel(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1806.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 31:
            	    // MySQL.g:1750:5: ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )?
            	    {
            	        // MySQL.g:1750:5: ( option_type )?
            	        {
            	            int alt558=2;
            	            switch ( LA(1) )
            	            {
            	                case GLOBAL_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                case SESSION_SYMBOL:
            	                	{
            	                		alt558=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt558)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1750:5: option_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_option_type_in_show_statement9479);
            	        	        option_type1807=option_type(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1807.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        set1808=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == STATUS_SYMBOL || LA(1) == VARIABLES_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1808))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshow_statementEx;
            	        }


            	        // MySQL.g:1750:53: ( like_or_where )?
            	        {
            	            int alt559=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt559=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt559)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1750:53: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9490);
            	        	        like_or_where1809=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1809.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 32:
            	    // MySQL.g:1751:5: TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        TABLE_SYMBOL1810 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_show_statement9497);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLE_SYMBOL1810_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1810));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1810_tree);
            	        }

            	        STATUS_SYMBOL1811 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement9499);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1811_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1811));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1811_tree);
            	        }

            	        // MySQL.g:1751:32: ( in_db )?
            	        {
            	            int alt560=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt560=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt560)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1751:32: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement9501);
            	        	        in_db1812=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1812.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1751:39: ( like_or_where )?
            	        {
            	            int alt561=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt561=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt561)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1751:39: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9504);
            	        	        like_or_where1813=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1813.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 33:
            	    // MySQL.g:1752:5: ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1752:5: ( FULL_SYMBOL )?
            	        {
            	            int alt562=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt562=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt562)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1752:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1814 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement9511);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1814_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1814));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1814_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TABLES_SYMBOL1815 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_show_statement9514);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLES_SYMBOL1815_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1815));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1815_tree);
            	        }

            	        // MySQL.g:1752:32: ( in_db )?
            	        {
            	            int alt563=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt563=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt563)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1752:32: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement9516);
            	        	        in_db1816=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1816.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1752:39: ( like_or_where )?
            	        {
            	            int alt564=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt564=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt564)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1752:39: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9519);
            	        	        like_or_where1817=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1817.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 34:
            	    // MySQL.g:1753:5: ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1753:5: ( FULL_SYMBOL )?
            	        {
            	            int alt565=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt565=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt565)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1753:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1818 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement9526);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1818_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1818));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1818_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TRIGGERS_SYMBOL1819 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGERS_SYMBOL, &FOLLOW_TRIGGERS_SYMBOL_in_show_statement9529);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRIGGERS_SYMBOL1819_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGERS_SYMBOL1819));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGERS_SYMBOL1819_tree);
            	        }

            	        // MySQL.g:1753:34: ( in_db )?
            	        {
            	            int alt566=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt566=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt566)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1753:34: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement9531);
            	        	        in_db1820=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1820.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1753:41: ( like_or_where )?
            	        {
            	            int alt567=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt567=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt567)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1753:41: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement9534);
            	        	        like_or_where1821=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1821.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 35:
            	    // MySQL.g:1754:5: WARNINGS_SYMBOL ( limit_clause )?
            	    {
            	        WARNINGS_SYMBOL1822 = (pANTLR3_COMMON_TOKEN) MATCHT(WARNINGS_SYMBOL, &FOLLOW_WARNINGS_SYMBOL_in_show_statement9541);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WARNINGS_SYMBOL1822_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WARNINGS_SYMBOL1822));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WARNINGS_SYMBOL1822_tree);
            	        }

            	        // MySQL.g:1754:21: ( limit_clause )?
            	        {
            	            int alt568=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt568=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt568)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1754:21: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement9543);
            	        	        limit_clause1823=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1823.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleshow_statementEx; /* Prevent compiler warnings */
    ruleshow_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end show_statement */

/**
 * $ANTLR start non_blocking
 * MySQL.g:1758:1: non_blocking :{...}? => NONBLOCKING_SYMBOL ;
 */
static MySQLParser_non_blocking_return
non_blocking(pMySQLParser ctx)
{
    MySQLParser_non_blocking_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NONBLOCKING_SYMBOL1824;

    pANTLR3_BASE_TREE NONBLOCKING_SYMBOL1824_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NONBLOCKING_SYMBOL1824       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NONBLOCKING_SYMBOL1824_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1758:13: ({...}? => NONBLOCKING_SYMBOL )
        // MySQL.g:1759:2: {...}? => NONBLOCKING_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50700 && SERVER_VERSION < 50706)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700 && SERVER_VERSION < 50706";
                    EXCEPTION->ruleName	 = (void *)"non_blocking";


            }

            NONBLOCKING_SYMBOL1824 = (pANTLR3_COMMON_TOKEN) MATCHT(NONBLOCKING_SYMBOL, &FOLLOW_NONBLOCKING_SYMBOL_in_non_blocking9560);
            if  (HASEXCEPTION())
            {
                goto rulenon_blockingEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            NONBLOCKING_SYMBOL1824_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NONBLOCKING_SYMBOL1824));
            ADAPTOR->addChild(ADAPTOR, root_0, NONBLOCKING_SYMBOL1824_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulenon_blockingEx; /* Prevent compiler warnings */
    rulenon_blockingEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end non_blocking */

/**
 * $ANTLR start from_or_in
 * MySQL.g:1762:1: from_or_in : ( FROM_SYMBOL | IN_SYMBOL );
 */
static MySQLParser_from_or_in_return
from_or_in(pMySQLParser ctx)
{
    MySQLParser_from_or_in_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1825;

    pANTLR3_BASE_TREE set1825_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1825       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1825_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1762:11: ( FROM_SYMBOL | IN_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1825=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == FROM_SYMBOL || LA(1) == IN_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1825))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulefrom_or_inEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefrom_or_inEx; /* Prevent compiler warnings */
    rulefrom_or_inEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end from_or_in */

/**
 * $ANTLR start in_db
 * MySQL.g:1766:1: in_db : from_or_in identifier ;
 */
static MySQLParser_in_db_return
in_db(pMySQLParser ctx)
{
    MySQLParser_in_db_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_from_or_in_return from_or_in1826;
    #undef	RETURN_TYPE_from_or_in1826
    #define	RETURN_TYPE_from_or_in1826 MySQLParser_from_or_in_return

    MySQLParser_identifier_return identifier1827;
    #undef	RETURN_TYPE_identifier1827
    #define	RETURN_TYPE_identifier1827 MySQLParser_identifier_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    from_or_in1826.tree = NULL;

    identifier1827.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1766:6: ( from_or_in identifier )
        // MySQL.g:1767:2: from_or_in identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_from_or_in_in_in_db9582);
            from_or_in1826=from_or_in(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulein_dbEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, from_or_in1826.tree);

            FOLLOWPUSH(FOLLOW_identifier_in_in_db9584);
            identifier1827=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulein_dbEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1827.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulein_dbEx; /* Prevent compiler warnings */
    rulein_dbEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end in_db */

/**
 * $ANTLR start profile_type
 * MySQL.g:1770:1: profile_type : ( ALL_SYMBOL | BLOCK_SYMBOL IO_SYMBOL | CONTEXT_SYMBOL SWITCHES_SYMBOL | CPU_SYMBOL | IPC_SYMBOL | MEMORY_SYMBOL | PAGE_SYMBOL FAULTS_SYMBOL | SOURCE_SYMBOL | SWAPS_SYMBOL );
 */
static MySQLParser_profile_type_return
profile_type(pMySQLParser ctx)
{
    MySQLParser_profile_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1828;
    pANTLR3_COMMON_TOKEN    BLOCK_SYMBOL1829;
    pANTLR3_COMMON_TOKEN    IO_SYMBOL1830;
    pANTLR3_COMMON_TOKEN    CONTEXT_SYMBOL1831;
    pANTLR3_COMMON_TOKEN    SWITCHES_SYMBOL1832;
    pANTLR3_COMMON_TOKEN    CPU_SYMBOL1833;
    pANTLR3_COMMON_TOKEN    IPC_SYMBOL1834;
    pANTLR3_COMMON_TOKEN    MEMORY_SYMBOL1835;
    pANTLR3_COMMON_TOKEN    PAGE_SYMBOL1836;
    pANTLR3_COMMON_TOKEN    FAULTS_SYMBOL1837;
    pANTLR3_COMMON_TOKEN    SOURCE_SYMBOL1838;
    pANTLR3_COMMON_TOKEN    SWAPS_SYMBOL1839;

    pANTLR3_BASE_TREE ALL_SYMBOL1828_tree;
    pANTLR3_BASE_TREE BLOCK_SYMBOL1829_tree;
    pANTLR3_BASE_TREE IO_SYMBOL1830_tree;
    pANTLR3_BASE_TREE CONTEXT_SYMBOL1831_tree;
    pANTLR3_BASE_TREE SWITCHES_SYMBOL1832_tree;
    pANTLR3_BASE_TREE CPU_SYMBOL1833_tree;
    pANTLR3_BASE_TREE IPC_SYMBOL1834_tree;
    pANTLR3_BASE_TREE MEMORY_SYMBOL1835_tree;
    pANTLR3_BASE_TREE PAGE_SYMBOL1836_tree;
    pANTLR3_BASE_TREE FAULTS_SYMBOL1837_tree;
    pANTLR3_BASE_TREE SOURCE_SYMBOL1838_tree;
    pANTLR3_BASE_TREE SWAPS_SYMBOL1839_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL1828       = NULL;
    BLOCK_SYMBOL1829       = NULL;
    IO_SYMBOL1830       = NULL;
    CONTEXT_SYMBOL1831       = NULL;
    SWITCHES_SYMBOL1832       = NULL;
    CPU_SYMBOL1833       = NULL;
    IPC_SYMBOL1834       = NULL;
    MEMORY_SYMBOL1835       = NULL;
    PAGE_SYMBOL1836       = NULL;
    FAULTS_SYMBOL1837       = NULL;
    SOURCE_SYMBOL1838       = NULL;
    SWAPS_SYMBOL1839       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL1828_tree   = NULL;
    BLOCK_SYMBOL1829_tree   = NULL;
    IO_SYMBOL1830_tree   = NULL;
    CONTEXT_SYMBOL1831_tree   = NULL;
    SWITCHES_SYMBOL1832_tree   = NULL;
    CPU_SYMBOL1833_tree   = NULL;
    IPC_SYMBOL1834_tree   = NULL;
    MEMORY_SYMBOL1835_tree   = NULL;
    PAGE_SYMBOL1836_tree   = NULL;
    FAULTS_SYMBOL1837_tree   = NULL;
    SOURCE_SYMBOL1838_tree   = NULL;
    SWAPS_SYMBOL1839_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1770:13: ( ALL_SYMBOL | BLOCK_SYMBOL IO_SYMBOL | CONTEXT_SYMBOL SWITCHES_SYMBOL | CPU_SYMBOL | IPC_SYMBOL | MEMORY_SYMBOL | PAGE_SYMBOL FAULTS_SYMBOL | SOURCE_SYMBOL | SWAPS_SYMBOL )

            ANTLR3_UINT32 alt570;

            alt570=9;

            switch ( LA(1) )
            {
            case ALL_SYMBOL:
            	{
            		alt570=1;
            	}
                break;
            case BLOCK_SYMBOL:
            	{
            		alt570=2;
            	}
                break;
            case CONTEXT_SYMBOL:
            	{
            		alt570=3;
            	}
                break;
            case CPU_SYMBOL:
            	{
            		alt570=4;
            	}
                break;
            case IPC_SYMBOL:
            	{
            		alt570=5;
            	}
                break;
            case MEMORY_SYMBOL:
            	{
            		alt570=6;
            	}
                break;
            case PAGE_SYMBOL:
            	{
            		alt570=7;
            	}
                break;
            case SOURCE_SYMBOL:
            	{
            		alt570=8;
            	}
                break;
            case SWAPS_SYMBOL:
            	{
            		alt570=9;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 570;
                EXCEPTION->state        = 0;


                goto ruleprofile_typeEx;

            }

            switch (alt570)
            {
        	case 1:
        	    // MySQL.g:1771:2: ALL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL1828 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_profile_type9593);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL1828_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1828));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1828_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1772:4: BLOCK_SYMBOL IO_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BLOCK_SYMBOL1829 = (pANTLR3_COMMON_TOKEN) MATCHT(BLOCK_SYMBOL, &FOLLOW_BLOCK_SYMBOL_in_profile_type9598);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BLOCK_SYMBOL1829_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BLOCK_SYMBOL1829));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BLOCK_SYMBOL1829_tree);
        	        }

        	        IO_SYMBOL1830 = (pANTLR3_COMMON_TOKEN) MATCHT(IO_SYMBOL, &FOLLOW_IO_SYMBOL_in_profile_type9600);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IO_SYMBOL1830_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IO_SYMBOL1830));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IO_SYMBOL1830_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1773:4: CONTEXT_SYMBOL SWITCHES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONTEXT_SYMBOL1831 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTEXT_SYMBOL, &FOLLOW_CONTEXT_SYMBOL_in_profile_type9605);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONTEXT_SYMBOL1831_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTEXT_SYMBOL1831));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONTEXT_SYMBOL1831_tree);
        	        }

        	        SWITCHES_SYMBOL1832 = (pANTLR3_COMMON_TOKEN) MATCHT(SWITCHES_SYMBOL, &FOLLOW_SWITCHES_SYMBOL_in_profile_type9607);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SWITCHES_SYMBOL1832_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SWITCHES_SYMBOL1832));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SWITCHES_SYMBOL1832_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1774:4: CPU_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CPU_SYMBOL1833 = (pANTLR3_COMMON_TOKEN) MATCHT(CPU_SYMBOL, &FOLLOW_CPU_SYMBOL_in_profile_type9612);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CPU_SYMBOL1833_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CPU_SYMBOL1833));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CPU_SYMBOL1833_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1775:4: IPC_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IPC_SYMBOL1834 = (pANTLR3_COMMON_TOKEN) MATCHT(IPC_SYMBOL, &FOLLOW_IPC_SYMBOL_in_profile_type9617);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IPC_SYMBOL1834_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IPC_SYMBOL1834));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IPC_SYMBOL1834_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1776:4: MEMORY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEMORY_SYMBOL1835 = (pANTLR3_COMMON_TOKEN) MATCHT(MEMORY_SYMBOL, &FOLLOW_MEMORY_SYMBOL_in_profile_type9622);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEMORY_SYMBOL1835_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEMORY_SYMBOL1835));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEMORY_SYMBOL1835_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1777:4: PAGE_SYMBOL FAULTS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PAGE_SYMBOL1836 = (pANTLR3_COMMON_TOKEN) MATCHT(PAGE_SYMBOL, &FOLLOW_PAGE_SYMBOL_in_profile_type9627);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PAGE_SYMBOL1836_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PAGE_SYMBOL1836));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PAGE_SYMBOL1836_tree);
        	        }

        	        FAULTS_SYMBOL1837 = (pANTLR3_COMMON_TOKEN) MATCHT(FAULTS_SYMBOL, &FOLLOW_FAULTS_SYMBOL_in_profile_type9629);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FAULTS_SYMBOL1837_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FAULTS_SYMBOL1837));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FAULTS_SYMBOL1837_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1778:4: SOURCE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SOURCE_SYMBOL1838 = (pANTLR3_COMMON_TOKEN) MATCHT(SOURCE_SYMBOL, &FOLLOW_SOURCE_SYMBOL_in_profile_type9634);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SOURCE_SYMBOL1838_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SOURCE_SYMBOL1838));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SOURCE_SYMBOL1838_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1779:4: SWAPS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SWAPS_SYMBOL1839 = (pANTLR3_COMMON_TOKEN) MATCHT(SWAPS_SYMBOL, &FOLLOW_SWAPS_SYMBOL_in_profile_type9639);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SWAPS_SYMBOL1839_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SWAPS_SYMBOL1839));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SWAPS_SYMBOL1839_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleprofile_typeEx; /* Prevent compiler warnings */
    ruleprofile_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end profile_type */

/**
 * $ANTLR start miscellaneous_statement
 * MySQL.g:1784:1: miscellaneous_statement : ( BINLOG_SYMBOL ^ string_literal | CACHE_SYMBOL ^ INDEX_SYMBOL key_cache_list_or_parts IN_SYMBOL ( identifier | DEFAULT_SYMBOL ) | FLUSH_SYMBOL ^ ( no_write_to_bin_log )? flush_option ( COMMA_SYMBOL flush_option )* | KILL_SYMBOL ^ ( CONNECTION_SYMBOL | QUERY_SYMBOL )? INTEGER | LOAD_SYMBOL ^ INDEX_SYMBOL INTO_SYMBOL CACHE_SYMBOL load_table_index_list | RESET_SYMBOL ^ reset_option ( COMMA_SYMBOL reset_option )* );
 */
static MySQLParser_miscellaneous_statement_return
miscellaneous_statement(pMySQLParser ctx)
{
    MySQLParser_miscellaneous_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BINLOG_SYMBOL1840;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1842;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1843;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1845;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL1847;
    pANTLR3_COMMON_TOKEN    FLUSH_SYMBOL1848;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1851;
    pANTLR3_COMMON_TOKEN    KILL_SYMBOL1853;
    pANTLR3_COMMON_TOKEN    set1854;
    pANTLR3_COMMON_TOKEN    INTEGER1855;
    pANTLR3_COMMON_TOKEN    LOAD_SYMBOL1856;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1857;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL1858;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1859;
    pANTLR3_COMMON_TOKEN    RESET_SYMBOL1861;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1863;
    MySQLParser_string_literal_return string_literal1841;
    #undef	RETURN_TYPE_string_literal1841
    #define	RETURN_TYPE_string_literal1841 MySQLParser_string_literal_return

    MySQLParser_key_cache_list_or_parts_return key_cache_list_or_parts1844;
    #undef	RETURN_TYPE_key_cache_list_or_parts1844
    #define	RETURN_TYPE_key_cache_list_or_parts1844 MySQLParser_key_cache_list_or_parts_return

    MySQLParser_identifier_return identifier1846;
    #undef	RETURN_TYPE_identifier1846
    #define	RETURN_TYPE_identifier1846 MySQLParser_identifier_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1849;
    #undef	RETURN_TYPE_no_write_to_bin_log1849
    #define	RETURN_TYPE_no_write_to_bin_log1849 MySQLParser_no_write_to_bin_log_return

    MySQLParser_flush_option_return flush_option1850;
    #undef	RETURN_TYPE_flush_option1850
    #define	RETURN_TYPE_flush_option1850 MySQLParser_flush_option_return

    MySQLParser_flush_option_return flush_option1852;
    #undef	RETURN_TYPE_flush_option1852
    #define	RETURN_TYPE_flush_option1852 MySQLParser_flush_option_return

    MySQLParser_load_table_index_list_return load_table_index_list1860;
    #undef	RETURN_TYPE_load_table_index_list1860
    #define	RETURN_TYPE_load_table_index_list1860 MySQLParser_load_table_index_list_return

    MySQLParser_reset_option_return reset_option1862;
    #undef	RETURN_TYPE_reset_option1862
    #define	RETURN_TYPE_reset_option1862 MySQLParser_reset_option_return

    MySQLParser_reset_option_return reset_option1864;
    #undef	RETURN_TYPE_reset_option1864
    #define	RETURN_TYPE_reset_option1864 MySQLParser_reset_option_return

    pANTLR3_BASE_TREE BINLOG_SYMBOL1840_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1842_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1843_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1845_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL1847_tree;
    pANTLR3_BASE_TREE FLUSH_SYMBOL1848_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1851_tree;
    pANTLR3_BASE_TREE KILL_SYMBOL1853_tree;
    pANTLR3_BASE_TREE set1854_tree;
    pANTLR3_BASE_TREE INTEGER1855_tree;
    pANTLR3_BASE_TREE LOAD_SYMBOL1856_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1857_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL1858_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1859_tree;
    pANTLR3_BASE_TREE RESET_SYMBOL1861_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1863_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINLOG_SYMBOL1840       = NULL;
    CACHE_SYMBOL1842       = NULL;
    INDEX_SYMBOL1843       = NULL;
    IN_SYMBOL1845       = NULL;
    DEFAULT_SYMBOL1847       = NULL;
    FLUSH_SYMBOL1848       = NULL;
    COMMA_SYMBOL1851       = NULL;
    KILL_SYMBOL1853       = NULL;
    set1854       = NULL;
    INTEGER1855       = NULL;
    LOAD_SYMBOL1856       = NULL;
    INDEX_SYMBOL1857       = NULL;
    INTO_SYMBOL1858       = NULL;
    CACHE_SYMBOL1859       = NULL;
    RESET_SYMBOL1861       = NULL;
    COMMA_SYMBOL1863       = NULL;
    string_literal1841.tree = NULL;

    key_cache_list_or_parts1844.tree = NULL;

    identifier1846.tree = NULL;

    no_write_to_bin_log1849.tree = NULL;

    flush_option1850.tree = NULL;

    flush_option1852.tree = NULL;

    load_table_index_list1860.tree = NULL;

    reset_option1862.tree = NULL;

    reset_option1864.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINLOG_SYMBOL1840_tree   = NULL;
    CACHE_SYMBOL1842_tree   = NULL;
    INDEX_SYMBOL1843_tree   = NULL;
    IN_SYMBOL1845_tree   = NULL;
    DEFAULT_SYMBOL1847_tree   = NULL;
    FLUSH_SYMBOL1848_tree   = NULL;
    COMMA_SYMBOL1851_tree   = NULL;
    KILL_SYMBOL1853_tree   = NULL;
    set1854_tree   = NULL;
    INTEGER1855_tree   = NULL;
    LOAD_SYMBOL1856_tree   = NULL;
    INDEX_SYMBOL1857_tree   = NULL;
    INTO_SYMBOL1858_tree   = NULL;
    CACHE_SYMBOL1859_tree   = NULL;
    RESET_SYMBOL1861_tree   = NULL;
    COMMA_SYMBOL1863_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1784:24: ( BINLOG_SYMBOL ^ string_literal | CACHE_SYMBOL ^ INDEX_SYMBOL key_cache_list_or_parts IN_SYMBOL ( identifier | DEFAULT_SYMBOL ) | FLUSH_SYMBOL ^ ( no_write_to_bin_log )? flush_option ( COMMA_SYMBOL flush_option )* | KILL_SYMBOL ^ ( CONNECTION_SYMBOL | QUERY_SYMBOL )? INTEGER | LOAD_SYMBOL ^ INDEX_SYMBOL INTO_SYMBOL CACHE_SYMBOL load_table_index_list | RESET_SYMBOL ^ reset_option ( COMMA_SYMBOL reset_option )* )

            ANTLR3_UINT32 alt576;

            alt576=6;

            switch ( LA(1) )
            {
            case BINLOG_SYMBOL:
            	{
            		alt576=1;
            	}
                break;
            case CACHE_SYMBOL:
            	{
            		alt576=2;
            	}
                break;
            case FLUSH_SYMBOL:
            	{
            		alt576=3;
            	}
                break;
            case KILL_SYMBOL:
            	{
            		alt576=4;
            	}
                break;
            case LOAD_SYMBOL:
            	{
            		alt576=5;
            	}
                break;
            case RESET_SYMBOL:
            	{
            		alt576=6;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 576;
                EXCEPTION->state        = 0;


                goto rulemiscellaneous_statementEx;

            }

            switch (alt576)
            {
        	case 1:
        	    // MySQL.g:1785:2: BINLOG_SYMBOL ^ string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINLOG_SYMBOL1840 = (pANTLR3_COMMON_TOKEN) MATCHT(BINLOG_SYMBOL, &FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement9650);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINLOG_SYMBOL1840_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINLOG_SYMBOL1840))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BINLOG_SYMBOL1840_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_miscellaneous_statement9653);
        	        string_literal1841=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1841.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1786:4: CACHE_SYMBOL ^ INDEX_SYMBOL key_cache_list_or_parts IN_SYMBOL ( identifier | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CACHE_SYMBOL1842 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9658);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1842_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1842))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CACHE_SYMBOL1842_tree, root_0));
        	        }

        	        INDEX_SYMBOL1843 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9661);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL1843_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL1843));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL1843_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement9663);
        	        key_cache_list_or_parts1844=key_cache_list_or_parts(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_cache_list_or_parts1844.tree);

        	        IN_SYMBOL1845 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_miscellaneous_statement9665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL1845_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1845));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1845_tree);
        	        }

        	        // MySQL.g:1786:65: ( identifier | DEFAULT_SYMBOL )
        	        {
        	            int alt571=2;
        	            {
        	                int LA571_0 = LA(1);
        	                if ( (LA571_0 == BACK_TICK_QUOTED_ID || LA571_0 == IDENTIFIER))
        	                {
        	                    alt571=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA571_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt571=1;
        	                }
        	                else if ( (((LA571_0 >= ASCII_SYMBOL) && (LA571_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt571=1;
        	                }
        	                else if ( (LA571_0 == DEFAULT_SYMBOL))
        	                {
        	                    alt571=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 571;
        	                    EXCEPTION->state        = 0;


        	                    goto rulemiscellaneous_statementEx;

        	                }
        	            }
        	            switch (alt571)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1786:66: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_miscellaneous_statement9668);
        	        	        identifier1846=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1846.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1786:79: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL1847 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement9672);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL1847_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL1847));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL1847_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1787:4: FLUSH_SYMBOL ^ ( no_write_to_bin_log )? flush_option ( COMMA_SYMBOL flush_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FLUSH_SYMBOL1848 = (pANTLR3_COMMON_TOKEN) MATCHT(FLUSH_SYMBOL, &FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement9678);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FLUSH_SYMBOL1848_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FLUSH_SYMBOL1848))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, FLUSH_SYMBOL1848_tree, root_0));
        	        }

        	        // MySQL.g:1787:18: ( no_write_to_bin_log )?
        	        {
        	            int alt572=2;
        	            {
        	                int LA572_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA572_0 == LOCAL_SYMBOL))
        	                {
        	                    alt572=1;
        	                }
        	                else if ( (LA572_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt572=1;
        	                }
        	            }
        	            switch (alt572)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1787:18: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_miscellaneous_statement9681);
        	        	        no_write_to_bin_log1849=no_write_to_bin_log(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, no_write_to_bin_log1849.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_flush_option_in_miscellaneous_statement9684);
        	        flush_option1850=flush_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_option1850.tree);

        	        // MySQL.g:1787:52: ( COMMA_SYMBOL flush_option )*

        	        for (;;)
        	        {
        	            int alt573=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt573=1;
        	            	}
        	                break;

        	            }

        	            switch (alt573)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1787:53: COMMA_SYMBOL flush_option
        	        	    {
        	        	        COMMA_SYMBOL1851 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9687);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1851_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1851));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1851_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_flush_option_in_miscellaneous_statement9689);
        	        	        flush_option1852=flush_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_option1852.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop573;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop573: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1788:4: KILL_SYMBOL ^ ( CONNECTION_SYMBOL | QUERY_SYMBOL )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KILL_SYMBOL1853 = (pANTLR3_COMMON_TOKEN) MATCHT(KILL_SYMBOL, &FOLLOW_KILL_SYMBOL_in_miscellaneous_statement9696);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KILL_SYMBOL1853_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KILL_SYMBOL1853))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, KILL_SYMBOL1853_tree, root_0));
        	        }

        	        // MySQL.g:1788:17: ( CONNECTION_SYMBOL | QUERY_SYMBOL )?
        	        {
        	            int alt574=2;
        	            switch ( LA(1) )
        	            {
        	                case CONNECTION_SYMBOL:
        	                case QUERY_SYMBOL:
        	                	{
        	                		alt574=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt574)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1854=(pANTLR3_COMMON_TOKEN)LT(1);

        	        	        if ( LA(1) == CONNECTION_SYMBOL || LA(1) == QUERY_SYMBOL )
        	        	        {
        	        	            CONSUME();
        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1854))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	            CONSTRUCTEX();
        	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	        	            EXCEPTION->expectingSet = NULL;

        	        	            goto rulemiscellaneous_statementEx;
        	        	        }


        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER1855 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_miscellaneous_statement9708);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1855_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1855));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1855_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1789:4: LOAD_SYMBOL ^ INDEX_SYMBOL INTO_SYMBOL CACHE_SYMBOL load_table_index_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOAD_SYMBOL1856 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement9713);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOAD_SYMBOL1856_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOAD_SYMBOL1856))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOAD_SYMBOL1856_tree, root_0));
        	        }

        	        INDEX_SYMBOL1857 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement9716);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL1857_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL1857));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL1857_tree);
        	        }

        	        INTO_SYMBOL1858 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_miscellaneous_statement9718);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTO_SYMBOL1858_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL1858));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL1858_tree);
        	        }

        	        CACHE_SYMBOL1859 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement9720);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1859_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1859));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CACHE_SYMBOL1859_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_load_table_index_list_in_miscellaneous_statement9722);
        	        load_table_index_list1860=load_table_index_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, load_table_index_list1860.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1790:4: RESET_SYMBOL ^ reset_option ( COMMA_SYMBOL reset_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RESET_SYMBOL1861 = (pANTLR3_COMMON_TOKEN) MATCHT(RESET_SYMBOL, &FOLLOW_RESET_SYMBOL_in_miscellaneous_statement9727);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESET_SYMBOL1861_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESET_SYMBOL1861))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RESET_SYMBOL1861_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_reset_option_in_miscellaneous_statement9730);
        	        reset_option1862=reset_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reset_option1862.tree);

        	        // MySQL.g:1790:31: ( COMMA_SYMBOL reset_option )*

        	        for (;;)
        	        {
        	            int alt575=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt575=1;
        	            	}
        	                break;

        	            }

        	            switch (alt575)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1790:32: COMMA_SYMBOL reset_option
        	        	    {
        	        	        COMMA_SYMBOL1863 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement9733);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1863_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1863));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1863_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_reset_option_in_miscellaneous_statement9735);
        	        	        reset_option1864=reset_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reset_option1864.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop575;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop575: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulemiscellaneous_statementEx; /* Prevent compiler warnings */
    rulemiscellaneous_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end miscellaneous_statement */

/**
 * $ANTLR start key_cache_list_or_parts
 * MySQL.g:1793:1: key_cache_list_or_parts options {k=4; } : ( key_cache_list -> ^( KEY_CACHE_LIST_TOKEN key_cache_list ) | assign_to_keycache_partition -> ^( KEY_CACHE_PARTITION_TOKEN assign_to_keycache_partition ) );
 */
static MySQLParser_key_cache_list_or_parts_return
key_cache_list_or_parts(pMySQLParser ctx)
{
    MySQLParser_key_cache_list_or_parts_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_key_cache_list_return key_cache_list1865;
    #undef	RETURN_TYPE_key_cache_list1865
    #define	RETURN_TYPE_key_cache_list1865 MySQLParser_key_cache_list_return

    MySQLParser_assign_to_keycache_partition_return assign_to_keycache_partition1866;
    #undef	RETURN_TYPE_assign_to_keycache_partition1866
    #define	RETURN_TYPE_assign_to_keycache_partition1866 MySQLParser_assign_to_keycache_partition_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_assign_to_keycache_partition;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_key_cache_list;
    /* Initialize rule variables
     */

    root_0 = NULL;

    key_cache_list1865.tree = NULL;

    assign_to_keycache_partition1866.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_assign_to_keycache_partition   = NULL;
    #define CREATE_stream_assign_to_keycache_partition  if (stream_assign_to_keycache_partition == NULL) {stream_assign_to_keycache_partition = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule assign_to_keycache_partition"); }
    stream_key_cache_list   = NULL;
    #define CREATE_stream_key_cache_list  if (stream_key_cache_list == NULL) {stream_key_cache_list = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule key_cache_list"); }

    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1793:43: ( key_cache_list -> ^( KEY_CACHE_LIST_TOKEN key_cache_list ) | assign_to_keycache_partition -> ^( KEY_CACHE_PARTITION_TOKEN assign_to_keycache_partition ) )

            ANTLR3_UINT32 alt577;

            alt577=2;

            {
                int LA577_0 = LA(1);
                if ( (LA577_0 == IDENTIFIER))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA577_7 = LA(3);
                    		    if ( (LA577_7 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 37;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_7 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 38;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_7 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 39;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_7 >= ACTION_SYMBOL) && (LA577_7 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 40;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_7 >= ASCII_SYMBOL) && (LA577_7 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 41;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 577;
                    		        EXCEPTION->state        = 7;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt577=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt577=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 577;
                        EXCEPTION->state        = 1;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA577_0 == BACK_TICK_QUOTED_ID))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA577_12 = LA(3);
                    		    if ( (LA577_12 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 42;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_12 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 43;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_12 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 44;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_12 >= ACTION_SYMBOL) && (LA577_12 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 45;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_12 >= ASCII_SYMBOL) && (LA577_12 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 46;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 577;
                    		        EXCEPTION->state        = 12;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt577=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt577=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 577;
                        EXCEPTION->state        = 2;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA577_3 = LA(2);
                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_3 == DOT_SYMBOL))
                        {
                            {
                                int LA577_17 = LA(3);
                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_17 == IDENTIFIER))
                                {
                                    {
                                        int LA577_47 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_47 == COMMA_SYMBOL || LA577_47 == INDEX_SYMBOL || LA577_47 == IN_SYMBOL || LA577_47 == KEY_SYMBOL))
                                        {
                                            alt577=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_47 == PARTITION_SYMBOL))
                                        {
                                            alt577=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 577;
                                            EXCEPTION->state        = 47;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_17 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA577_48 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_48 == COMMA_SYMBOL || LA577_48 == INDEX_SYMBOL || LA577_48 == IN_SYMBOL || LA577_48 == KEY_SYMBOL))
                                        {
                                            alt577=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_48 == PARTITION_SYMBOL))
                                        {
                                            alt577=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 577;
                                            EXCEPTION->state        = 48;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_17 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA577_49 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_49 == COMMA_SYMBOL || LA577_49 == INDEX_SYMBOL || LA577_49 == IN_SYMBOL || LA577_49 == KEY_SYMBOL))
                                        {
                                            alt577=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_49 == PARTITION_SYMBOL))
                                        {
                                            alt577=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 577;
                                            EXCEPTION->state        = 49;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA577_17 >= ACTION_SYMBOL) && (LA577_17 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA577_50 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_50 == COMMA_SYMBOL || LA577_50 == INDEX_SYMBOL || LA577_50 == IN_SYMBOL || LA577_50 == KEY_SYMBOL))
                                        {
                                            alt577=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_50 == PARTITION_SYMBOL))
                                        {
                                            alt577=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 577;
                                            EXCEPTION->state        = 50;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA577_17 >= ASCII_SYMBOL) && (LA577_17 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA577_51 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_51 == COMMA_SYMBOL || LA577_51 == INDEX_SYMBOL || LA577_51 == IN_SYMBOL || LA577_51 == KEY_SYMBOL))
                                        {
                                            alt577=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_51 == PARTITION_SYMBOL))
                                        {
                                            alt577=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


                                            CONSTRUCTEX();
                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                            EXCEPTION->message      = (void *)"";
                                            EXCEPTION->decisionNum  = 577;
                                            EXCEPTION->state        = 51;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 577;
                                    EXCEPTION->state        = 17;


                                    goto rulekey_cache_list_or_partsEx;

                                }
                            }
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_3 == COMMA_SYMBOL || LA577_3 == INDEX_SYMBOL || LA577_3 == IN_SYMBOL || LA577_3 == KEY_SYMBOL))
                        {
                            alt577=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA577_3 == PARTITION_SYMBOL))
                        {
                            alt577=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 577;
                            EXCEPTION->state        = 3;


                            goto rulekey_cache_list_or_partsEx;

                        }
                    }
                }
                else if ( (((LA577_0 >= ACTION_SYMBOL) && (LA577_0 <= YEAR_SYMBOL))))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA577_22 = LA(3);
                    		    if ( (LA577_22 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 52;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_22 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 53;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_22 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 54;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_22 >= ACTION_SYMBOL) && (LA577_22 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 55;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_22 >= ASCII_SYMBOL) && (LA577_22 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 56;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 577;
                    		        EXCEPTION->state        = 22;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt577=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt577=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 577;
                        EXCEPTION->state        = 4;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (((LA577_0 >= ASCII_SYMBOL) && (LA577_0 <= XA_SYMBOL))))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA577_27 = LA(3);
                    		    if ( (LA577_27 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 57;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_27 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 58;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA577_27 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 59;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_27 >= ACTION_SYMBOL) && (LA577_27 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 60;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA577_27 >= ASCII_SYMBOL) && (LA577_27 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt577=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt577=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 577;
                    		            EXCEPTION->state        = 61;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 577;
                    		        EXCEPTION->state        = 27;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt577=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt577=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 577;
                        EXCEPTION->state        = 5;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA577_0 == DOT_SYMBOL))
                {
                    {
                        int LA577_6 = LA(2);
                        if ( (LA577_6 == IDENTIFIER))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt577=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt577=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 577;
                                EXCEPTION->state        = 32;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA577_6 == BACK_TICK_QUOTED_ID))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt577=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt577=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 577;
                                EXCEPTION->state        = 33;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA577_6 == DOUBLE_QUOTED_TEXT))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt577=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt577=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 577;
                                EXCEPTION->state        = 34;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (((LA577_6 >= ACTION_SYMBOL) && (LA577_6 <= YEAR_SYMBOL))))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt577=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt577=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 577;
                                EXCEPTION->state        = 35;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (((LA577_6 >= ASCII_SYMBOL) && (LA577_6 <= XA_SYMBOL))))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt577=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt577=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 577;
                                EXCEPTION->state        = 36;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 577;
                            EXCEPTION->state        = 6;


                            goto rulekey_cache_list_or_partsEx;

                        }
                    }
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 577;
                    EXCEPTION->state        = 0;


                    goto rulekey_cache_list_or_partsEx;

                }
            }
            switch (alt577)
            {
        	case 1:
        	    // MySQL.g:1794:2: key_cache_list
        	    {
        	        FOLLOWPUSH(FOLLOW_key_cache_list_in_key_cache_list_or_parts9757);
        	        key_cache_list1865=key_cache_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_cache_list_or_partsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) { CREATE_stream_key_cache_list; stream_key_cache_list->add(stream_key_cache_list, key_cache_list1865.tree, NULL); }

        	        /* AST REWRITE
        	         * elements          : key_cache_list
        	         * token labels      : 
        	         * rule labels       : retval
        	         * token list labels : 
        	         * rule list labels  : 
        	         */
        	        if ( BACKTRACKING==0 ) 

        	        {
        	        	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

        	        	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

        	        	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	retval.tree    = root_0;
        	        	// 1794:17: -> ^( KEY_CACHE_LIST_TOKEN key_cache_list )
        	        	{
        	        	    // MySQL.g:1794:20: ^( KEY_CACHE_LIST_TOKEN key_cache_list )
        	        	    {
        	        	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
        	        	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, KEY_CACHE_LIST_TOKEN, (pANTLR3_UINT8)"KEY_CACHE_LIST_TOKEN")
        	        	        , root_1));

        	        	        ADAPTOR->addChild(ADAPTOR, root_1, stream_key_cache_list == NULL ? NULL : stream_key_cache_list->nextTree(stream_key_cache_list));

        	        	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
        	        	    }

        	        	}


        	        	retval.tree = root_0; // set result root
        	        	if (stream_retval != NULL) stream_retval->free(stream_retval);


        	        }
        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1795:4: assign_to_keycache_partition
        	    {
        	        FOLLOWPUSH(FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts9770);
        	        assign_to_keycache_partition1866=assign_to_keycache_partition(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_cache_list_or_partsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) { CREATE_stream_assign_to_keycache_partition; stream_assign_to_keycache_partition->add(stream_assign_to_keycache_partition, assign_to_keycache_partition1866.tree, NULL); }

        	        /* AST REWRITE
        	         * elements          : assign_to_keycache_partition
        	         * token labels      : 
        	         * rule labels       : retval
        	         * token list labels : 
        	         * rule list labels  : 
        	         */
        	        if ( BACKTRACKING==0 ) 

        	        {
        	        	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

        	        	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

        	        	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	retval.tree    = root_0;
        	        	// 1795:33: -> ^( KEY_CACHE_PARTITION_TOKEN assign_to_keycache_partition )
        	        	{
        	        	    // MySQL.g:1795:36: ^( KEY_CACHE_PARTITION_TOKEN assign_to_keycache_partition )
        	        	    {
        	        	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
        	        	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, KEY_CACHE_PARTITION_TOKEN, (pANTLR3_UINT8)"KEY_CACHE_PARTITION_TOKEN")
        	        	        , root_1));

        	        	        ADAPTOR->addChild(ADAPTOR, root_1, stream_assign_to_keycache_partition == NULL ? NULL : stream_assign_to_keycache_partition->nextTree(stream_assign_to_keycache_partition));

        	        	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
        	        	    }

        	        	}


        	        	retval.tree = root_0; // set result root
        	        	if (stream_retval != NULL) stream_retval->free(stream_retval);


        	        }
        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulekey_cache_list_or_partsEx; /* Prevent compiler warnings */
    rulekey_cache_list_or_partsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_assign_to_keycache_partition != NULL) stream_assign_to_keycache_partition->free(stream_assign_to_keycache_partition);
        if (stream_key_cache_list != NULL) stream_key_cache_list->free(stream_key_cache_list);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end key_cache_list_or_parts */

/**
 * $ANTLR start key_cache_list
 * MySQL.g:1798:1: key_cache_list : assign_to_keycache ( COMMA_SYMBOL assign_to_keycache )* ;
 */
static MySQLParser_key_cache_list_return
key_cache_list(pMySQLParser ctx)
{
    MySQLParser_key_cache_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1868;
    MySQLParser_assign_to_keycache_return assign_to_keycache1867;
    #undef	RETURN_TYPE_assign_to_keycache1867
    #define	RETURN_TYPE_assign_to_keycache1867 MySQLParser_assign_to_keycache_return

    MySQLParser_assign_to_keycache_return assign_to_keycache1869;
    #undef	RETURN_TYPE_assign_to_keycache1869
    #define	RETURN_TYPE_assign_to_keycache1869 MySQLParser_assign_to_keycache_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1868_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1868       = NULL;
    assign_to_keycache1867.tree = NULL;

    assign_to_keycache1869.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1868_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1798:15: ( assign_to_keycache ( COMMA_SYMBOL assign_to_keycache )* )
        // MySQL.g:1799:2: assign_to_keycache ( COMMA_SYMBOL assign_to_keycache )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_assign_to_keycache_in_key_cache_list9787);
            assign_to_keycache1867=assign_to_keycache(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulekey_cache_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, assign_to_keycache1867.tree);

            // MySQL.g:1799:21: ( COMMA_SYMBOL assign_to_keycache )*

            for (;;)
            {
                int alt578=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt578=1;
                	}
                    break;

                }

                switch (alt578)
                {
            	case 1:
            	    // MySQL.g:1799:22: COMMA_SYMBOL assign_to_keycache
            	    {
            	        COMMA_SYMBOL1868 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_key_cache_list9790);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulekey_cache_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1868_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1868));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1868_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_assign_to_keycache_in_key_cache_list9792);
            	        assign_to_keycache1869=assign_to_keycache(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulekey_cache_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, assign_to_keycache1869.tree);

            	    }
            	    break;

            	default:
            	    goto loop578;	/* break out of the loop */
            	    break;
                }
            }
            loop578: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulekey_cache_listEx; /* Prevent compiler warnings */
    rulekey_cache_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end key_cache_list */

/**
 * $ANTLR start assign_to_keycache
 * MySQL.g:1802:1: assign_to_keycache : table_ref ( cache_keys_spec )? ;
 */
static MySQLParser_assign_to_keycache_return
assign_to_keycache(pMySQLParser ctx)
{
    MySQLParser_assign_to_keycache_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_ref_return table_ref1870;
    #undef	RETURN_TYPE_table_ref1870
    #define	RETURN_TYPE_table_ref1870 MySQLParser_table_ref_return

    MySQLParser_cache_keys_spec_return cache_keys_spec1871;
    #undef	RETURN_TYPE_cache_keys_spec1871
    #define	RETURN_TYPE_cache_keys_spec1871 MySQLParser_cache_keys_spec_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_ref1870.tree = NULL;

    cache_keys_spec1871.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1802:19: ( table_ref ( cache_keys_spec )? )
        // MySQL.g:1803:2: table_ref ( cache_keys_spec )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_ref_in_assign_to_keycache9803);
            table_ref1870=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycacheEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1870.tree);

            // MySQL.g:1803:12: ( cache_keys_spec )?
            {
                int alt579=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt579=1;
                    	}
                        break;
                }

                switch (alt579)
                {
            	case 1:
            	    // MySQL.g:1803:12: cache_keys_spec
            	    {
            	        FOLLOWPUSH(FOLLOW_cache_keys_spec_in_assign_to_keycache9805);
            	        cache_keys_spec1871=cache_keys_spec(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycacheEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cache_keys_spec1871.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleassign_to_keycacheEx; /* Prevent compiler warnings */
    ruleassign_to_keycacheEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end assign_to_keycache */

/**
 * $ANTLR start assign_to_keycache_partition
 * MySQL.g:1806:1: assign_to_keycache_partition : table_ref PARTITION_SYMBOL OPEN_PAR_SYMBOL ( ALL_SYMBOL | identifier_list ) CLOSE_PAR_SYMBOL ( cache_keys_spec )? ;
 */
static MySQLParser_assign_to_keycache_partition_return
assign_to_keycache_partition(pMySQLParser ctx)
{
    MySQLParser_assign_to_keycache_partition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL1873;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1874;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1875;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1877;
    MySQLParser_table_ref_return table_ref1872;
    #undef	RETURN_TYPE_table_ref1872
    #define	RETURN_TYPE_table_ref1872 MySQLParser_table_ref_return

    MySQLParser_identifier_list_return identifier_list1876;
    #undef	RETURN_TYPE_identifier_list1876
    #define	RETURN_TYPE_identifier_list1876 MySQLParser_identifier_list_return

    MySQLParser_cache_keys_spec_return cache_keys_spec1878;
    #undef	RETURN_TYPE_cache_keys_spec1878
    #define	RETURN_TYPE_cache_keys_spec1878 MySQLParser_cache_keys_spec_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL1873_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1874_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1875_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1877_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL1873       = NULL;
    OPEN_PAR_SYMBOL1874       = NULL;
    ALL_SYMBOL1875       = NULL;
    CLOSE_PAR_SYMBOL1877       = NULL;
    table_ref1872.tree = NULL;

    identifier_list1876.tree = NULL;

    cache_keys_spec1878.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL1873_tree   = NULL;
    OPEN_PAR_SYMBOL1874_tree   = NULL;
    ALL_SYMBOL1875_tree   = NULL;
    CLOSE_PAR_SYMBOL1877_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1806:29: ( table_ref PARTITION_SYMBOL OPEN_PAR_SYMBOL ( ALL_SYMBOL | identifier_list ) CLOSE_PAR_SYMBOL ( cache_keys_spec )? )
        // MySQL.g:1807:2: table_ref PARTITION_SYMBOL OPEN_PAR_SYMBOL ( ALL_SYMBOL | identifier_list ) CLOSE_PAR_SYMBOL ( cache_keys_spec )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_ref_in_assign_to_keycache_partition9815);
            table_ref1872=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1872.tree);

            PARTITION_SYMBOL1873 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition9817);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL1873_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL1873));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL1873_tree);
            }

            OPEN_PAR_SYMBOL1874 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition9819);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1874_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1874));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1874_tree);
            }

            // MySQL.g:1807:45: ( ALL_SYMBOL | identifier_list )
            {
                int alt580=2;
                {
                    int LA580_0 = LA(1);
                    if ( (LA580_0 == ALL_SYMBOL))
                    {
                        alt580=1;
                    }
                    else if ( (LA580_0 == BACK_TICK_QUOTED_ID || LA580_0 == IDENTIFIER))
                    {
                        alt580=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA580_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt580=2;
                    }
                    else if ( (((LA580_0 >= ASCII_SYMBOL) && (LA580_0 <= YEAR_SYMBOL))))
                    {
                        alt580=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 580;
                        EXCEPTION->state        = 0;


                        goto ruleassign_to_keycache_partitionEx;

                    }
                }
                switch (alt580)
                {
            	case 1:
            	    // MySQL.g:1807:46: ALL_SYMBOL
            	    {
            	        ALL_SYMBOL1875 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition9822);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycache_partitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ALL_SYMBOL1875_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1875));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1875_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1807:59: identifier_list
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_in_assign_to_keycache_partition9826);
            	        identifier_list1876=identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycache_partitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list1876.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1877 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition9829);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1877_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1877));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1877_tree);
            }

            // MySQL.g:1807:93: ( cache_keys_spec )?
            {
                int alt581=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt581=1;
                    	}
                        break;
                }

                switch (alt581)
                {
            	case 1:
            	    // MySQL.g:1807:93: cache_keys_spec
            	    {
            	        FOLLOWPUSH(FOLLOW_cache_keys_spec_in_assign_to_keycache_partition9831);
            	        cache_keys_spec1878=cache_keys_spec(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycache_partitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cache_keys_spec1878.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleassign_to_keycache_partitionEx; /* Prevent compiler warnings */
    ruleassign_to_keycache_partitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end assign_to_keycache_partition */

/**
 * $ANTLR start cache_keys_spec
 * MySQL.g:1810:1: cache_keys_spec : ( KEY_SYMBOL | INDEX_SYMBOL ) OPEN_PAR_SYMBOL ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_cache_keys_spec_return
cache_keys_spec(pMySQLParser ctx)
{
    MySQLParser_cache_keys_spec_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1879;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1880;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1882;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1884;
    MySQLParser_key_usage_element_return key_usage_element1881;
    #undef	RETURN_TYPE_key_usage_element1881
    #define	RETURN_TYPE_key_usage_element1881 MySQLParser_key_usage_element_return

    MySQLParser_key_usage_element_return key_usage_element1883;
    #undef	RETURN_TYPE_key_usage_element1883
    #define	RETURN_TYPE_key_usage_element1883 MySQLParser_key_usage_element_return

    pANTLR3_BASE_TREE set1879_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1880_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1882_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1884_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1879       = NULL;
    OPEN_PAR_SYMBOL1880       = NULL;
    COMMA_SYMBOL1882       = NULL;
    CLOSE_PAR_SYMBOL1884       = NULL;
    key_usage_element1881.tree = NULL;

    key_usage_element1883.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1879_tree   = NULL;
    OPEN_PAR_SYMBOL1880_tree   = NULL;
    COMMA_SYMBOL1882_tree   = NULL;
    CLOSE_PAR_SYMBOL1884_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1810:16: ( ( KEY_SYMBOL | INDEX_SYMBOL ) OPEN_PAR_SYMBOL ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1811:2: ( KEY_SYMBOL | INDEX_SYMBOL ) OPEN_PAR_SYMBOL ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1879=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1879))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulecache_keys_specEx;
            }


            OPEN_PAR_SYMBOL1880 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec9849);
            if  (HASEXCEPTION())
            {
                goto rulecache_keys_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1880_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1880));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1880_tree);
            }

            // MySQL.g:1811:46: ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )?
            {
                int alt583=2;
                {
                    int LA583_0 = LA(1);
                    if ( (LA583_0 == BACK_TICK_QUOTED_ID || LA583_0 == IDENTIFIER))
                    {
                        alt583=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA583_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt583=1;
                    }
                    else if ( (((LA583_0 >= ASCII_SYMBOL) && (LA583_0 <= YEAR_SYMBOL)) || LA583_0 == PRIMARY_SYMBOL))
                    {
                        alt583=1;
                    }
                }
                switch (alt583)
                {
            	case 1:
            	    // MySQL.g:1811:47: key_usage_element ( COMMA_SYMBOL key_usage_element )*
            	    {
            	        FOLLOWPUSH(FOLLOW_key_usage_element_in_cache_keys_spec9852);
            	        key_usage_element1881=key_usage_element(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecache_keys_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_usage_element1881.tree);

            	        // MySQL.g:1811:65: ( COMMA_SYMBOL key_usage_element )*

            	        for (;;)
            	        {
            	            int alt582=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt582=1;
            	            	}
            	                break;

            	            }

            	            switch (alt582)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1811:66: COMMA_SYMBOL key_usage_element
            	        	    {
            	        	        COMMA_SYMBOL1882 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_cache_keys_spec9855);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecache_keys_specEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL1882_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1882));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1882_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_key_usage_element_in_cache_keys_spec9857);
            	        	        key_usage_element1883=key_usage_element(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecache_keys_specEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_usage_element1883.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop582;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop582: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1884 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec9863);
            if  (HASEXCEPTION())
            {
                goto rulecache_keys_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1884));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1884_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecache_keys_specEx; /* Prevent compiler warnings */
    rulecache_keys_specEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cache_keys_spec */

/**
 * $ANTLR start key_usage_element
 * MySQL.g:1814:1: key_usage_element : ( identifier | PRIMARY_SYMBOL );
 */
static MySQLParser_key_usage_element_return
key_usage_element(pMySQLParser ctx)
{
    MySQLParser_key_usage_element_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PRIMARY_SYMBOL1886;
    MySQLParser_identifier_return identifier1885;
    #undef	RETURN_TYPE_identifier1885
    #define	RETURN_TYPE_identifier1885 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PRIMARY_SYMBOL1886_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PRIMARY_SYMBOL1886       = NULL;
    identifier1885.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PRIMARY_SYMBOL1886_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1814:18: ( identifier | PRIMARY_SYMBOL )

            ANTLR3_UINT32 alt584;

            alt584=2;

            {
                int LA584_0 = LA(1);
                if ( (LA584_0 == BACK_TICK_QUOTED_ID || LA584_0 == IDENTIFIER))
                {
                    alt584=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA584_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt584=1;
                }
                else if ( (((LA584_0 >= ASCII_SYMBOL) && (LA584_0 <= YEAR_SYMBOL))))
                {
                    alt584=1;
                }
                else if ( (LA584_0 == PRIMARY_SYMBOL))
                {
                    alt584=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 584;
                    EXCEPTION->state        = 0;


                    goto rulekey_usage_elementEx;

                }
            }
            switch (alt584)
            {
        	case 1:
        	    // MySQL.g:1815:2: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_key_usage_element9872);
        	        identifier1885=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_usage_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1885.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1816:4: PRIMARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PRIMARY_SYMBOL1886 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_key_usage_element9877);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_usage_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIMARY_SYMBOL1886_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL1886));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL1886_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulekey_usage_elementEx; /* Prevent compiler warnings */
    rulekey_usage_elementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end key_usage_element */

/**
 * $ANTLR start flush_option
 * MySQL.g:1819:1: flush_option : ( DES_KEY_FILE_SYMBOL | HOSTS_SYMBOL | ( log_type )? LOGS_SYMBOL | RELAY_SYMBOL LOGS_SYMBOL ( channel )? | PRIVILEGES_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | STATUS_SYMBOL | flush_tables | USER_RESOURCES_SYMBOL |{...}? => OPTIMIZER_COSTS_SYMBOL );
 */
static MySQLParser_flush_option_return
flush_option(pMySQLParser ctx)
{
    MySQLParser_flush_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DES_KEY_FILE_SYMBOL1887;
    pANTLR3_COMMON_TOKEN    HOSTS_SYMBOL1888;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1890;
    pANTLR3_COMMON_TOKEN    RELAY_SYMBOL1891;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1892;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1894;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1895;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1896;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1897;
    pANTLR3_COMMON_TOKEN    USER_RESOURCES_SYMBOL1899;
    pANTLR3_COMMON_TOKEN    OPTIMIZER_COSTS_SYMBOL1900;
    MySQLParser_log_type_return log_type1889;
    #undef	RETURN_TYPE_log_type1889
    #define	RETURN_TYPE_log_type1889 MySQLParser_log_type_return

    MySQLParser_channel_return channel1893;
    #undef	RETURN_TYPE_channel1893
    #define	RETURN_TYPE_channel1893 MySQLParser_channel_return

    MySQLParser_flush_tables_return flush_tables1898;
    #undef	RETURN_TYPE_flush_tables1898
    #define	RETURN_TYPE_flush_tables1898 MySQLParser_flush_tables_return

    pANTLR3_BASE_TREE DES_KEY_FILE_SYMBOL1887_tree;
    pANTLR3_BASE_TREE HOSTS_SYMBOL1888_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1890_tree;
    pANTLR3_BASE_TREE RELAY_SYMBOL1891_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1892_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1894_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1895_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1896_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1897_tree;
    pANTLR3_BASE_TREE USER_RESOURCES_SYMBOL1899_tree;
    pANTLR3_BASE_TREE OPTIMIZER_COSTS_SYMBOL1900_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DES_KEY_FILE_SYMBOL1887       = NULL;
    HOSTS_SYMBOL1888       = NULL;
    LOGS_SYMBOL1890       = NULL;
    RELAY_SYMBOL1891       = NULL;
    LOGS_SYMBOL1892       = NULL;
    PRIVILEGES_SYMBOL1894       = NULL;
    QUERY_SYMBOL1895       = NULL;
    CACHE_SYMBOL1896       = NULL;
    STATUS_SYMBOL1897       = NULL;
    USER_RESOURCES_SYMBOL1899       = NULL;
    OPTIMIZER_COSTS_SYMBOL1900       = NULL;
    log_type1889.tree = NULL;

    channel1893.tree = NULL;

    flush_tables1898.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DES_KEY_FILE_SYMBOL1887_tree   = NULL;
    HOSTS_SYMBOL1888_tree   = NULL;
    LOGS_SYMBOL1890_tree   = NULL;
    RELAY_SYMBOL1891_tree   = NULL;
    LOGS_SYMBOL1892_tree   = NULL;
    PRIVILEGES_SYMBOL1894_tree   = NULL;
    QUERY_SYMBOL1895_tree   = NULL;
    CACHE_SYMBOL1896_tree   = NULL;
    STATUS_SYMBOL1897_tree   = NULL;
    USER_RESOURCES_SYMBOL1899_tree   = NULL;
    OPTIMIZER_COSTS_SYMBOL1900_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1819:13: ( DES_KEY_FILE_SYMBOL | HOSTS_SYMBOL | ( log_type )? LOGS_SYMBOL | RELAY_SYMBOL LOGS_SYMBOL ( channel )? | PRIVILEGES_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | STATUS_SYMBOL | flush_tables | USER_RESOURCES_SYMBOL |{...}? => OPTIMIZER_COSTS_SYMBOL )

            ANTLR3_UINT32 alt587;

            alt587=10;

            {
                int LA587_0 = LA(1);
                if ( (LA587_0 == DES_KEY_FILE_SYMBOL))
                {
                    alt587=1;
                }
                else if ( (LA587_0 == HOSTS_SYMBOL))
                {
                    alt587=2;
                }
                else if ( (LA587_0 == ENGINE_SYMBOL || LA587_0 == ERROR_SYMBOL || LA587_0 == GENERAL_SYMBOL || LA587_0 == LOGS_SYMBOL || LA587_0 == SLOW_SYMBOL || LA587_0 == BINARY_SYMBOL))
                {
                    alt587=3;
                }
                else if ( (LA587_0 == RELAY_SYMBOL))
                {
                    alt587=4;
                }
                else if ( (LA587_0 == PRIVILEGES_SYMBOL))
                {
                    alt587=5;
                }
                else if ( (LA587_0 == QUERY_SYMBOL))
                {
                    alt587=6;
                }
                else if ( (LA587_0 == STATUS_SYMBOL))
                {
                    alt587=7;
                }
                else if ( (LA587_0 == TABLES_SYMBOL || LA587_0 == TABLE_SYMBOL))
                {
                    alt587=8;
                }
                else if ( (LA587_0 == USER_RESOURCES_SYMBOL))
                {
                    alt587=9;
                }
                else if ( ((SERVER_VERSION >= 50706)) && (LA587_0 == OPTIMIZER_COSTS_SYMBOL))
                {
                    alt587=10;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 587;
                    EXCEPTION->state        = 0;


                    goto ruleflush_optionEx;

                }
            }
            switch (alt587)
            {
        	case 1:
        	    // MySQL.g:1820:2: DES_KEY_FILE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DES_KEY_FILE_SYMBOL1887 = (pANTLR3_COMMON_TOKEN) MATCHT(DES_KEY_FILE_SYMBOL, &FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option9886);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DES_KEY_FILE_SYMBOL1887_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DES_KEY_FILE_SYMBOL1887));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DES_KEY_FILE_SYMBOL1887_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1821:4: HOSTS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOSTS_SYMBOL1888 = (pANTLR3_COMMON_TOKEN) MATCHT(HOSTS_SYMBOL, &FOLLOW_HOSTS_SYMBOL_in_flush_option9891);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOSTS_SYMBOL1888_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOSTS_SYMBOL1888));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOSTS_SYMBOL1888_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1822:4: ( log_type )? LOGS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1822:4: ( log_type )?
        	        {
        	            int alt585=2;
        	            switch ( LA(1) )
        	            {
        	                case ENGINE_SYMBOL:
        	                case ERROR_SYMBOL:
        	                case GENERAL_SYMBOL:
        	                case SLOW_SYMBOL:
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt585=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt585)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1822:4: log_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_log_type_in_flush_option9896);
        	        	        log_type1889=log_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleflush_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, log_type1889.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        LOGS_SYMBOL1890 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_flush_option9899);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOGS_SYMBOL1890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1890));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1890_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1823:4: RELAY_SYMBOL LOGS_SYMBOL ( channel )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_SYMBOL1891 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_SYMBOL, &FOLLOW_RELAY_SYMBOL_in_flush_option9904);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_SYMBOL1891_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_SYMBOL1891));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_SYMBOL1891_tree);
        	        }

        	        LOGS_SYMBOL1892 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_flush_option9906);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOGS_SYMBOL1892_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1892));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1892_tree);
        	        }

        	        // MySQL.g:1823:29: ( channel )?
        	        {
        	            int alt586=2;
        	            {
        	                int LA586_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50706)) && (LA586_0 == FROM_SYMBOL))
        	                {
        	                    alt586=1;
        	                }
        	            }
        	            switch (alt586)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1823:29: channel
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_channel_in_flush_option9908);
        	        	        channel1893=channel(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleflush_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1893.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1824:4: PRIVILEGES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PRIVILEGES_SYMBOL1894 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_flush_option9914);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIVILEGES_SYMBOL1894_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1894));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1894_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1825:4: QUERY_SYMBOL CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUERY_SYMBOL1895 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_flush_option9919);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUERY_SYMBOL1895_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL1895));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL1895_tree);
        	        }

        	        CACHE_SYMBOL1896 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_flush_option9921);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1896));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CACHE_SYMBOL1896_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1826:4: STATUS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STATUS_SYMBOL1897 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_flush_option9926);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STATUS_SYMBOL1897_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1897));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1897_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1827:4: flush_tables
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_flush_tables_in_flush_option9931);
        	        flush_tables1898=flush_tables(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_tables1898.tree);

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1828:4: USER_RESOURCES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USER_RESOURCES_SYMBOL1899 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_RESOURCES_SYMBOL, &FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option9936);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_RESOURCES_SYMBOL1899_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_RESOURCES_SYMBOL1899));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_RESOURCES_SYMBOL1899_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1829:4: {...}? => OPTIMIZER_COSTS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50706)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50706";
        	                EXCEPTION->ruleName	 = (void *)"flush_option";


        	        }

        	        OPTIMIZER_COSTS_SYMBOL1900 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIMIZER_COSTS_SYMBOL, &FOLLOW_OPTIMIZER_COSTS_SYMBOL_in_flush_option9945);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTIMIZER_COSTS_SYMBOL1900_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIMIZER_COSTS_SYMBOL1900));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTIMIZER_COSTS_SYMBOL1900_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleflush_optionEx; /* Prevent compiler warnings */
    ruleflush_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end flush_option */

/**
 * $ANTLR start log_type
 * MySQL.g:1832:1: log_type : ( BINARY_SYMBOL | ENGINE_SYMBOL | ERROR_SYMBOL | GENERAL_SYMBOL | SLOW_SYMBOL );
 */
static MySQLParser_log_type_return
log_type(pMySQLParser ctx)
{
    MySQLParser_log_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1901;

    pANTLR3_BASE_TREE set1901_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1901       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1901_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1832:9: ( BINARY_SYMBOL | ENGINE_SYMBOL | ERROR_SYMBOL | GENERAL_SYMBOL | SLOW_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1901=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == ENGINE_SYMBOL || LA(1) == ERROR_SYMBOL || LA(1) == GENERAL_SYMBOL || LA(1) == SLOW_SYMBOL || LA(1) == BINARY_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1901))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulelog_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulelog_typeEx; /* Prevent compiler warnings */
    rulelog_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end log_type */

/**
 * $ANTLR start flush_tables
 * MySQL.g:1840:1: flush_tables : ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )? ;
 */
static MySQLParser_flush_tables_return
flush_tables(pMySQLParser ctx)
{
    MySQLParser_flush_tables_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1902;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1903;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1904;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1905;
    MySQLParser_identifier_list_return identifier_list1906;
    #undef	RETURN_TYPE_identifier_list1906
    #define	RETURN_TYPE_identifier_list1906 MySQLParser_identifier_list_return

    MySQLParser_flush_tables_options_return flush_tables_options1907;
    #undef	RETURN_TYPE_flush_tables_options1907
    #define	RETURN_TYPE_flush_tables_options1907 MySQLParser_flush_tables_options_return

    pANTLR3_BASE_TREE set1902_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1903_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1904_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1905_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1902       = NULL;
    WITH_SYMBOL1903       = NULL;
    READ_SYMBOL1904       = NULL;
    LOCK_SYMBOL1905       = NULL;
    identifier_list1906.tree = NULL;

    flush_tables_options1907.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1902_tree   = NULL;
    WITH_SYMBOL1903_tree   = NULL;
    READ_SYMBOL1904_tree   = NULL;
    LOCK_SYMBOL1905_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1840:13: ( ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )? )
        // MySQL.g:1841:2: ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1902=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == TABLES_SYMBOL || LA(1) == TABLE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1902))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleflush_tablesEx;
            }


            // MySQL.g:1842:2: ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )?
            {
                int alt589=3;
                {
                    int LA589_0 = LA(1);
                    if ( (LA589_0 == WITH_SYMBOL))
                    {
                        alt589=1;
                    }
                    else if ( (LA589_0 == BACK_TICK_QUOTED_ID || LA589_0 == IDENTIFIER))
                    {
                        alt589=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA589_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt589=2;
                    }
                    else if ( (((LA589_0 >= ASCII_SYMBOL) && (LA589_0 <= YEAR_SYMBOL))))
                    {
                        alt589=2;
                    }
                }
                switch (alt589)
                {
            	case 1:
            	    // MySQL.g:1843:3: WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL
            	    {
            	        WITH_SYMBOL1903 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_flush_tables9996);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL1903_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1903));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1903_tree);
            	        }

            	        READ_SYMBOL1904 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_flush_tables9998);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        READ_SYMBOL1904_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1904));
            	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1904_tree);
            	        }

            	        LOCK_SYMBOL1905 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_flush_tables10000);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOCK_SYMBOL1905_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1905));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1905_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1844:5: identifier_list ( flush_tables_options )?
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_in_flush_tables10006);
            	        identifier_list1906=identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list1906.tree);

            	        // MySQL.g:1844:21: ( flush_tables_options )?
            	        {
            	            int alt588=2;
            	            {
            	                int LA588_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50606)) && (LA588_0 == FOR_SYMBOL))
            	                {
            	                    alt588=1;
            	                }
            	                else if ( (LA588_0 == WITH_SYMBOL))
            	                {
            	                    alt588=1;
            	                }
            	            }
            	            switch (alt588)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1844:21: flush_tables_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_flush_tables_options_in_flush_tables10008);
            	        	        flush_tables_options1907=flush_tables_options(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleflush_tablesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_tables_options1907.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleflush_tablesEx; /* Prevent compiler warnings */
    ruleflush_tablesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end flush_tables */

/**
 * $ANTLR start flush_tables_options
 * MySQL.g:1848:1: flush_tables_options : ({...}? => FOR_SYMBOL EXPORT_SYMBOL | WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL );
 */
static MySQLParser_flush_tables_options_return
flush_tables_options(pMySQLParser ctx)
{
    MySQLParser_flush_tables_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1908;
    pANTLR3_COMMON_TOKEN    EXPORT_SYMBOL1909;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1910;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1911;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1912;

    pANTLR3_BASE_TREE FOR_SYMBOL1908_tree;
    pANTLR3_BASE_TREE EXPORT_SYMBOL1909_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1910_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1911_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1912_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1908       = NULL;
    EXPORT_SYMBOL1909       = NULL;
    WITH_SYMBOL1910       = NULL;
    READ_SYMBOL1911       = NULL;
    LOCK_SYMBOL1912       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1908_tree   = NULL;
    EXPORT_SYMBOL1909_tree   = NULL;
    WITH_SYMBOL1910_tree   = NULL;
    READ_SYMBOL1911_tree   = NULL;
    LOCK_SYMBOL1912_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1848:21: ({...}? => FOR_SYMBOL EXPORT_SYMBOL | WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL )

            ANTLR3_UINT32 alt590;

            alt590=2;

            {
                int LA590_0 = LA(1);
                if ( ((SERVER_VERSION >= 50606)) && (LA590_0 == FOR_SYMBOL))
                {
                    alt590=1;
                }
                else if ( (LA590_0 == WITH_SYMBOL))
                {
                    alt590=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 590;
                    EXCEPTION->state        = 0;


                    goto ruleflush_tables_optionsEx;

                }
            }
            switch (alt590)
            {
        	case 1:
        	    // MySQL.g:1849:2: {...}? => FOR_SYMBOL EXPORT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50606)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50606";
        	                EXCEPTION->ruleName	 = (void *)"flush_tables_options";


        	        }

        	        FOR_SYMBOL1908 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_flush_tables_options10026);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL1908_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1908));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1908_tree);
        	        }

        	        EXPORT_SYMBOL1909 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPORT_SYMBOL, &FOLLOW_EXPORT_SYMBOL_in_flush_tables_options10028);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXPORT_SYMBOL1909_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPORT_SYMBOL1909));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXPORT_SYMBOL1909_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1850:4: WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1910 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_flush_tables_options10033);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL1910_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1910));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1910_tree);
        	        }

        	        READ_SYMBOL1911 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_flush_tables_options10035);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1911_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1911));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1911_tree);
        	        }

        	        LOCK_SYMBOL1912 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_flush_tables_options10037);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1912_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1912));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1912_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleflush_tables_optionsEx; /* Prevent compiler warnings */
    ruleflush_tables_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end flush_tables_options */

/**
 * $ANTLR start load_table_index_list
 * MySQL.g:1853:1: load_table_index_list : table_ref ( load_table_index_partion )? ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )? ( IGNORE_SYMBOL LEAVES_SYMBOL )? ;
 */
static MySQLParser_load_table_index_list_return
load_table_index_list(pMySQLParser ctx)
{
    MySQLParser_load_table_index_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1915;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL1917;
    pANTLR3_COMMON_TOKEN    LEAVES_SYMBOL1918;
    MySQLParser_table_ref_return table_ref1913;
    #undef	RETURN_TYPE_table_ref1913
    #define	RETURN_TYPE_table_ref1913 MySQLParser_table_ref_return

    MySQLParser_load_table_index_partion_return load_table_index_partion1914;
    #undef	RETURN_TYPE_load_table_index_partion1914
    #define	RETURN_TYPE_load_table_index_partion1914 MySQLParser_load_table_index_partion_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1916;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1916
    #define	RETURN_TYPE_identifier_list_with_parentheses1916 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE set1915_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL1917_tree;
    pANTLR3_BASE_TREE LEAVES_SYMBOL1918_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1915       = NULL;
    IGNORE_SYMBOL1917       = NULL;
    LEAVES_SYMBOL1918       = NULL;
    table_ref1913.tree = NULL;

    load_table_index_partion1914.tree = NULL;

    identifier_list_with_parentheses1916.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1915_tree   = NULL;
    IGNORE_SYMBOL1917_tree   = NULL;
    LEAVES_SYMBOL1918_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1853:22: ( table_ref ( load_table_index_partion )? ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )? ( IGNORE_SYMBOL LEAVES_SYMBOL )? )
        // MySQL.g:1854:2: table_ref ( load_table_index_partion )? ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )? ( IGNORE_SYMBOL LEAVES_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_ref_in_load_table_index_list10046);
            table_ref1913=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_table_index_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1913.tree);

            // MySQL.g:1854:12: ( load_table_index_partion )?
            {
                int alt591=2;
                {
                    int LA591_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50500)) && (LA591_0 == PARTITION_SYMBOL))
                    {
                        alt591=1;
                    }
                }
                switch (alt591)
                {
            	case 1:
            	    // MySQL.g:1854:12: load_table_index_partion
            	    {
            	        FOLLOWPUSH(FOLLOW_load_table_index_partion_in_load_table_index_list10048);
            	        load_table_index_partion1914=load_table_index_partion(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, load_table_index_partion1914.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1855:3: ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )?
            {
                int alt593=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt593=1;
                    	}
                        break;
                }

                switch (alt593)
                {
            	case 1:
            	    // MySQL.g:1855:4: ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses
            	    {
            	        // MySQL.g:1855:4: ( INDEX_SYMBOL | KEY_SYMBOL )?
            	        {
            	            int alt592=2;
            	            switch ( LA(1) )
            	            {
            	                case INDEX_SYMBOL:
            	                case KEY_SYMBOL:
            	                	{
            	                		alt592=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt592)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set1915=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == INDEX_SYMBOL || LA(1) == KEY_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1915))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto ruleload_table_index_listEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_load_table_index_list10063);
            	        identifier_list_with_parentheses1916=identifier_list_with_parentheses(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses1916.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1855:68: ( IGNORE_SYMBOL LEAVES_SYMBOL )?
            {
                int alt594=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt594=1;
                    	}
                        break;
                }

                switch (alt594)
                {
            	case 1:
            	    // MySQL.g:1855:69: IGNORE_SYMBOL LEAVES_SYMBOL
            	    {
            	        IGNORE_SYMBOL1917 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_load_table_index_list10068);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL1917_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL1917));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL1917_tree);
            	        }

            	        LEAVES_SYMBOL1918 = (pANTLR3_COMMON_TOKEN) MATCHT(LEAVES_SYMBOL, &FOLLOW_LEAVES_SYMBOL_in_load_table_index_list10070);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LEAVES_SYMBOL1918_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEAVES_SYMBOL1918));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LEAVES_SYMBOL1918_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleload_table_index_listEx; /* Prevent compiler warnings */
    ruleload_table_index_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end load_table_index_list */

/**
 * $ANTLR start load_table_index_partion
 * MySQL.g:1858:1: load_table_index_partion :{...}? => ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_load_table_index_partion_return
load_table_index_partion(pMySQLParser ctx)
{
    MySQLParser_load_table_index_partion_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL1919;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1920;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1922;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1923;
    MySQLParser_identifier_list_return identifier_list1921;
    #undef	RETURN_TYPE_identifier_list1921
    #define	RETURN_TYPE_identifier_list1921 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL1919_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1920_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1922_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1923_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL1919       = NULL;
    OPEN_PAR_SYMBOL1920       = NULL;
    ALL_SYMBOL1922       = NULL;
    CLOSE_PAR_SYMBOL1923       = NULL;
    identifier_list1921.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL1919_tree   = NULL;
    OPEN_PAR_SYMBOL1920_tree   = NULL;
    ALL_SYMBOL1922_tree   = NULL;
    CLOSE_PAR_SYMBOL1923_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1858:25: ({...}? => ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1859:2: {...}? => ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50500)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
                    EXCEPTION->ruleName	 = (void *)"load_table_index_partion";


            }

            // MySQL.g:1859:32: ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL )
            // MySQL.g:1859:33: PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL
            {
                PARTITION_SYMBOL1919 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion10086);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                PARTITION_SYMBOL1919_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL1919));
                ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL1919_tree);
                }

                OPEN_PAR_SYMBOL1920 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion10088);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                OPEN_PAR_SYMBOL1920_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1920));
                ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1920_tree);
                }

                // MySQL.g:1859:66: ( identifier_list | ALL_SYMBOL )
                {
                    int alt595=2;
                    {
                        int LA595_0 = LA(1);
                        if ( (LA595_0 == BACK_TICK_QUOTED_ID || LA595_0 == IDENTIFIER))
                        {
                            alt595=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA595_0 == DOUBLE_QUOTED_TEXT))
                        {
                            alt595=1;
                        }
                        else if ( (((LA595_0 >= ASCII_SYMBOL) && (LA595_0 <= YEAR_SYMBOL))))
                        {
                            alt595=1;
                        }
                        else if ( (LA595_0 == ALL_SYMBOL))
                        {
                            alt595=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 595;
                            EXCEPTION->state        = 0;


                            goto ruleload_table_index_partionEx;

                        }
                    }
                    switch (alt595)
                    {
                	case 1:
                	    // MySQL.g:1859:67: identifier_list
                	    {
                	        FOLLOWPUSH(FOLLOW_identifier_list_in_load_table_index_partion10091);
                	        identifier_list1921=identifier_list(ctx);

                	        FOLLOWPOP();
                	        if  (HASEXCEPTION())
                	        {
                	            goto ruleload_table_index_partionEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list1921.tree);

                	    }
                	    break;
                	case 2:
                	    // MySQL.g:1859:85: ALL_SYMBOL
                	    {
                	        ALL_SYMBOL1922 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_load_table_index_partion10095);
                	        if  (HASEXCEPTION())
                	        {
                	            goto ruleload_table_index_partionEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) {
                	        ALL_SYMBOL1922_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1922));
                	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1922_tree);
                	        }

                	    }
                	    break;

                    }
                }

                CLOSE_PAR_SYMBOL1923 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion10098);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                CLOSE_PAR_SYMBOL1923_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1923));
                ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1923_tree);
                }

            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleload_table_index_partionEx; /* Prevent compiler warnings */
    ruleload_table_index_partionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end load_table_index_partion */

/**
 * $ANTLR start reset_option
 * MySQL.g:1862:1: reset_option : ( MASTER_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | SLAVE_SYMBOL ( ALL_SYMBOL )? ( channel )? );
 */
static MySQLParser_reset_option_return
reset_option(pMySQLParser ctx)
{
    MySQLParser_reset_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1924;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1925;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1926;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1927;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1928;
    MySQLParser_channel_return channel1929;
    #undef	RETURN_TYPE_channel1929
    #define	RETURN_TYPE_channel1929 MySQLParser_channel_return

    pANTLR3_BASE_TREE MASTER_SYMBOL1924_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1925_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1926_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1927_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1928_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_SYMBOL1924       = NULL;
    QUERY_SYMBOL1925       = NULL;
    CACHE_SYMBOL1926       = NULL;
    SLAVE_SYMBOL1927       = NULL;
    ALL_SYMBOL1928       = NULL;
    channel1929.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_SYMBOL1924_tree   = NULL;
    QUERY_SYMBOL1925_tree   = NULL;
    CACHE_SYMBOL1926_tree   = NULL;
    SLAVE_SYMBOL1927_tree   = NULL;
    ALL_SYMBOL1928_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1862:13: ( MASTER_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | SLAVE_SYMBOL ( ALL_SYMBOL )? ( channel )? )

            ANTLR3_UINT32 alt598;

            alt598=3;

            switch ( LA(1) )
            {
            case MASTER_SYMBOL:
            	{
            		alt598=1;
            	}
                break;
            case QUERY_SYMBOL:
            	{
            		alt598=2;
            	}
                break;
            case SLAVE_SYMBOL:
            	{
            		alt598=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 598;
                EXCEPTION->state        = 0;


                goto rulereset_optionEx;

            }

            switch (alt598)
            {
        	case 1:
        	    // MySQL.g:1863:2: MASTER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SYMBOL1924 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_reset_option10108);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SYMBOL1924_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1924));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1924_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1864:4: QUERY_SYMBOL CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUERY_SYMBOL1925 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_reset_option10113);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUERY_SYMBOL1925_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL1925));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL1925_tree);
        	        }

        	        CACHE_SYMBOL1926 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_reset_option10115);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1926_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1926));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CACHE_SYMBOL1926_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1865:4: SLAVE_SYMBOL ( ALL_SYMBOL )? ( channel )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SLAVE_SYMBOL1927 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_reset_option10120);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SLAVE_SYMBOL1927_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1927));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1927_tree);
        	        }

        	        // MySQL.g:1865:17: ( ALL_SYMBOL )?
        	        {
        	            int alt596=2;
        	            switch ( LA(1) )
        	            {
        	                case ALL_SYMBOL:
        	                	{
        	                		alt596=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt596)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1865:17: ALL_SYMBOL
        	        	    {
        	        	        ALL_SYMBOL1928 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_reset_option10122);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereset_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ALL_SYMBOL1928_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1928));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1928_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1865:29: ( channel )?
        	        {
        	            int alt597=2;
        	            {
        	                int LA597_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50706)) && (LA597_0 == FROM_SYMBOL))
        	                {
        	                    alt597=1;
        	                }
        	            }
        	            switch (alt597)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1865:29: channel
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_channel_in_reset_option10125);
        	        	        channel1929=channel(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereset_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, channel1929.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulereset_optionEx; /* Prevent compiler warnings */
    rulereset_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end reset_option */

/**
 * $ANTLR start utility_statement
 * MySQL.g:1870:1: utility_statement : ( describe_command ( table_ref ( text_string | identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement ) | HELP_SYMBOL ^ text_or_identifier | USE_SYMBOL ^ identifier );
 */
static MySQLParser_utility_statement_return
utility_statement(pMySQLParser ctx)
{
    MySQLParser_utility_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EXTENDED_SYMBOL1934;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL1935;
    pANTLR3_COMMON_TOKEN    FORMAT_SYMBOL1936;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1937;
    pANTLR3_COMMON_TOKEN    HELP_SYMBOL1940;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL1942;
    MySQLParser_describe_command_return describe_command1930;
    #undef	RETURN_TYPE_describe_command1930
    #define	RETURN_TYPE_describe_command1930 MySQLParser_describe_command_return

    MySQLParser_table_ref_return table_ref1931;
    #undef	RETURN_TYPE_table_ref1931
    #define	RETURN_TYPE_table_ref1931 MySQLParser_table_ref_return

    MySQLParser_text_string_return text_string1932;
    #undef	RETURN_TYPE_text_string1932
    #define	RETURN_TYPE_text_string1932 MySQLParser_text_string_return

    MySQLParser_identifier_return identifier1933;
    #undef	RETURN_TYPE_identifier1933
    #define	RETURN_TYPE_identifier1933 MySQLParser_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier1938;
    #undef	RETURN_TYPE_text_or_identifier1938
    #define	RETURN_TYPE_text_or_identifier1938 MySQLParser_text_or_identifier_return

    MySQLParser_explainable_statement_return explainable_statement1939;
    #undef	RETURN_TYPE_explainable_statement1939
    #define	RETURN_TYPE_explainable_statement1939 MySQLParser_explainable_statement_return

    MySQLParser_text_or_identifier_return text_or_identifier1941;
    #undef	RETURN_TYPE_text_or_identifier1941
    #define	RETURN_TYPE_text_or_identifier1941 MySQLParser_text_or_identifier_return

    MySQLParser_identifier_return identifier1943;
    #undef	RETURN_TYPE_identifier1943
    #define	RETURN_TYPE_identifier1943 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EXTENDED_SYMBOL1934_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL1935_tree;
    pANTLR3_BASE_TREE FORMAT_SYMBOL1936_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1937_tree;
    pANTLR3_BASE_TREE HELP_SYMBOL1940_tree;
    pANTLR3_BASE_TREE USE_SYMBOL1942_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EXTENDED_SYMBOL1934       = NULL;
    PARTITIONS_SYMBOL1935       = NULL;
    FORMAT_SYMBOL1936       = NULL;
    EQUAL_OPERATOR1937       = NULL;
    HELP_SYMBOL1940       = NULL;
    USE_SYMBOL1942       = NULL;
    describe_command1930.tree = NULL;

    table_ref1931.tree = NULL;

    text_string1932.tree = NULL;

    identifier1933.tree = NULL;

    text_or_identifier1938.tree = NULL;

    explainable_statement1939.tree = NULL;

    text_or_identifier1941.tree = NULL;

    identifier1943.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EXTENDED_SYMBOL1934_tree   = NULL;
    PARTITIONS_SYMBOL1935_tree   = NULL;
    FORMAT_SYMBOL1936_tree   = NULL;
    EQUAL_OPERATOR1937_tree   = NULL;
    HELP_SYMBOL1940_tree   = NULL;
    USE_SYMBOL1942_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1870:18: ( describe_command ( table_ref ( text_string | identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement ) | HELP_SYMBOL ^ text_or_identifier | USE_SYMBOL ^ identifier )

            ANTLR3_UINT32 alt602;

            alt602=3;

            switch ( LA(1) )
            {
            case DESCRIBE_SYMBOL:
            case DESC_SYMBOL:
            	{
            		alt602=1;
            	}
                break;
            case HELP_SYMBOL:
            	{
            		alt602=2;
            	}
                break;
            case USE_SYMBOL:
            	{
            		alt602=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 602;
                EXCEPTION->state        = 0;


                goto ruleutility_statementEx;

            }

            switch (alt602)
            {
        	case 1:
        	    // MySQL.g:1871:2: describe_command ( table_ref ( text_string | identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_describe_command_in_utility_statement10137);
        	        describe_command1930=describe_command(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, describe_command1930.tree);

        	        // MySQL.g:1872:3: ( table_ref ( text_string | identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement )
        	        {
        	            int alt601=2;
        	            {
        	                int LA601_0 = LA(1);
        	                if ( (LA601_0 == BACK_TICK_QUOTED_ID || LA601_0 == IDENTIFIER))
        	                {
        	                    alt601=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA601_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt601=1;
        	                }
        	                else if ( (LA601_0 == EXTENDED_SYMBOL))
        	                {
        	                    {
        	                        int LA601_4 = LA(2);
        	                        if ( (LA601_4 == EOF || ((LA601_4 >= ASCII_SYMBOL) && (LA601_4 <= YEAR_SYMBOL)) || LA601_4 == BACK_TICK_QUOTED_ID || LA601_4 == BITNUMBER || LA601_4 == DOT_SYMBOL || LA601_4 == DOUBLE_QUOTED_TEXT || LA601_4 == HEXNUMBER || LA601_4 == IDENTIFIER || LA601_4 == SEMICOLON_SYMBOL || LA601_4 == SINGLE_QUOTED_TEXT))
        	                        {
        	                            alt601=1;
        	                        }
        	                        else if ( (LA601_4 == DELETE_SYMBOL || LA601_4 == FOR_SYMBOL || LA601_4 == INSERT_SYMBOL || LA601_4 == OPEN_PAR_SYMBOL || LA601_4 == REPLACE_SYMBOL || LA601_4 == SELECT_SYMBOL || LA601_4 == UPDATE_SYMBOL))
        	                        {
        	                            alt601=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 601;
        	                            EXCEPTION->state        = 4;


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA601_0 == FORMAT_SYMBOL))
        	                {
        	                    {
        	                        int LA601_5 = LA(2);
        	                        if ( ((SERVER_VERSION >= 50605)) && (LA601_5 == EQUAL_OPERATOR))
        	                        {
        	                            alt601=2;
        	                        }
        	                        else if ( (LA601_5 == EOF || ((LA601_5 >= ASCII_SYMBOL) && (LA601_5 <= YEAR_SYMBOL)) || LA601_5 == BACK_TICK_QUOTED_ID || LA601_5 == BITNUMBER || LA601_5 == DOT_SYMBOL || LA601_5 == DOUBLE_QUOTED_TEXT || LA601_5 == HEXNUMBER || LA601_5 == IDENTIFIER || LA601_5 == SEMICOLON_SYMBOL || LA601_5 == SINGLE_QUOTED_TEXT))
        	                        {
        	                            alt601=1;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 601;
        	                            EXCEPTION->state        = 5;


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (((LA601_0 >= ASCII_SYMBOL) && (LA601_0 <= FOLLOWS_SYMBOL)) || ((LA601_0 >= HANDLER_SYMBOL) && (LA601_0 <= EXPORT_SYMBOL)) || ((LA601_0 >= EXTENT_SIZE_SYMBOL) && (LA601_0 <= PARTITIONING_SYMBOL)) || ((LA601_0 >= PASSWORD_SYMBOL) && (LA601_0 <= YEAR_SYMBOL)) || LA601_0 == DOT_SYMBOL))
        	                {
        	                    alt601=1;
        	                }
        	                else if ( (LA601_0 == PARTITIONS_SYMBOL))
        	                {
        	                    {
        	                        int LA601_7 = LA(2);
        	                        if ( (LA601_7 == EOF || ((LA601_7 >= ASCII_SYMBOL) && (LA601_7 <= YEAR_SYMBOL)) || LA601_7 == BACK_TICK_QUOTED_ID || LA601_7 == BITNUMBER || LA601_7 == DOT_SYMBOL || LA601_7 == DOUBLE_QUOTED_TEXT || LA601_7 == HEXNUMBER || LA601_7 == IDENTIFIER || LA601_7 == SEMICOLON_SYMBOL || LA601_7 == SINGLE_QUOTED_TEXT))
        	                        {
        	                            alt601=1;
        	                        }
        	                        else if ( ((SERVER_VERSION >= 50105)) && (LA601_7 == DELETE_SYMBOL || LA601_7 == FOR_SYMBOL || LA601_7 == INSERT_SYMBOL || LA601_7 == OPEN_PAR_SYMBOL || LA601_7 == REPLACE_SYMBOL || LA601_7 == SELECT_SYMBOL || LA601_7 == UPDATE_SYMBOL))
        	                        {
        	                            alt601=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 601;
        	                            EXCEPTION->state        = 7;


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA601_0 == OPEN_PAR_SYMBOL || LA601_0 == SELECT_SYMBOL))
        	                {
        	                    alt601=2;
        	                }
        	                else if ( ((SERVER_VERSION >= 50603)) && (LA601_0 == DELETE_SYMBOL || LA601_0 == INSERT_SYMBOL || LA601_0 == REPLACE_SYMBOL || LA601_0 == UPDATE_SYMBOL))
        	                {
        	                    alt601=2;
        	                }
        	                else if ( ((SERVER_VERSION >= 50700)) && (LA601_0 == FOR_SYMBOL))
        	                {
        	                    alt601=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 601;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleutility_statementEx;

        	                }
        	            }
        	            switch (alt601)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1873:4: table_ref ( text_string | identifier )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_ref_in_utility_statement10146);
        	        	        table_ref1931=table_ref(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleutility_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref1931.tree);

        	        	        // MySQL.g:1873:14: ( text_string | identifier )?
        	        	        {
        	        	            int alt599=3;
        	        	            {
        	        	                int LA599_0 = LA(1);
        	        	                if ( (LA599_0 == BITNUMBER || LA599_0 == HEXNUMBER || LA599_0 == SINGLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt599=1;
        	        	                }
        	        	                else if ( (LA599_0 == BACK_TICK_QUOTED_ID || LA599_0 == IDENTIFIER))
        	        	                {
        	        	                    alt599=2;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA599_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt599=2;
        	        	                }
        	        	                else if ( (((LA599_0 >= ASCII_SYMBOL) && (LA599_0 <= YEAR_SYMBOL))))
        	        	                {
        	        	                    alt599=2;
        	        	                }
        	        	            }
        	        	            switch (alt599)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1873:15: text_string
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_text_string_in_utility_statement10149);
        	        	        	        text_string1932=text_string(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string1932.tree);

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:1873:29: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_utility_statement10153);
        	        	        	        identifier1933=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1933.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1875:5: ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement
        	        	    {
        	        	        // MySQL.g:1875:5: ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )?
        	        	        {
        	        	            int alt600=4;
        	        	            {
        	        	                int LA600_0 = LA(1);
        	        	                if ( (LA600_0 == EXTENDED_SYMBOL))
        	        	                {
        	        	                    alt600=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50105)) && (LA600_0 == PARTITIONS_SYMBOL))
        	        	                {
        	        	                    alt600=2;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50605)) && (LA600_0 == FORMAT_SYMBOL))
        	        	                {
        	        	                    alt600=3;
        	        	                }
        	        	            }
        	        	            switch (alt600)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1878:6: EXTENDED_SYMBOL
        	        	        	    {
        	        	        	        EXTENDED_SYMBOL1934 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENDED_SYMBOL, &FOLLOW_EXTENDED_SYMBOL_in_utility_statement10185);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EXTENDED_SYMBOL1934_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTENDED_SYMBOL1934));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTENDED_SYMBOL1934_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:1879:8: {...}? => PARTITIONS_SYMBOL
        	        	        	    {
        	        	        	        if ( !((SERVER_VERSION >= 50105)) )
        	        	        	        {
        	        	        	            if (BACKTRACKING>0)
        	        	        	            {
        	        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	        	                return retval;
        	        	        	            }

        	        	        	                CONSTRUCTEX();
        	        	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50105";
        	        	        	                EXCEPTION->ruleName	 = (void *)"utility_statement";


        	        	        	        }

        	        	        	        PARTITIONS_SYMBOL1935 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_utility_statement10199);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        PARTITIONS_SYMBOL1935_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONS_SYMBOL1935));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONS_SYMBOL1935_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 3:
        	        	        	    // MySQL.g:1880:8: {...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier
        	        	        	    {
        	        	        	        if ( !((SERVER_VERSION >= 50605)) )
        	        	        	        {
        	        	        	            if (BACKTRACKING>0)
        	        	        	            {
        	        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	        	                return retval;
        	        	        	            }

        	        	        	                CONSTRUCTEX();
        	        	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50605";
        	        	        	                EXCEPTION->ruleName	 = (void *)"utility_statement";


        	        	        	        }

        	        	        	        FORMAT_SYMBOL1936 = (pANTLR3_COMMON_TOKEN) MATCHT(FORMAT_SYMBOL, &FOLLOW_FORMAT_SYMBOL_in_utility_statement10213);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        FORMAT_SYMBOL1936_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FORMAT_SYMBOL1936));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FORMAT_SYMBOL1936_tree);
        	        	        	        }

        	        	        	        EQUAL_OPERATOR1937 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_utility_statement10215);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR1937_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1937));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1937_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement10217);
        	        	        	        text_or_identifier1938=text_or_identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1938.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_explainable_statement_in_utility_statement10226);
        	        	        explainable_statement1939=explainable_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleutility_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, explainable_statement1939.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1883:4: HELP_SYMBOL ^ text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HELP_SYMBOL1940 = (pANTLR3_COMMON_TOKEN) MATCHT(HELP_SYMBOL, &FOLLOW_HELP_SYMBOL_in_utility_statement10235);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HELP_SYMBOL1940_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HELP_SYMBOL1940))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, HELP_SYMBOL1940_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement10238);
        	        text_or_identifier1941=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1941.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1884:4: USE_SYMBOL ^ identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USE_SYMBOL1942 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_utility_statement10243);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USE_SYMBOL1942_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USE_SYMBOL1942))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, USE_SYMBOL1942_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_utility_statement10246);
        	        identifier1943=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1943.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleutility_statementEx; /* Prevent compiler warnings */
    ruleutility_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end utility_statement */

/**
 * $ANTLR start describe_command
 * MySQL.g:1887:1: describe_command : ( DESCRIBE_SYMBOL ^| DESC_SYMBOL ^);
 */
static MySQLParser_describe_command_return
describe_command(pMySQLParser ctx)
{
    MySQLParser_describe_command_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DESCRIBE_SYMBOL1944;
    pANTLR3_COMMON_TOKEN    DESC_SYMBOL1945;

    pANTLR3_BASE_TREE DESCRIBE_SYMBOL1944_tree;
    pANTLR3_BASE_TREE DESC_SYMBOL1945_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DESCRIBE_SYMBOL1944       = NULL;
    DESC_SYMBOL1945       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DESCRIBE_SYMBOL1944_tree   = NULL;
    DESC_SYMBOL1945_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1887:17: ( DESCRIBE_SYMBOL ^| DESC_SYMBOL ^)

            ANTLR3_UINT32 alt603;

            alt603=2;

            switch ( LA(1) )
            {
            case DESCRIBE_SYMBOL:
            	{
            		alt603=1;
            	}
                break;
            case DESC_SYMBOL:
            	{
            		alt603=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 603;
                EXCEPTION->state        = 0;


                goto ruledescribe_commandEx;

            }

            switch (alt603)
            {
        	case 1:
        	    // MySQL.g:1888:2: DESCRIBE_SYMBOL ^
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DESCRIBE_SYMBOL1944 = (pANTLR3_COMMON_TOKEN) MATCHT(DESCRIBE_SYMBOL, &FOLLOW_DESCRIBE_SYMBOL_in_describe_command10255);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledescribe_commandEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DESCRIBE_SYMBOL1944_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DESCRIBE_SYMBOL1944))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DESCRIBE_SYMBOL1944_tree, root_0));
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1888:21: DESC_SYMBOL ^
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DESC_SYMBOL1945 = (pANTLR3_COMMON_TOKEN) MATCHT(DESC_SYMBOL, &FOLLOW_DESC_SYMBOL_in_describe_command10260);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledescribe_commandEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DESC_SYMBOL1945_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DESC_SYMBOL1945))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DESC_SYMBOL1945_tree, root_0));
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruledescribe_commandEx; /* Prevent compiler warnings */
    ruledescribe_commandEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end describe_command */

/**
 * $ANTLR start explainable_statement
 * MySQL.g:1892:1: explainable_statement : ( select_statement |{...}? => ( delete_statement | insert_statement | replace_statement | update_statement ) |{...}? => FOR_SYMBOL CONNECTION_SYMBOL INTEGER );
 */
static MySQLParser_explainable_statement_return
explainable_statement(pMySQLParser ctx)
{
    MySQLParser_explainable_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1951;
    pANTLR3_COMMON_TOKEN    CONNECTION_SYMBOL1952;
    pANTLR3_COMMON_TOKEN    INTEGER1953;
    MySQLParser_select_statement_return select_statement1946;
    #undef	RETURN_TYPE_select_statement1946
    #define	RETURN_TYPE_select_statement1946 MySQLParser_select_statement_return

    MySQLParser_delete_statement_return delete_statement1947;
    #undef	RETURN_TYPE_delete_statement1947
    #define	RETURN_TYPE_delete_statement1947 MySQLParser_delete_statement_return

    MySQLParser_insert_statement_return insert_statement1948;
    #undef	RETURN_TYPE_insert_statement1948
    #define	RETURN_TYPE_insert_statement1948 MySQLParser_insert_statement_return

    MySQLParser_replace_statement_return replace_statement1949;
    #undef	RETURN_TYPE_replace_statement1949
    #define	RETURN_TYPE_replace_statement1949 MySQLParser_replace_statement_return

    MySQLParser_update_statement_return update_statement1950;
    #undef	RETURN_TYPE_update_statement1950
    #define	RETURN_TYPE_update_statement1950 MySQLParser_update_statement_return

    pANTLR3_BASE_TREE FOR_SYMBOL1951_tree;
    pANTLR3_BASE_TREE CONNECTION_SYMBOL1952_tree;
    pANTLR3_BASE_TREE INTEGER1953_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1951       = NULL;
    CONNECTION_SYMBOL1952       = NULL;
    INTEGER1953       = NULL;
    select_statement1946.tree = NULL;

    delete_statement1947.tree = NULL;

    insert_statement1948.tree = NULL;

    replace_statement1949.tree = NULL;

    update_statement1950.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1951_tree   = NULL;
    CONNECTION_SYMBOL1952_tree   = NULL;
    INTEGER1953_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1892:22: ( select_statement |{...}? => ( delete_statement | insert_statement | replace_statement | update_statement ) |{...}? => FOR_SYMBOL CONNECTION_SYMBOL INTEGER )

            ANTLR3_UINT32 alt605;

            alt605=3;

            {
                int LA605_0 = LA(1);
                if ( (LA605_0 == OPEN_PAR_SYMBOL || LA605_0 == SELECT_SYMBOL))
                {
                    alt605=1;
                }
                else if ( ((SERVER_VERSION >= 50603)) && (LA605_0 == DELETE_SYMBOL || LA605_0 == INSERT_SYMBOL || LA605_0 == REPLACE_SYMBOL || LA605_0 == UPDATE_SYMBOL))
                {
                    alt605=2;
                }
                else if ( ((SERVER_VERSION >= 50700)) && (LA605_0 == FOR_SYMBOL))
                {
                    alt605=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 605;
                    EXCEPTION->state        = 0;


                    goto ruleexplainable_statementEx;

                }
            }
            switch (alt605)
            {
        	case 1:
        	    // MySQL.g:1893:2: select_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_statement_in_explainable_statement10271);
        	        select_statement1946=select_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexplainable_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement1946.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1894:4: {...}? => ( delete_statement | insert_statement | replace_statement | update_statement )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50603)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50603";
        	                EXCEPTION->ruleName	 = (void *)"explainable_statement";


        	        }

        	        // MySQL.g:1895:3: ( delete_statement | insert_statement | replace_statement | update_statement )
        	        {
        	            int alt604=4;
        	            switch ( LA(1) )
        	            {
        	            case DELETE_SYMBOL:
        	            	{
        	            		alt604=1;
        	            	}
        	                break;
        	            case INSERT_SYMBOL:
        	            	{
        	            		alt604=2;
        	            	}
        	                break;
        	            case REPLACE_SYMBOL:
        	            	{
        	            		alt604=3;
        	            	}
        	                break;
        	            case UPDATE_SYMBOL:
        	            	{
        	            		alt604=4;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 604;
        	                EXCEPTION->state        = 0;


        	                goto ruleexplainable_statementEx;

        	            }

        	            switch (alt604)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1896:4: delete_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_delete_statement_in_explainable_statement10287);
        	        	        delete_statement1947=delete_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, delete_statement1947.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1897:6: insert_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_insert_statement_in_explainable_statement10294);
        	        	        insert_statement1948=insert_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_statement1948.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1898:6: replace_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_replace_statement_in_explainable_statement10301);
        	        	        replace_statement1949=replace_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, replace_statement1949.tree);

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:1899:6: update_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_update_statement_in_explainable_statement10308);
        	        	        update_statement1950=update_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, update_statement1950.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1901:4: {...}? => FOR_SYMBOL CONNECTION_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50700)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
        	                EXCEPTION->ruleName	 = (void *)"explainable_statement";


        	        }

        	        FOR_SYMBOL1951 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_explainable_statement10321);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexplainable_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL1951_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1951));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1951_tree);
        	        }

        	        CONNECTION_SYMBOL1952 = (pANTLR3_COMMON_TOKEN) MATCHT(CONNECTION_SYMBOL, &FOLLOW_CONNECTION_SYMBOL_in_explainable_statement10323);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexplainable_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONNECTION_SYMBOL1952_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONNECTION_SYMBOL1952));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONNECTION_SYMBOL1952_tree);
        	        }

        	        INTEGER1953 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_explainable_statement10325);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexplainable_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1953_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1953));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1953_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleexplainable_statementEx; /* Prevent compiler warnings */
    ruleexplainable_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end explainable_statement */

/**
 * $ANTLR start expression
 * MySQL.g:1909:1: expression : logical_or_expression -> ^( EXPRESSION_TOKEN logical_or_expression ) ;
 */
static MySQLParser_expression_return
expression(pMySQLParser ctx)
{
    MySQLParser_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_logical_or_expression_return logical_or_expression1954;
    #undef	RETURN_TYPE_logical_or_expression1954
    #define	RETURN_TYPE_logical_or_expression1954 MySQLParser_logical_or_expression_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_logical_or_expression;
    /* Initialize rule variables
     */

    root_0 = NULL;

    logical_or_expression1954.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_logical_or_expression   = NULL;
    #define CREATE_stream_logical_or_expression  if (stream_logical_or_expression == NULL) {stream_logical_or_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule logical_or_expression"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1909:11: ( logical_or_expression -> ^( EXPRESSION_TOKEN logical_or_expression ) )
        // MySQL.g:1910:2: logical_or_expression
        {
            FOLLOWPUSH(FOLLOW_logical_or_expression_in_expression10339);
            logical_or_expression1954=logical_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_logical_or_expression; stream_logical_or_expression->add(stream_logical_or_expression, logical_or_expression1954.tree, NULL); }

            /* AST REWRITE
             * elements          : logical_or_expression
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1910:24: -> ^( EXPRESSION_TOKEN logical_or_expression )
            	{
            	    // MySQL.g:1910:27: ^( EXPRESSION_TOKEN logical_or_expression )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, EXPRESSION_TOKEN, (pANTLR3_UINT8)"EXPRESSION_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_logical_or_expression == NULL ? NULL : stream_logical_or_expression->nextTree(stream_logical_or_expression));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleexpressionEx; /* Prevent compiler warnings */
    ruleexpressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_logical_or_expression != NULL) stream_logical_or_expression->free(stream_logical_or_expression);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end expression */

/**
 * $ANTLR start logical_or_expression
 * MySQL.g:1913:1: logical_or_expression : logical_xor_expression ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )* ;
 */
static MySQLParser_logical_or_expression_return
logical_or_expression(pMySQLParser ctx)
{
    MySQLParser_logical_or_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1956;
    MySQLParser_logical_xor_expression_return logical_xor_expression1955;
    #undef	RETURN_TYPE_logical_xor_expression1955
    #define	RETURN_TYPE_logical_xor_expression1955 MySQLParser_logical_xor_expression_return

    MySQLParser_logical_xor_expression_return logical_xor_expression1957;
    #undef	RETURN_TYPE_logical_xor_expression1957
    #define	RETURN_TYPE_logical_xor_expression1957 MySQLParser_logical_xor_expression_return

    pANTLR3_BASE_TREE set1956_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1956       = NULL;
    logical_xor_expression1955.tree = NULL;

    logical_xor_expression1957.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1956_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1913:22: ( logical_xor_expression ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )* )
        // MySQL.g:1914:2: logical_xor_expression ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_logical_xor_expression_in_logical_or_expression10356);
            logical_xor_expression1955=logical_xor_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelogical_or_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_xor_expression1955.tree);

            // MySQL.g:1914:25: ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )*

            for (;;)
            {
                int alt606=2;
                switch ( LA(1) )
                {
                case LOGICAL_OR_OPERATOR:
                case OR_SYMBOL:
                	{
                		alt606=1;
                	}
                    break;

                }

                switch (alt606)
                {
            	case 1:
            	    // MySQL.g:1914:55: ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression
            	    {
            	        set1956=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1956=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == LOGICAL_OR_OPERATOR || LA(1) == OR_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1956))
            	            , root_0));
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulelogical_or_expressionEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_logical_xor_expression_in_logical_or_expression10381);
            	        logical_xor_expression1957=logical_xor_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelogical_or_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_xor_expression1957.tree);

            	    }
            	    break;

            	default:
            	    goto loop606;	/* break out of the loop */
            	    break;
                }
            }
            loop606: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulelogical_or_expressionEx; /* Prevent compiler warnings */
    rulelogical_or_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logical_or_expression */

/**
 * $ANTLR start logical_xor_expression
 * MySQL.g:1917:1: logical_xor_expression : logical_and_expression ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )* ;
 */
static MySQLParser_logical_xor_expression_return
logical_xor_expression(pMySQLParser ctx)
{
    MySQLParser_logical_xor_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    XOR_SYMBOL1959;
    MySQLParser_logical_and_expression_return logical_and_expression1958;
    #undef	RETURN_TYPE_logical_and_expression1958
    #define	RETURN_TYPE_logical_and_expression1958 MySQLParser_logical_and_expression_return

    MySQLParser_logical_and_expression_return logical_and_expression1960;
    #undef	RETURN_TYPE_logical_and_expression1960
    #define	RETURN_TYPE_logical_and_expression1960 MySQLParser_logical_and_expression_return

    pANTLR3_BASE_TREE XOR_SYMBOL1959_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    XOR_SYMBOL1959       = NULL;
    logical_and_expression1958.tree = NULL;

    logical_and_expression1960.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    XOR_SYMBOL1959_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1917:23: ( logical_and_expression ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )* )
        // MySQL.g:1918:2: logical_and_expression ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_logical_and_expression_in_logical_xor_expression10392);
            logical_and_expression1958=logical_and_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelogical_xor_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_and_expression1958.tree);

            // MySQL.g:1918:25: ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )*

            for (;;)
            {
                int alt607=2;
                switch ( LA(1) )
                {
                case XOR_SYMBOL:
                	{
                		alt607=1;
                	}
                    break;

                }

                switch (alt607)
                {
            	case 1:
            	    // MySQL.g:1918:55: XOR_SYMBOL ^ logical_and_expression
            	    {
            	        XOR_SYMBOL1959 = (pANTLR3_COMMON_TOKEN) MATCHT(XOR_SYMBOL, &FOLLOW_XOR_SYMBOL_in_logical_xor_expression10408);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelogical_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        XOR_SYMBOL1959_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XOR_SYMBOL1959))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, XOR_SYMBOL1959_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_logical_and_expression_in_logical_xor_expression10411);
            	        logical_and_expression1960=logical_and_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelogical_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_and_expression1960.tree);

            	    }
            	    break;

            	default:
            	    goto loop607;	/* break out of the loop */
            	    break;
                }
            }
            loop607: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulelogical_xor_expressionEx; /* Prevent compiler warnings */
    rulelogical_xor_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logical_xor_expression */

/**
 * $ANTLR start logical_and_expression
 * MySQL.g:1921:1: logical_and_expression : logical_not_expression ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )* ;
 */
static MySQLParser_logical_and_expression_return
logical_and_expression(pMySQLParser ctx)
{
    MySQLParser_logical_and_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1962;
    MySQLParser_logical_not_expression_return logical_not_expression1961;
    #undef	RETURN_TYPE_logical_not_expression1961
    #define	RETURN_TYPE_logical_not_expression1961 MySQLParser_logical_not_expression_return

    MySQLParser_logical_not_expression_return logical_not_expression1963;
    #undef	RETURN_TYPE_logical_not_expression1963
    #define	RETURN_TYPE_logical_not_expression1963 MySQLParser_logical_not_expression_return

    pANTLR3_BASE_TREE set1962_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1962       = NULL;
    logical_not_expression1961.tree = NULL;

    logical_not_expression1963.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1962_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1921:23: ( logical_not_expression ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )* )
        // MySQL.g:1922:2: logical_not_expression ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_logical_not_expression_in_logical_and_expression10422);
            logical_not_expression1961=logical_not_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelogical_and_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_not_expression1961.tree);

            // MySQL.g:1922:25: ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )*

            for (;;)
            {
                int alt608=2;
                switch ( LA(1) )
                {
                case AND_SYMBOL:
                	{
                		alt608=1;
                	}
                    break;
                case LOGICAL_AND_OPERATOR:
                	{
                		alt608=1;
                	}
                    break;

                }

                switch (alt608)
                {
            	case 1:
            	    // MySQL.g:1922:55: ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression
            	    {
            	        set1962=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1962=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == AND_SYMBOL || LA(1) == LOGICAL_AND_OPERATOR )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1962))
            	            , root_0));
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulelogical_and_expressionEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_logical_not_expression_in_logical_and_expression10447);
            	        logical_not_expression1963=logical_not_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelogical_and_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_not_expression1963.tree);

            	    }
            	    break;

            	default:
            	    goto loop608;	/* break out of the loop */
            	    break;
                }
            }
            loop608: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulelogical_and_expressionEx; /* Prevent compiler warnings */
    rulelogical_and_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logical_and_expression */

/**
 * $ANTLR start logical_not_expression
 * MySQL.g:1925:1: logical_not_expression : ( NOT_SYMBOL ^ logical_not_expression | boolean_primary_expression );
 */
static MySQLParser_logical_not_expression_return
logical_not_expression(pMySQLParser ctx)
{
    MySQLParser_logical_not_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NOT_SYMBOL1964;
    MySQLParser_logical_not_expression_return logical_not_expression1965;
    #undef	RETURN_TYPE_logical_not_expression1965
    #define	RETURN_TYPE_logical_not_expression1965 MySQLParser_logical_not_expression_return

    MySQLParser_boolean_primary_expression_return boolean_primary_expression1966;
    #undef	RETURN_TYPE_boolean_primary_expression1966
    #define	RETURN_TYPE_boolean_primary_expression1966 MySQLParser_boolean_primary_expression_return

    pANTLR3_BASE_TREE NOT_SYMBOL1964_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL1964       = NULL;
    logical_not_expression1965.tree = NULL;

    boolean_primary_expression1966.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL1964_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1925:23: ( NOT_SYMBOL ^ logical_not_expression | boolean_primary_expression )

            ANTLR3_UINT32 alt609;

            alt609=2;

            {
                int LA609_0 = LA(1);
                if ( (LA609_0 == NOT_SYMBOL))
                {
                    alt609=1;
                }
                else if ( (LA609_0 == BITWISE_NOT_OPERATOR || LA609_0 == INTERVAL_SYMBOL || LA609_0 == LOGICAL_NOT_OPERATOR || LA609_0 == MINUS_OPERATOR || LA609_0 == NCHAR_TEXT || LA609_0 == NOT2_SYMBOL || LA609_0 == PLUS_OPERATOR || LA609_0 == SINGLE_QUOTED_TEXT || LA609_0 == UNDERSCORE_CHARSET))
                {
                    alt609=2;
                }
                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA609_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt609=2;
                }
                else if ( (LA609_0 == FALSE_SYMBOL || LA609_0 == FLOAT || ((LA609_0 >= HEXNUMBER) && (LA609_0 <= HEXSTRING)) || LA609_0 == INTEGER || LA609_0 == TRUE_SYMBOL))
                {
                    alt609=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA609_0 >= BITNUMBER) && (LA609_0 <= BITSTRING))))
                {
                    alt609=2;
                }
                else if ( (((LA609_0 >= ASCII_SYMBOL) && (LA609_0 <= YEAR_SYMBOL)) || ((LA609_0 >= AT_AT_SIGN_SYMBOL) && (LA609_0 <= AT_TEXT_SUFFIX)) || LA609_0 == BACK_TICK_QUOTED_ID || LA609_0 == BINARY_SYMBOL || ((LA609_0 >= BIT_AND_SYMBOL) && (LA609_0 <= BIT_XOR_SYMBOL)) || ((LA609_0 >= CASE_SYMBOL) && (LA609_0 <= CAST_SYMBOL)) || LA609_0 == CHAR_SYMBOL || ((LA609_0 >= CONVERT_SYMBOL) && (LA609_0 <= COUNT_SYMBOL)) || LA609_0 == CURDATE_SYMBOL || LA609_0 == CURRENT_USER_SYMBOL || LA609_0 == CURTIME_SYMBOL || LA609_0 == DATABASE_SYMBOL || LA609_0 == DATE_ADD_SYMBOL || LA609_0 == DATE_SUB_SYMBOL || LA609_0 == EXISTS_SYMBOL || LA609_0 == EXTRACT_SYMBOL || LA609_0 == GROUP_CONCAT_SYMBOL || ((LA609_0 >= IDENTIFIER) && (LA609_0 <= IF_SYMBOL)) || LA609_0 == INSERT_SYMBOL || LA609_0 == LEFT_SYMBOL || LA609_0 == MATCH_SYMBOL || LA609_0 == MAX_SYMBOL || LA609_0 == MIN_SYMBOL || LA609_0 == MOD_SYMBOL || LA609_0 == NOW_SYMBOL || LA609_0 == NULL2_SYMBOL || LA609_0 == NULL_SYMBOL || ((LA609_0 >= OPEN_CURLY_SYMBOL) && (LA609_0 <= OPEN_PAR_SYMBOL)) || LA609_0 == PARAM_MARKER || LA609_0 == POSITION_SYMBOL || ((LA609_0 >= REPEAT_SYMBOL) && (LA609_0 <= REPLACE_SYMBOL)) || LA609_0 == RIGHT_SYMBOL || LA609_0 == STDDEV_SAMP_SYMBOL || LA609_0 == STD_SYMBOL || LA609_0 == SUBSTRING_SYMBOL || ((LA609_0 >= SUM_SYMBOL) && (LA609_0 <= SYSDATE_SYMBOL)) || LA609_0 == TRIM_SYMBOL || ((LA609_0 >= UTC_DATE_SYMBOL) && (LA609_0 <= UTC_TIME_SYMBOL)) || LA609_0 == VALUES_SYMBOL || LA609_0 == VARIANCE_SYMBOL || LA609_0 == VAR_SAMP_SYMBOL))
                {
                    alt609=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 609;
                    EXCEPTION->state        = 0;


                    goto rulelogical_not_expressionEx;

                }
            }
            switch (alt609)
            {
        	case 1:
        	    // MySQL.g:1926:2: NOT_SYMBOL ^ logical_not_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOT_SYMBOL1964 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_logical_not_expression10458);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogical_not_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOT_SYMBOL1964_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL1964))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, NOT_SYMBOL1964_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_logical_not_expression_in_logical_not_expression10461);
        	        logical_not_expression1965=logical_not_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogical_not_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_not_expression1965.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1927:4: boolean_primary_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_boolean_primary_expression_in_logical_not_expression10466);
        	        boolean_primary_expression1966=boolean_primary_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogical_not_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, boolean_primary_expression1966.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelogical_not_expressionEx; /* Prevent compiler warnings */
    rulelogical_not_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logical_not_expression */

/**
 * $ANTLR start boolean_primary_expression
 * MySQL.g:1930:1: boolean_primary_expression : predicate ( options {greedy=true; } : comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate ) | ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+ )* ;
 */
static MySQLParser_boolean_primary_expression_return
boolean_primary_expression(pMySQLParser ctx)
{
    MySQLParser_boolean_primary_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set1969;
    pANTLR3_COMMON_TOKEN    IS_SYMBOL1972;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL1973;
    pANTLR3_COMMON_TOKEN    FALSE_SYMBOL1975;
    pANTLR3_COMMON_TOKEN    TRUE_SYMBOL1976;
    pANTLR3_COMMON_TOKEN    UNKNOWN_SYMBOL1977;
    MySQLParser_predicate_return predicate1967;
    #undef	RETURN_TYPE_predicate1967
    #define	RETURN_TYPE_predicate1967 MySQLParser_predicate_return

    MySQLParser_comparison_operator_return comparison_operator1968;
    #undef	RETURN_TYPE_comparison_operator1968
    #define	RETURN_TYPE_comparison_operator1968 MySQLParser_comparison_operator_return

    MySQLParser_subquery_return subquery1970;
    #undef	RETURN_TYPE_subquery1970
    #define	RETURN_TYPE_subquery1970 MySQLParser_subquery_return

    MySQLParser_predicate_return predicate1971;
    #undef	RETURN_TYPE_predicate1971
    #define	RETURN_TYPE_predicate1971 MySQLParser_predicate_return

    MySQLParser_null_literal_return null_literal1974;
    #undef	RETURN_TYPE_null_literal1974
    #define	RETURN_TYPE_null_literal1974 MySQLParser_null_literal_return

    pANTLR3_BASE_TREE set1969_tree;
    pANTLR3_BASE_TREE IS_SYMBOL1972_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL1973_tree;
    pANTLR3_BASE_TREE FALSE_SYMBOL1975_tree;
    pANTLR3_BASE_TREE TRUE_SYMBOL1976_tree;
    pANTLR3_BASE_TREE UNKNOWN_SYMBOL1977_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1969       = NULL;
    IS_SYMBOL1972       = NULL;
    NOT_SYMBOL1973       = NULL;
    FALSE_SYMBOL1975       = NULL;
    TRUE_SYMBOL1976       = NULL;
    UNKNOWN_SYMBOL1977       = NULL;
    predicate1967.tree = NULL;

    comparison_operator1968.tree = NULL;

    subquery1970.tree = NULL;

    predicate1971.tree = NULL;

    null_literal1974.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1969_tree   = NULL;
    IS_SYMBOL1972_tree   = NULL;
    NOT_SYMBOL1973_tree   = NULL;
    FALSE_SYMBOL1975_tree   = NULL;
    TRUE_SYMBOL1976_tree   = NULL;
    UNKNOWN_SYMBOL1977_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1930:27: ( predicate ( options {greedy=true; } : comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate ) | ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+ )* )
        // MySQL.g:1931:2: predicate ( options {greedy=true; } : comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate ) | ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+ )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_predicate_in_boolean_primary_expression10475);
            predicate1967=predicate(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleboolean_primary_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate1967.tree);

            // MySQL.g:1932:3: ( options {greedy=true; } : comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate ) | ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+ )*

            for (;;)
            {
                int alt614=3;
                switch ( LA(1) )
                {
                case EQUAL_OPERATOR:
                	{
                		alt614=1;
                	}
                    break;
                case IS_SYMBOL:
                	{
                		alt614=2;
                	}
                    break;
                case GREATER_OR_EQUAL_OPERATOR:
                case GREATER_THAN_OPERATOR:
                case LESS_OR_EQUAL_OPERATOR:
                case LESS_THAN_OPERATOR:
                case NOT_EQUAL2_OPERATOR:
                case NOT_EQUAL_OPERATOR:
                case NULL_SAFE_EQUAL_OPERATOR:
                	{
                		alt614=1;
                	}
                    break;

                }

                switch (alt614)
                {
            	case 1:
            	    // MySQL.g:1933:4: comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate )
            	    {
            	        FOLLOWPUSH(FOLLOW_comparison_operator_in_boolean_primary_expression10497);
            	        comparison_operator1968=comparison_operator(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleboolean_primary_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, comparison_operator1968.tree, root_0));

            	        // MySQL.g:1934:4: ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate )
            	        {
            	            int alt610=2;
            	            {
            	                int LA610_0 = LA(1);
            	                if ( (LA610_0 == ANY_SYMBOL))
            	                {
            	                    {
            	                        int LA610_1 = LA(2);
            	                        if ( (LA610_1 == OPEN_PAR_SYMBOL))
            	                        {
            	                            {
            	                                int LA610_103 = LA(3);
            	                                if ( ((LA(1) == ALL_SYMBOL || LA(1) == ANY_SYMBOL)))
            	                                {
            	                                    alt610=1;
            	                                }
            	                                else if ( (ANTLR3_TRUE))
            	                                {
            	                                    alt610=2;
            	                                }
            	                                else
            	                                {
            	                                    if (BACKTRACKING>0)
            	                                    {
            	                                        FAILEDFLAG = ANTLR3_TRUE;
            	                                        return retval;
            	                                    }


            	                                    CONSTRUCTEX();
            	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                    EXCEPTION->message      = (void *)"";
            	                                    EXCEPTION->decisionNum  = 610;
            	                                    EXCEPTION->state        = 103;


            	                                    goto ruleboolean_primary_expressionEx;

            	                                }
            	                            }
            	                        }
            	                        else if ( (LA610_1 == EOF || ((LA610_1 >= ASCII_SYMBOL) && (LA610_1 <= YEAR_SYMBOL)) || ((LA610_1 >= AND_SYMBOL) && (LA610_1 <= ASC_SYMBOL)) || LA610_1 == AS_SYMBOL || LA610_1 == BACK_TICK_QUOTED_ID || LA610_1 == BETWEEN_SYMBOL || LA610_1 == BITWISE_AND_OPERATOR || ((LA610_1 >= BITWISE_OR_OPERATOR) && (LA610_1 <= BITWISE_XOR_OPERATOR)) || ((LA610_1 >= CLOSE_CURLY_SYMBOL) && (LA610_1 <= COLLATE_SYMBOL)) || LA610_1 == COMMA_SYMBOL || LA610_1 == CONCAT_PIPES_SYMBOL || LA610_1 == CROSS_SYMBOL || ((LA610_1 >= DAY_HOUR_SYMBOL) && (LA610_1 <= DAY_SECOND_SYMBOL)) || LA610_1 == DESC_SYMBOL || ((LA610_1 >= DIV_OPERATOR) && (LA610_1 <= DOT_SYMBOL)) || LA610_1 == DOUBLE_QUOTED_TEXT || LA610_1 == ELSE_SYMBOL || LA610_1 == EQUAL_OPERATOR || ((LA610_1 >= FOR_SYMBOL) && (LA610_1 <= FROM_SYMBOL)) || ((LA610_1 >= GREATER_OR_EQUAL_OPERATOR) && (LA610_1 <= GREATER_THAN_OPERATOR)) || ((LA610_1 >= GROUP_SYMBOL) && (LA610_1 <= HAVING_SYMBOL)) || ((LA610_1 >= HOUR_MICROSECOND_SYMBOL) && (LA610_1 <= IDENTIFIER)) || LA610_1 == INNER_SYMBOL || LA610_1 == INTO_SYMBOL || LA610_1 == IN_SYMBOL || LA610_1 == IS_SYMBOL || LA610_1 == JOIN_SYMBOL || ((LA610_1 >= LEFT_SYMBOL) && (LA610_1 <= LESS_THAN_OPERATOR)) || ((LA610_1 >= LIKE_SYMBOL) && (LA610_1 <= LIMIT_SYMBOL)) || LA610_1 == LOCK_SYMBOL || LA610_1 == LOGICAL_AND_OPERATOR || LA610_1 == LOGICAL_OR_OPERATOR || ((LA610_1 >= MINUS_OPERATOR) && (LA610_1 <= MINUTE_SECOND_SYMBOL)) || ((LA610_1 >= MOD_OPERATOR) && (LA610_1 <= MOD_SYMBOL)) || ((LA610_1 >= MULT_OPERATOR) && (LA610_1 <= NATURAL_SYMBOL)) || ((LA610_1 >= NOT_EQUAL2_OPERATOR) && (LA610_1 <= NOT_SYMBOL)) || LA610_1 == NULL_SAFE_EQUAL_OPERATOR || LA610_1 == ON_SYMBOL || ((LA610_1 >= ORDER_SYMBOL) && (LA610_1 <= OR_SYMBOL)) || LA610_1 == PLUS_OPERATOR || LA610_1 == PROCEDURE_SYMBOL || LA610_1 == REGEXP_SYMBOL || LA610_1 == RENAME_SYMBOL || LA610_1 == RIGHT_SYMBOL || LA610_1 == SECOND_MICROSECOND_SYMBOL || LA610_1 == SEMICOLON_SYMBOL || LA610_1 == SEPARATOR_SYMBOL || LA610_1 == SET_SYMBOL || ((LA610_1 >= SHIFT_LEFT_OPERATOR) && (LA610_1 <= SHIFT_RIGHT_OPERATOR)) || LA610_1 == SINGLE_QUOTED_TEXT || LA610_1 == STRAIGHT_JOIN_SYMBOL || LA610_1 == THEN_SYMBOL || LA610_1 == UNION_SYMBOL || LA610_1 == USING_SYMBOL || ((LA610_1 >= WHEN_SYMBOL) && (LA610_1 <= WHERE_SYMBOL)) || LA610_1 == WITH_SYMBOL || ((LA610_1 >= XOR_SYMBOL) && (LA610_1 <= YEAR_MONTH_SYMBOL))))
            	                        {
            	                            alt610=2;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


            	                            CONSTRUCTEX();
            	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                            EXCEPTION->message      = (void *)"";
            	                            EXCEPTION->decisionNum  = 610;
            	                            EXCEPTION->state        = 1;


            	                            goto ruleboolean_primary_expressionEx;

            	                        }
            	                    }
            	                }
            	                else if ( (LA610_0 == BITWISE_NOT_OPERATOR || LA610_0 == INTERVAL_SYMBOL || LA610_0 == LOGICAL_NOT_OPERATOR || LA610_0 == MINUS_OPERATOR || LA610_0 == NCHAR_TEXT || LA610_0 == NOT2_SYMBOL || LA610_0 == PLUS_OPERATOR || LA610_0 == SINGLE_QUOTED_TEXT || LA610_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt610=2;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA610_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt610=2;
            	                }
            	                else if ( (LA610_0 == FALSE_SYMBOL || LA610_0 == FLOAT || ((LA610_0 >= HEXNUMBER) && (LA610_0 <= HEXSTRING)) || LA610_0 == INTEGER || LA610_0 == TRUE_SYMBOL))
            	                {
            	                    alt610=2;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA610_0 >= BITNUMBER) && (LA610_0 <= BITSTRING))))
            	                {
            	                    alt610=2;
            	                }
            	                else if ( (((LA610_0 >= ASCII_SYMBOL) && (LA610_0 <= ANALYZE_SYMBOL)) || ((LA610_0 >= AT_SYMBOL) && (LA610_0 <= YEAR_SYMBOL)) || ((LA610_0 >= AT_AT_SIGN_SYMBOL) && (LA610_0 <= AT_TEXT_SUFFIX)) || LA610_0 == BACK_TICK_QUOTED_ID || LA610_0 == BINARY_SYMBOL || ((LA610_0 >= BIT_AND_SYMBOL) && (LA610_0 <= BIT_XOR_SYMBOL)) || ((LA610_0 >= CASE_SYMBOL) && (LA610_0 <= CAST_SYMBOL)) || LA610_0 == CHAR_SYMBOL || ((LA610_0 >= CONVERT_SYMBOL) && (LA610_0 <= COUNT_SYMBOL)) || LA610_0 == CURDATE_SYMBOL || LA610_0 == CURRENT_USER_SYMBOL || LA610_0 == CURTIME_SYMBOL || LA610_0 == DATABASE_SYMBOL || LA610_0 == DATE_ADD_SYMBOL || LA610_0 == DATE_SUB_SYMBOL || LA610_0 == EXISTS_SYMBOL || LA610_0 == EXTRACT_SYMBOL || LA610_0 == GROUP_CONCAT_SYMBOL || ((LA610_0 >= IDENTIFIER) && (LA610_0 <= IF_SYMBOL)) || LA610_0 == INSERT_SYMBOL || LA610_0 == LEFT_SYMBOL || LA610_0 == MATCH_SYMBOL || LA610_0 == MAX_SYMBOL || LA610_0 == MIN_SYMBOL || LA610_0 == MOD_SYMBOL || LA610_0 == NOW_SYMBOL || LA610_0 == NULL2_SYMBOL || LA610_0 == NULL_SYMBOL || ((LA610_0 >= OPEN_CURLY_SYMBOL) && (LA610_0 <= OPEN_PAR_SYMBOL)) || LA610_0 == PARAM_MARKER || LA610_0 == POSITION_SYMBOL || ((LA610_0 >= REPEAT_SYMBOL) && (LA610_0 <= REPLACE_SYMBOL)) || LA610_0 == RIGHT_SYMBOL || LA610_0 == STDDEV_SAMP_SYMBOL || LA610_0 == STD_SYMBOL || LA610_0 == SUBSTRING_SYMBOL || ((LA610_0 >= SUM_SYMBOL) && (LA610_0 <= SYSDATE_SYMBOL)) || LA610_0 == TRIM_SYMBOL || ((LA610_0 >= UTC_DATE_SYMBOL) && (LA610_0 <= UTC_TIME_SYMBOL)) || LA610_0 == VALUES_SYMBOL || LA610_0 == VARIANCE_SYMBOL || LA610_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt610=2;
            	                }
            	                else if ( (LA610_0 == ALL_SYMBOL))
            	                {
            	                    alt610=1;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 610;
            	                    EXCEPTION->state        = 0;


            	                    goto ruleboolean_primary_expressionEx;

            	                }
            	            }
            	            switch (alt610)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1935:5: {...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery
            	        	    {
            	        	        if ( !((LA(1) == ALL_SYMBOL || LA(1) == ANY_SYMBOL)) )
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"LA(1) == ALL_SYMBOL || LA(1) == ANY_SYMBOL";
            	        	                EXCEPTION->ruleName	 = (void *)"boolean_primary_expression";


            	        	        }

            	        	        set1969=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        if ( LA(1) == ANY_SYMBOL || LA(1) == ALL_SYMBOL )
            	        	        {
            	        	            CONSUME();
            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1969))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	            CONSTRUCTEX();
            	        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	        	            EXCEPTION->expectingSet = NULL;

            	        	            goto ruleboolean_primary_expressionEx;
            	        	        }


            	        	        FOLLOWPUSH(FOLLOW_subquery_in_boolean_primary_expression10519);
            	        	        subquery1970=subquery(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleboolean_primary_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1970.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1936:7: predicate
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_predicate_in_boolean_primary_expression10527);
            	        	        predicate1971=predicate(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleboolean_primary_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate1971.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1938:9: ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+
            	    {
            	        // MySQL.g:1938:9: ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+
            	        {
            	            int cnt613=0;

            	            for (;;)
            	            {
            	                int alt613=2;
            	        	switch ( LA(1) )
            	        	{
            	        	case IS_SYMBOL:
            	        		{
            	        			alt613=1;
            	        		}
            	        	    break;

            	        	}

            	        	switch (alt613)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:1938:39: IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL )
            	        	        {
            	        	            IS_SYMBOL1972 = (pANTLR3_COMMON_TOKEN) MATCHT(IS_SYMBOL, &FOLLOW_IS_SYMBOL_in_boolean_primary_expression10556);
            	        	            if  (HASEXCEPTION())
            	        	            {
            	        	                goto ruleboolean_primary_expressionEx;
            	        	            }
            	        	            if (HASFAILED())
            	        	            {
            	        	                return retval;
            	        	            }

            	        	            if ( BACKTRACKING==0 ) {
            	        	            IS_SYMBOL1972_tree = 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IS_SYMBOL1972))
            	        	            ;
            	        	            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, IS_SYMBOL1972_tree, root_0));
            	        	            }

            	        	            // MySQL.g:1938:50: ( NOT_SYMBOL )?
            	        	            {
            	        	                int alt611=2;
            	        	                switch ( LA(1) )
            	        	                {
            	        	                    case NOT_SYMBOL:
            	        	                    	{
            	        	                    		alt611=1;
            	        	                    	}
            	        	                        break;
            	        	                }

            	        	                switch (alt611)
            	        	                {
            	        	            	case 1:
            	        	            	    // MySQL.g:1938:50: NOT_SYMBOL
            	        	            	    {
            	        	            	        NOT_SYMBOL1973 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_boolean_primary_expression10559);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        NOT_SYMBOL1973_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL1973));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL1973_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;

            	        	                }
            	        	            }

            	        	            // MySQL.g:1938:62: ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL )
            	        	            {
            	        	                int alt612=4;
            	        	                switch ( LA(1) )
            	        	                {
            	        	                case NULL2_SYMBOL:
            	        	                case NULL_SYMBOL:
            	        	                	{
            	        	                		alt612=1;
            	        	                	}
            	        	                    break;
            	        	                case FALSE_SYMBOL:
            	        	                	{
            	        	                		alt612=2;
            	        	                	}
            	        	                    break;
            	        	                case TRUE_SYMBOL:
            	        	                	{
            	        	                		alt612=3;
            	        	                	}
            	        	                    break;
            	        	                case UNKNOWN_SYMBOL:
            	        	                	{
            	        	                		alt612=4;
            	        	                	}
            	        	                    break;

            	        	                default:
            	        	                    if (BACKTRACKING>0)
            	        	                    {
            	        	                        FAILEDFLAG = ANTLR3_TRUE;
            	        	                        return retval;
            	        	                    }

            	        	                    CONSTRUCTEX();
            	        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                    EXCEPTION->message      = (void *)"";
            	        	                    EXCEPTION->decisionNum  = 612;
            	        	                    EXCEPTION->state        = 0;


            	        	                    goto ruleboolean_primary_expressionEx;

            	        	                }

            	        	                switch (alt612)
            	        	                {
            	        	            	case 1:
            	        	            	    // MySQL.g:1938:64: null_literal
            	        	            	    {
            	        	            	        FOLLOWPUSH(FOLLOW_null_literal_in_boolean_primary_expression10564);
            	        	            	        null_literal1974=null_literal(ctx);

            	        	            	        FOLLOWPOP();
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal1974.tree);

            	        	            	    }
            	        	            	    break;
            	        	            	case 2:
            	        	            	    // MySQL.g:1938:79: FALSE_SYMBOL
            	        	            	    {
            	        	            	        FALSE_SYMBOL1975 = (pANTLR3_COMMON_TOKEN) MATCHT(FALSE_SYMBOL, &FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression10568);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        FALSE_SYMBOL1975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FALSE_SYMBOL1975));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, FALSE_SYMBOL1975_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;
            	        	            	case 3:
            	        	            	    // MySQL.g:1938:94: TRUE_SYMBOL
            	        	            	    {
            	        	            	        TRUE_SYMBOL1976 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUE_SYMBOL, &FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression10572);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        TRUE_SYMBOL1976_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUE_SYMBOL1976));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, TRUE_SYMBOL1976_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;
            	        	            	case 4:
            	        	            	    // MySQL.g:1938:108: UNKNOWN_SYMBOL
            	        	            	    {
            	        	            	        UNKNOWN_SYMBOL1977 = (pANTLR3_COMMON_TOKEN) MATCHT(UNKNOWN_SYMBOL, &FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression10576);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        UNKNOWN_SYMBOL1977_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNKNOWN_SYMBOL1977));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, UNKNOWN_SYMBOL1977_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;

            	        	                }
            	        	            }

            	        	        }
            	        	        break;

            	        	    default:

            	        		if ( cnt613 >= 1 )
            	        		{
            	        		    goto loop613;
            	        		}
            	        		if (BACKTRACKING>0)
            	        		{
            	        		    FAILEDFLAG = ANTLR3_TRUE;
            	        		    return retval;
            	        		}

            	        		/* mismatchedSetEx()
            	        		 */
            	        		CONSTRUCTEX();
            	        		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            	        		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            	        		goto ruleboolean_primary_expressionEx;
            	        	}
            	        	cnt613++;
            	            }
            	            loop613: ;	/* Jump to here if this rule does not match */
            	        }

            	    }
            	    break;

            	default:
            	    goto loop614;	/* break out of the loop */
            	    break;
                }
            }
            loop614: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleboolean_primary_expressionEx; /* Prevent compiler warnings */
    ruleboolean_primary_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end boolean_primary_expression */

/**
 * $ANTLR start predicate
 * MySQL.g:1942:1: predicate : bitwise_or_expression ( options {greedy=true; } : ( NOT_SYMBOL )? ( BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate | LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )? | REGEXP_SYMBOL ^ bitwise_or_expression | IN_SYMBOL predicate_in ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )? ;
 */
static MySQLParser_predicate_return
predicate(pMySQLParser ctx)
{
    MySQLParser_predicate_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NOT_SYMBOL1979;
    pANTLR3_COMMON_TOKEN    BETWEEN_SYMBOL1980;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1982;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL1984;
    pANTLR3_COMMON_TOKEN    ESCAPE_SYMBOL1986;
    pANTLR3_COMMON_TOKEN    REGEXP_SYMBOL1988;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1990;
    pANTLR3_COMMON_TOKEN    SOUNDS_SYMBOL1992;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL1993;
    MySQLParser_bitwise_or_expression_return bitwise_or_expression1978;
    #undef	RETURN_TYPE_bitwise_or_expression1978
    #define	RETURN_TYPE_bitwise_or_expression1978 MySQLParser_bitwise_or_expression_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1981;
    #undef	RETURN_TYPE_bitwise_or_expression1981
    #define	RETURN_TYPE_bitwise_or_expression1981 MySQLParser_bitwise_or_expression_return

    MySQLParser_predicate_return predicate1983;
    #undef	RETURN_TYPE_predicate1983
    #define	RETURN_TYPE_predicate1983 MySQLParser_predicate_return

    MySQLParser_unary_expression_return unary_expression1985;
    #undef	RETURN_TYPE_unary_expression1985
    #define	RETURN_TYPE_unary_expression1985 MySQLParser_unary_expression_return

    MySQLParser_primary_return primary1987;
    #undef	RETURN_TYPE_primary1987
    #define	RETURN_TYPE_primary1987 MySQLParser_primary_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1989;
    #undef	RETURN_TYPE_bitwise_or_expression1989
    #define	RETURN_TYPE_bitwise_or_expression1989 MySQLParser_bitwise_or_expression_return

    MySQLParser_predicate_in_return predicate_in1991;
    #undef	RETURN_TYPE_predicate_in1991
    #define	RETURN_TYPE_predicate_in1991 MySQLParser_predicate_in_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1994;
    #undef	RETURN_TYPE_bitwise_or_expression1994
    #define	RETURN_TYPE_bitwise_or_expression1994 MySQLParser_bitwise_or_expression_return

    pANTLR3_BASE_TREE NOT_SYMBOL1979_tree;
    pANTLR3_BASE_TREE BETWEEN_SYMBOL1980_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1982_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL1984_tree;
    pANTLR3_BASE_TREE ESCAPE_SYMBOL1986_tree;
    pANTLR3_BASE_TREE REGEXP_SYMBOL1988_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1990_tree;
    pANTLR3_BASE_TREE SOUNDS_SYMBOL1992_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL1993_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL1979       = NULL;
    BETWEEN_SYMBOL1980       = NULL;
    AND_SYMBOL1982       = NULL;
    LIKE_SYMBOL1984       = NULL;
    ESCAPE_SYMBOL1986       = NULL;
    REGEXP_SYMBOL1988       = NULL;
    IN_SYMBOL1990       = NULL;
    SOUNDS_SYMBOL1992       = NULL;
    LIKE_SYMBOL1993       = NULL;
    bitwise_or_expression1978.tree = NULL;

    bitwise_or_expression1981.tree = NULL;

    predicate1983.tree = NULL;

    unary_expression1985.tree = NULL;

    primary1987.tree = NULL;

    bitwise_or_expression1989.tree = NULL;

    predicate_in1991.tree = NULL;

    bitwise_or_expression1994.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL1979_tree   = NULL;
    BETWEEN_SYMBOL1980_tree   = NULL;
    AND_SYMBOL1982_tree   = NULL;
    LIKE_SYMBOL1984_tree   = NULL;
    ESCAPE_SYMBOL1986_tree   = NULL;
    REGEXP_SYMBOL1988_tree   = NULL;
    IN_SYMBOL1990_tree   = NULL;
    SOUNDS_SYMBOL1992_tree   = NULL;
    LIKE_SYMBOL1993_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1942:10: ( bitwise_or_expression ( options {greedy=true; } : ( NOT_SYMBOL )? ( BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate | LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )? | REGEXP_SYMBOL ^ bitwise_or_expression | IN_SYMBOL predicate_in ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )? )
        // MySQL.g:1943:2: bitwise_or_expression ( options {greedy=true; } : ( NOT_SYMBOL )? ( BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate | LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )? | REGEXP_SYMBOL ^ bitwise_or_expression | IN_SYMBOL predicate_in ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate10593);
            bitwise_or_expression1978=bitwise_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepredicateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1978.tree);

            // MySQL.g:1944:3: ( options {greedy=true; } : ( NOT_SYMBOL )? ( BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate | LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )? | REGEXP_SYMBOL ^ bitwise_or_expression | IN_SYMBOL predicate_in ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )?
            {
                int alt618=3;
                switch ( LA(1) )
                {
                    case NOT_SYMBOL:
                    	{
                    		alt618=1;
                    	}
                        break;
                    case BETWEEN_SYMBOL:
                    	{
                    		alt618=1;
                    	}
                        break;
                    case LIKE_SYMBOL:
                    	{
                    		alt618=1;
                    	}
                        break;
                    case REGEXP_SYMBOL:
                    	{
                    		alt618=1;
                    	}
                        break;
                    case IN_SYMBOL:
                    	{
                    		alt618=1;
                    	}
                        break;
                    case SOUNDS_SYMBOL:
                    	{
                    		alt618=2;
                    	}
                        break;
                }

                switch (alt618)
                {
            	case 1:
            	    // MySQL.g:1945:4: ( NOT_SYMBOL )? ( BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate | LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )? | REGEXP_SYMBOL ^ bitwise_or_expression | IN_SYMBOL predicate_in )
            	    {
            	        // MySQL.g:1945:4: ( NOT_SYMBOL )?
            	        {
            	            int alt615=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt615=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt615)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1945:4: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL1979 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_predicate10614);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NOT_SYMBOL1979_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL1979));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL1979_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1946:5: ( BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate | LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )? | REGEXP_SYMBOL ^ bitwise_or_expression | IN_SYMBOL predicate_in )
            	        {
            	            int alt617=4;
            	            switch ( LA(1) )
            	            {
            	            case BETWEEN_SYMBOL:
            	            	{
            	            		alt617=1;
            	            	}
            	                break;
            	            case LIKE_SYMBOL:
            	            	{
            	            		alt617=2;
            	            	}
            	                break;
            	            case REGEXP_SYMBOL:
            	            	{
            	            		alt617=3;
            	            	}
            	                break;
            	            case IN_SYMBOL:
            	            	{
            	            		alt617=4;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 617;
            	                EXCEPTION->state        = 0;


            	                goto rulepredicateEx;

            	            }

            	            switch (alt617)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1947:6: BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate
            	        	    {
            	        	        BETWEEN_SYMBOL1980 = (pANTLR3_COMMON_TOKEN) MATCHT(BETWEEN_SYMBOL, &FOLLOW_BETWEEN_SYMBOL_in_predicate10628);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        BETWEEN_SYMBOL1980_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BETWEEN_SYMBOL1980))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BETWEEN_SYMBOL1980_tree, root_0));
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate10631);
            	        	        bitwise_or_expression1981=bitwise_or_expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1981.tree);

            	        	        AND_SYMBOL1982 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_predicate10633);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        AND_SYMBOL1982_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1982));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1982_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_predicate_in_predicate10635);
            	        	        predicate1983=predicate(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate1983.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1948:8: LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )?
            	        	    {
            	        	        LIKE_SYMBOL1984 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_predicate10644);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LIKE_SYMBOL1984_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL1984))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LIKE_SYMBOL1984_tree, root_0));
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_unary_expression_in_predicate10647);
            	        	        unary_expression1985=unary_expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression1985.tree);

            	        	        // MySQL.g:1948:38: ( options {greedy=true; } : ESCAPE_SYMBOL primary )?
            	        	        {
            	        	            int alt616=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case ESCAPE_SYMBOL:
            	        	                	{
            	        	                		alt616=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt616)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1948:68: ESCAPE_SYMBOL primary
            	        	        	    {
            	        	        	        ESCAPE_SYMBOL1986 = (pANTLR3_COMMON_TOKEN) MATCHT(ESCAPE_SYMBOL, &FOLLOW_ESCAPE_SYMBOL_in_predicate10663);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        ESCAPE_SYMBOL1986_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ESCAPE_SYMBOL1986));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ESCAPE_SYMBOL1986_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_primary_in_predicate10665);
            	        	        	        primary1987=primary(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary1987.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:1949:8: REGEXP_SYMBOL ^ bitwise_or_expression
            	        	    {
            	        	        REGEXP_SYMBOL1988 = (pANTLR3_COMMON_TOKEN) MATCHT(REGEXP_SYMBOL, &FOLLOW_REGEXP_SYMBOL_in_predicate10676);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        REGEXP_SYMBOL1988_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REGEXP_SYMBOL1988))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REGEXP_SYMBOL1988_tree, root_0));
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate10679);
            	        	        bitwise_or_expression1989=bitwise_or_expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1989.tree);

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:1950:8: IN_SYMBOL predicate_in
            	        	    {
            	        	        IN_SYMBOL1990 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_predicate10688);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL1990_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1990));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1990_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_predicate_in_in_predicate10690);
            	        	        predicate_in1991=predicate_in(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate_in1991.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1952:9: SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression
            	    {
            	        SOUNDS_SYMBOL1992 = (pANTLR3_COMMON_TOKEN) MATCHT(SOUNDS_SYMBOL, &FOLLOW_SOUNDS_SYMBOL_in_predicate10709);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SOUNDS_SYMBOL1992_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SOUNDS_SYMBOL1992))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SOUNDS_SYMBOL1992_tree, root_0));
            	        }

            	        LIKE_SYMBOL1993 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_predicate10712);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LIKE_SYMBOL1993_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL1993));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL1993_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate10714);
            	        bitwise_or_expression1994=bitwise_or_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1994.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepredicateEx; /* Prevent compiler warnings */
    rulepredicateEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end predicate */

/**
 * $ANTLR start predicate_in
 * MySQL.g:1957:1: predicate_in : ({...}? => subquery | expression_list_with_parentheses );
 */
static MySQLParser_predicate_in_return
predicate_in(pMySQLParser ctx)
{
    MySQLParser_predicate_in_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_subquery_return subquery1995;
    #undef	RETURN_TYPE_subquery1995
    #define	RETURN_TYPE_subquery1995 MySQLParser_subquery_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1996;
    #undef	RETURN_TYPE_expression_list_with_parentheses1996
    #define	RETURN_TYPE_expression_list_with_parentheses1996 MySQLParser_expression_list_with_parentheses_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    subquery1995.tree = NULL;

    expression_list_with_parentheses1996.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1957:13: ({...}? => subquery | expression_list_with_parentheses )

            ANTLR3_UINT32 alt619;

            alt619=2;

            switch ( LA(1) )
            {
            case OPEN_PAR_SYMBOL:
            	{
            		{
            		    int LA619_1 = LA(2);
            		    if ( ((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)) && (LA619_1 == SELECT_SYMBOL))
            		    {
            		        alt619=1;
            		    }
            		    else if ( (LA619_1 == OPEN_PAR_SYMBOL))
            		    {
            		        {
            		            int LA619_3 = LA(3);
            		            if ( ((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)))
            		            {
            		                alt619=1;
            		            }
            		            else if ( (ANTLR3_TRUE))
            		            {
            		                alt619=2;
            		            }
            		            else
            		            {
            		                if (BACKTRACKING>0)
            		                {
            		                    FAILEDFLAG = ANTLR3_TRUE;
            		                    return retval;
            		                }


            		                CONSTRUCTEX();
            		                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		                EXCEPTION->message      = (void *)"";
            		                EXCEPTION->decisionNum  = 619;
            		                EXCEPTION->state        = 3;


            		                goto rulepredicate_inEx;

            		            }
            		        }
            		    }
            		    else if ( (((LA619_1 >= ASCII_SYMBOL) && (LA619_1 <= YEAR_SYMBOL)) || ((LA619_1 >= AT_AT_SIGN_SYMBOL) && (LA619_1 <= AT_TEXT_SUFFIX)) || LA619_1 == BACK_TICK_QUOTED_ID || LA619_1 == BINARY_SYMBOL || ((LA619_1 >= BITNUMBER) && (LA619_1 <= BITSTRING)) || LA619_1 == BITWISE_NOT_OPERATOR || ((LA619_1 >= BIT_AND_SYMBOL) && (LA619_1 <= BIT_XOR_SYMBOL)) || ((LA619_1 >= CASE_SYMBOL) && (LA619_1 <= CAST_SYMBOL)) || LA619_1 == CHAR_SYMBOL || ((LA619_1 >= CONVERT_SYMBOL) && (LA619_1 <= COUNT_SYMBOL)) || LA619_1 == CURDATE_SYMBOL || LA619_1 == CURRENT_USER_SYMBOL || LA619_1 == CURTIME_SYMBOL || LA619_1 == DATABASE_SYMBOL || LA619_1 == DATE_ADD_SYMBOL || LA619_1 == DATE_SUB_SYMBOL || LA619_1 == DOUBLE_QUOTED_TEXT || LA619_1 == EXISTS_SYMBOL || ((LA619_1 >= EXTRACT_SYMBOL) && (LA619_1 <= FALSE_SYMBOL)) || LA619_1 == FLOAT || LA619_1 == GROUP_CONCAT_SYMBOL || ((LA619_1 >= HEXNUMBER) && (LA619_1 <= HEXSTRING)) || ((LA619_1 >= IDENTIFIER) && (LA619_1 <= IF_SYMBOL)) || LA619_1 == INSERT_SYMBOL || LA619_1 == INTEGER || LA619_1 == INTERVAL_SYMBOL || LA619_1 == LEFT_SYMBOL || LA619_1 == LOGICAL_NOT_OPERATOR || LA619_1 == MATCH_SYMBOL || LA619_1 == MAX_SYMBOL || LA619_1 == MINUS_OPERATOR || LA619_1 == MIN_SYMBOL || LA619_1 == MOD_SYMBOL || LA619_1 == NCHAR_TEXT || LA619_1 == NOT2_SYMBOL || ((LA619_1 >= NOT_SYMBOL) && (LA619_1 <= NOW_SYMBOL)) || LA619_1 == NULL2_SYMBOL || LA619_1 == NULL_SYMBOL || LA619_1 == OPEN_CURLY_SYMBOL || LA619_1 == PARAM_MARKER || ((LA619_1 >= PLUS_OPERATOR) && (LA619_1 <= POSITION_SYMBOL)) || ((LA619_1 >= REPEAT_SYMBOL) && (LA619_1 <= REPLACE_SYMBOL)) || LA619_1 == RIGHT_SYMBOL || LA619_1 == SINGLE_QUOTED_TEXT || LA619_1 == STDDEV_SAMP_SYMBOL || LA619_1 == STD_SYMBOL || LA619_1 == SUBSTRING_SYMBOL || ((LA619_1 >= SUM_SYMBOL) && (LA619_1 <= SYSDATE_SYMBOL)) || ((LA619_1 >= TRIM_SYMBOL) && (LA619_1 <= TRUE_SYMBOL)) || LA619_1 == UNDERSCORE_CHARSET || ((LA619_1 >= UTC_DATE_SYMBOL) && (LA619_1 <= UTC_TIME_SYMBOL)) || LA619_1 == VALUES_SYMBOL || LA619_1 == VARIANCE_SYMBOL || LA619_1 == VAR_SAMP_SYMBOL))
            		    {
            		        alt619=2;
            		    }
            		    else
            		    {
            		        if (BACKTRACKING>0)
            		        {
            		            FAILEDFLAG = ANTLR3_TRUE;
            		            return retval;
            		        }


            		        CONSTRUCTEX();
            		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		        EXCEPTION->message      = (void *)"";
            		        EXCEPTION->decisionNum  = 619;
            		        EXCEPTION->state        = 1;


            		        goto rulepredicate_inEx;

            		    }
            		}
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 619;
                EXCEPTION->state        = 0;


                goto rulepredicate_inEx;

            }

            switch (alt619)
            {
        	case 1:
        	    // MySQL.g:1958:2: {...}? => subquery
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"predicate_in";


        	        }

        	        FOLLOWPUSH(FOLLOW_subquery_in_predicate_in10733);
        	        subquery1995=subquery(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepredicate_inEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1995.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1959:4: expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_predicate_in10738);
        	        expression_list_with_parentheses1996=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepredicate_inEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses1996.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulepredicate_inEx; /* Prevent compiler warnings */
    rulepredicate_inEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end predicate_in */

/**
 * $ANTLR start bitwise_or_expression
 * MySQL.g:1962:1: bitwise_or_expression : bitwise_and_expression ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )* ;
 */
static MySQLParser_bitwise_or_expression_return
bitwise_or_expression(pMySQLParser ctx)
{
    MySQLParser_bitwise_or_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BITWISE_OR_OPERATOR1998;
    MySQLParser_bitwise_and_expression_return bitwise_and_expression1997;
    #undef	RETURN_TYPE_bitwise_and_expression1997
    #define	RETURN_TYPE_bitwise_and_expression1997 MySQLParser_bitwise_and_expression_return

    MySQLParser_bitwise_and_expression_return bitwise_and_expression1999;
    #undef	RETURN_TYPE_bitwise_and_expression1999
    #define	RETURN_TYPE_bitwise_and_expression1999 MySQLParser_bitwise_and_expression_return

    pANTLR3_BASE_TREE BITWISE_OR_OPERATOR1998_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_OR_OPERATOR1998       = NULL;
    bitwise_and_expression1997.tree = NULL;

    bitwise_and_expression1999.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BITWISE_OR_OPERATOR1998_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1962:22: ( bitwise_and_expression ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )* )
        // MySQL.g:1963:2: bitwise_and_expression ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_bitwise_and_expression_in_bitwise_or_expression10747);
            bitwise_and_expression1997=bitwise_and_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebitwise_or_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_and_expression1997.tree);

            // MySQL.g:1963:25: ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )*

            for (;;)
            {
                int alt620=2;
                switch ( LA(1) )
                {
                case BITWISE_OR_OPERATOR:
                	{
                		alt620=1;
                	}
                    break;

                }

                switch (alt620)
                {
            	case 1:
            	    // MySQL.g:1963:55: BITWISE_OR_OPERATOR ^ bitwise_and_expression
            	    {
            	        BITWISE_OR_OPERATOR1998 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_OR_OPERATOR, &FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression10763);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_or_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BITWISE_OR_OPERATOR1998_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BITWISE_OR_OPERATOR1998))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BITWISE_OR_OPERATOR1998_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_bitwise_and_expression_in_bitwise_or_expression10766);
            	        bitwise_and_expression1999=bitwise_and_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_or_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_and_expression1999.tree);

            	    }
            	    break;

            	default:
            	    goto loop620;	/* break out of the loop */
            	    break;
                }
            }
            loop620: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulebitwise_or_expressionEx; /* Prevent compiler warnings */
    rulebitwise_or_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end bitwise_or_expression */

/**
 * $ANTLR start bitwise_and_expression
 * MySQL.g:1966:1: bitwise_and_expression : shift_expression ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )* ;
 */
static MySQLParser_bitwise_and_expression_return
bitwise_and_expression(pMySQLParser ctx)
{
    MySQLParser_bitwise_and_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BITWISE_AND_OPERATOR2001;
    MySQLParser_shift_expression_return shift_expression2000;
    #undef	RETURN_TYPE_shift_expression2000
    #define	RETURN_TYPE_shift_expression2000 MySQLParser_shift_expression_return

    MySQLParser_shift_expression_return shift_expression2002;
    #undef	RETURN_TYPE_shift_expression2002
    #define	RETURN_TYPE_shift_expression2002 MySQLParser_shift_expression_return

    pANTLR3_BASE_TREE BITWISE_AND_OPERATOR2001_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_AND_OPERATOR2001       = NULL;
    shift_expression2000.tree = NULL;

    shift_expression2002.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BITWISE_AND_OPERATOR2001_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1966:23: ( shift_expression ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )* )
        // MySQL.g:1967:2: shift_expression ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_shift_expression_in_bitwise_and_expression10777);
            shift_expression2000=shift_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebitwise_and_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, shift_expression2000.tree);

            // MySQL.g:1967:19: ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )*

            for (;;)
            {
                int alt621=2;
                switch ( LA(1) )
                {
                case BITWISE_AND_OPERATOR:
                	{
                		alt621=1;
                	}
                    break;

                }

                switch (alt621)
                {
            	case 1:
            	    // MySQL.g:1967:49: BITWISE_AND_OPERATOR ^ shift_expression
            	    {
            	        BITWISE_AND_OPERATOR2001 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_AND_OPERATOR, &FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression10793);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_and_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BITWISE_AND_OPERATOR2001_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BITWISE_AND_OPERATOR2001))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BITWISE_AND_OPERATOR2001_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_shift_expression_in_bitwise_and_expression10796);
            	        shift_expression2002=shift_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_and_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, shift_expression2002.tree);

            	    }
            	    break;

            	default:
            	    goto loop621;	/* break out of the loop */
            	    break;
                }
            }
            loop621: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulebitwise_and_expressionEx; /* Prevent compiler warnings */
    rulebitwise_and_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end bitwise_and_expression */

/**
 * $ANTLR start shift_expression
 * MySQL.g:1970:1: shift_expression : additive_expression ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )* ;
 */
static MySQLParser_shift_expression_return
shift_expression(pMySQLParser ctx)
{
    MySQLParser_shift_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2004;
    MySQLParser_additive_expression_return additive_expression2003;
    #undef	RETURN_TYPE_additive_expression2003
    #define	RETURN_TYPE_additive_expression2003 MySQLParser_additive_expression_return

    MySQLParser_additive_expression_return additive_expression2005;
    #undef	RETURN_TYPE_additive_expression2005
    #define	RETURN_TYPE_additive_expression2005 MySQLParser_additive_expression_return

    pANTLR3_BASE_TREE set2004_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2004       = NULL;
    additive_expression2003.tree = NULL;

    additive_expression2005.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2004_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1970:17: ( additive_expression ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )* )
        // MySQL.g:1971:2: additive_expression ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_additive_expression_in_shift_expression10807);
            additive_expression2003=additive_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleshift_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, additive_expression2003.tree);

            // MySQL.g:1971:22: ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )*

            for (;;)
            {
                int alt622=2;
                switch ( LA(1) )
                {
                case SHIFT_LEFT_OPERATOR:
                case SHIFT_RIGHT_OPERATOR:
                	{
                		alt622=1;
                	}
                    break;

                }

                switch (alt622)
                {
            	case 1:
            	    // MySQL.g:1971:52: ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression
            	    {
            	        set2004=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set2004=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( ((LA(1) >= SHIFT_LEFT_OPERATOR) && (LA(1) <= SHIFT_RIGHT_OPERATOR)) )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2004))
            	            , root_0));
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleshift_expressionEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_additive_expression_in_shift_expression10832);
            	        additive_expression2005=additive_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshift_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, additive_expression2005.tree);

            	    }
            	    break;

            	default:
            	    goto loop622;	/* break out of the loop */
            	    break;
                }
            }
            loop622: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleshift_expressionEx; /* Prevent compiler warnings */
    ruleshift_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end shift_expression */

/**
 * $ANTLR start additive_expression
 * MySQL.g:1974:1: additive_expression : multiplicative_expression ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )* ;
 */
static MySQLParser_additive_expression_return
additive_expression(pMySQLParser ctx)
{
    MySQLParser_additive_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2007;
    MySQLParser_multiplicative_expression_return multiplicative_expression2006;
    #undef	RETURN_TYPE_multiplicative_expression2006
    #define	RETURN_TYPE_multiplicative_expression2006 MySQLParser_multiplicative_expression_return

    MySQLParser_multiplicative_expression_return multiplicative_expression2008;
    #undef	RETURN_TYPE_multiplicative_expression2008
    #define	RETURN_TYPE_multiplicative_expression2008 MySQLParser_multiplicative_expression_return

    pANTLR3_BASE_TREE set2007_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2007       = NULL;
    multiplicative_expression2006.tree = NULL;

    multiplicative_expression2008.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2007_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1974:20: ( multiplicative_expression ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )* )
        // MySQL.g:1975:2: multiplicative_expression ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_multiplicative_expression_in_additive_expression10843);
            multiplicative_expression2006=multiplicative_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleadditive_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, multiplicative_expression2006.tree);

            // MySQL.g:1975:28: ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )*

            for (;;)
            {
                int alt623=2;
                switch ( LA(1) )
                {
                case MINUS_OPERATOR:
                case PLUS_OPERATOR:
                	{
                		alt623=1;
                	}
                    break;

                }

                switch (alt623)
                {
            	case 1:
            	    // MySQL.g:1975:57: ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression
            	    {
            	        set2007=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set2007=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == MINUS_OPERATOR || LA(1) == PLUS_OPERATOR )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2007))
            	            , root_0));
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleadditive_expressionEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_multiplicative_expression_in_additive_expression10868);
            	        multiplicative_expression2008=multiplicative_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleadditive_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, multiplicative_expression2008.tree);

            	    }
            	    break;

            	default:
            	    goto loop623;	/* break out of the loop */
            	    break;
                }
            }
            loop623: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleadditive_expressionEx; /* Prevent compiler warnings */
    ruleadditive_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end additive_expression */

/**
 * $ANTLR start multiplicative_expression
 * MySQL.g:1978:1: multiplicative_expression : bitwise_xor_expression ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )* ;
 */
static MySQLParser_multiplicative_expression_return
multiplicative_expression(pMySQLParser ctx)
{
    MySQLParser_multiplicative_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_bitwise_xor_expression_return bitwise_xor_expression2009;
    #undef	RETURN_TYPE_bitwise_xor_expression2009
    #define	RETURN_TYPE_bitwise_xor_expression2009 MySQLParser_bitwise_xor_expression_return

    MySQLParser_multiplication_operator_return multiplication_operator2010;
    #undef	RETURN_TYPE_multiplication_operator2010
    #define	RETURN_TYPE_multiplication_operator2010 MySQLParser_multiplication_operator_return

    MySQLParser_bitwise_xor_expression_return bitwise_xor_expression2011;
    #undef	RETURN_TYPE_bitwise_xor_expression2011
    #define	RETURN_TYPE_bitwise_xor_expression2011 MySQLParser_bitwise_xor_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    bitwise_xor_expression2009.tree = NULL;

    multiplication_operator2010.tree = NULL;

    bitwise_xor_expression2011.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1978:26: ( bitwise_xor_expression ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )* )
        // MySQL.g:1979:2: bitwise_xor_expression ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_bitwise_xor_expression_in_multiplicative_expression10879);
            bitwise_xor_expression2009=bitwise_xor_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulemultiplicative_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_xor_expression2009.tree);

            // MySQL.g:1979:25: ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )*

            for (;;)
            {
                int alt624=2;
                switch ( LA(1) )
                {
                case DIV_OPERATOR:
                case DIV_SYMBOL:
                case MOD_OPERATOR:
                case MOD_SYMBOL:
                case MULT_OPERATOR:
                	{
                		alt624=1;
                	}
                    break;

                }

                switch (alt624)
                {
            	case 1:
            	    // MySQL.g:1979:55: multiplication_operator ^ bitwise_xor_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_multiplication_operator_in_multiplicative_expression10895);
            	        multiplication_operator2010=multiplication_operator(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulemultiplicative_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, multiplication_operator2010.tree, root_0));

            	        FOLLOWPUSH(FOLLOW_bitwise_xor_expression_in_multiplicative_expression10898);
            	        bitwise_xor_expression2011=bitwise_xor_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulemultiplicative_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_xor_expression2011.tree);

            	    }
            	    break;

            	default:
            	    goto loop624;	/* break out of the loop */
            	    break;
                }
            }
            loop624: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulemultiplicative_expressionEx; /* Prevent compiler warnings */
    rulemultiplicative_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end multiplicative_expression */

/**
 * $ANTLR start bitwise_xor_expression
 * MySQL.g:1982:1: bitwise_xor_expression : concat_expression ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )* ;
 */
static MySQLParser_bitwise_xor_expression_return
bitwise_xor_expression(pMySQLParser ctx)
{
    MySQLParser_bitwise_xor_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BITWISE_XOR_OPERATOR2013;
    MySQLParser_concat_expression_return concat_expression2012;
    #undef	RETURN_TYPE_concat_expression2012
    #define	RETURN_TYPE_concat_expression2012 MySQLParser_concat_expression_return

    MySQLParser_concat_expression_return concat_expression2014;
    #undef	RETURN_TYPE_concat_expression2014
    #define	RETURN_TYPE_concat_expression2014 MySQLParser_concat_expression_return

    pANTLR3_BASE_TREE BITWISE_XOR_OPERATOR2013_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_XOR_OPERATOR2013       = NULL;
    concat_expression2012.tree = NULL;

    concat_expression2014.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BITWISE_XOR_OPERATOR2013_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1982:23: ( concat_expression ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )* )
        // MySQL.g:1983:2: concat_expression ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_concat_expression_in_bitwise_xor_expression10909);
            concat_expression2012=concat_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebitwise_xor_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, concat_expression2012.tree);

            // MySQL.g:1983:20: ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )*

            for (;;)
            {
                int alt625=2;
                switch ( LA(1) )
                {
                case BITWISE_XOR_OPERATOR:
                	{
                		alt625=1;
                	}
                    break;

                }

                switch (alt625)
                {
            	case 1:
            	    // MySQL.g:1983:50: BITWISE_XOR_OPERATOR ^ concat_expression
            	    {
            	        BITWISE_XOR_OPERATOR2013 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_XOR_OPERATOR, &FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression10925);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BITWISE_XOR_OPERATOR2013_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BITWISE_XOR_OPERATOR2013))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BITWISE_XOR_OPERATOR2013_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_concat_expression_in_bitwise_xor_expression10928);
            	        concat_expression2014=concat_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, concat_expression2014.tree);

            	    }
            	    break;

            	default:
            	    goto loop625;	/* break out of the loop */
            	    break;
                }
            }
            loop625: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulebitwise_xor_expressionEx; /* Prevent compiler warnings */
    rulebitwise_xor_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end bitwise_xor_expression */

/**
 * $ANTLR start concat_expression
 * MySQL.g:1987:1: concat_expression : unary_expression ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )* ;
 */
static MySQLParser_concat_expression_return
concat_expression(pMySQLParser ctx)
{
    MySQLParser_concat_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CONCAT_PIPES_SYMBOL2016;
    MySQLParser_unary_expression_return unary_expression2015;
    #undef	RETURN_TYPE_unary_expression2015
    #define	RETURN_TYPE_unary_expression2015 MySQLParser_unary_expression_return

    MySQLParser_unary_expression_return unary_expression2017;
    #undef	RETURN_TYPE_unary_expression2017
    #define	RETURN_TYPE_unary_expression2017 MySQLParser_unary_expression_return

    pANTLR3_BASE_TREE CONCAT_PIPES_SYMBOL2016_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONCAT_PIPES_SYMBOL2016       = NULL;
    unary_expression2015.tree = NULL;

    unary_expression2017.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONCAT_PIPES_SYMBOL2016_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1987:18: ( unary_expression ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )* )
        // MySQL.g:1988:2: unary_expression ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_unary_expression_in_concat_expression10940);
            unary_expression2015=unary_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleconcat_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression2015.tree);

            // MySQL.g:1988:19: ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )*

            for (;;)
            {
                int alt626=2;
                switch ( LA(1) )
                {
                case CONCAT_PIPES_SYMBOL:
                	{
                		alt626=1;
                	}
                    break;

                }

                switch (alt626)
                {
            	case 1:
            	    // MySQL.g:1988:49: CONCAT_PIPES_SYMBOL ^ unary_expression
            	    {
            	        CONCAT_PIPES_SYMBOL2016 = (pANTLR3_COMMON_TOKEN) MATCHT(CONCAT_PIPES_SYMBOL, &FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression10956);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleconcat_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONCAT_PIPES_SYMBOL2016_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONCAT_PIPES_SYMBOL2016))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CONCAT_PIPES_SYMBOL2016_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_unary_expression_in_concat_expression10959);
            	        unary_expression2017=unary_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleconcat_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression2017.tree);

            	    }
            	    break;

            	default:
            	    goto loop626;	/* break out of the loop */
            	    break;
                }
            }
            loop626: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleconcat_expressionEx; /* Prevent compiler warnings */
    ruleconcat_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end concat_expression */

/**
 * $ANTLR start unary_expression
 * MySQL.g:1991:1: unary_expression : ( ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) unary_expression | not_expression );
 */
static MySQLParser_unary_expression_return
unary_expression(pMySQLParser ctx)
{
    MySQLParser_unary_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2018;
    MySQLParser_unary_expression_return unary_expression2019;
    #undef	RETURN_TYPE_unary_expression2019
    #define	RETURN_TYPE_unary_expression2019 MySQLParser_unary_expression_return

    MySQLParser_not_expression_return not_expression2020;
    #undef	RETURN_TYPE_not_expression2020
    #define	RETURN_TYPE_not_expression2020 MySQLParser_not_expression_return

    pANTLR3_BASE_TREE set2018_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2018       = NULL;
    unary_expression2019.tree = NULL;

    not_expression2020.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2018_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1991:17: ( ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) unary_expression | not_expression )

            ANTLR3_UINT32 alt627;

            alt627=2;

            {
                int LA627_0 = LA(1);
                if ( (LA627_0 == BITWISE_NOT_OPERATOR || LA627_0 == MINUS_OPERATOR || LA627_0 == PLUS_OPERATOR))
                {
                    alt627=1;
                }
                else if ( (LA627_0 == INTERVAL_SYMBOL || LA627_0 == LOGICAL_NOT_OPERATOR || LA627_0 == NCHAR_TEXT || LA627_0 == NOT2_SYMBOL || LA627_0 == SINGLE_QUOTED_TEXT || LA627_0 == UNDERSCORE_CHARSET))
                {
                    alt627=2;
                }
                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA627_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt627=2;
                }
                else if ( (LA627_0 == FALSE_SYMBOL || LA627_0 == FLOAT || ((LA627_0 >= HEXNUMBER) && (LA627_0 <= HEXSTRING)) || LA627_0 == INTEGER || LA627_0 == TRUE_SYMBOL))
                {
                    alt627=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA627_0 >= BITNUMBER) && (LA627_0 <= BITSTRING))))
                {
                    alt627=2;
                }
                else if ( (((LA627_0 >= ASCII_SYMBOL) && (LA627_0 <= YEAR_SYMBOL)) || ((LA627_0 >= AT_AT_SIGN_SYMBOL) && (LA627_0 <= AT_TEXT_SUFFIX)) || LA627_0 == BACK_TICK_QUOTED_ID || LA627_0 == BINARY_SYMBOL || ((LA627_0 >= BIT_AND_SYMBOL) && (LA627_0 <= BIT_XOR_SYMBOL)) || ((LA627_0 >= CASE_SYMBOL) && (LA627_0 <= CAST_SYMBOL)) || LA627_0 == CHAR_SYMBOL || ((LA627_0 >= CONVERT_SYMBOL) && (LA627_0 <= COUNT_SYMBOL)) || LA627_0 == CURDATE_SYMBOL || LA627_0 == CURRENT_USER_SYMBOL || LA627_0 == CURTIME_SYMBOL || LA627_0 == DATABASE_SYMBOL || LA627_0 == DATE_ADD_SYMBOL || LA627_0 == DATE_SUB_SYMBOL || LA627_0 == EXISTS_SYMBOL || LA627_0 == EXTRACT_SYMBOL || LA627_0 == GROUP_CONCAT_SYMBOL || ((LA627_0 >= IDENTIFIER) && (LA627_0 <= IF_SYMBOL)) || LA627_0 == INSERT_SYMBOL || LA627_0 == LEFT_SYMBOL || LA627_0 == MATCH_SYMBOL || LA627_0 == MAX_SYMBOL || LA627_0 == MIN_SYMBOL || LA627_0 == MOD_SYMBOL || LA627_0 == NOW_SYMBOL || LA627_0 == NULL2_SYMBOL || LA627_0 == NULL_SYMBOL || ((LA627_0 >= OPEN_CURLY_SYMBOL) && (LA627_0 <= OPEN_PAR_SYMBOL)) || LA627_0 == PARAM_MARKER || LA627_0 == POSITION_SYMBOL || ((LA627_0 >= REPEAT_SYMBOL) && (LA627_0 <= REPLACE_SYMBOL)) || LA627_0 == RIGHT_SYMBOL || LA627_0 == STDDEV_SAMP_SYMBOL || LA627_0 == STD_SYMBOL || LA627_0 == SUBSTRING_SYMBOL || ((LA627_0 >= SUM_SYMBOL) && (LA627_0 <= SYSDATE_SYMBOL)) || LA627_0 == TRIM_SYMBOL || ((LA627_0 >= UTC_DATE_SYMBOL) && (LA627_0 <= UTC_TIME_SYMBOL)) || LA627_0 == VALUES_SYMBOL || LA627_0 == VARIANCE_SYMBOL || LA627_0 == VAR_SAMP_SYMBOL))
                {
                    alt627=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 627;
                    EXCEPTION->state        = 0;


                    goto ruleunary_expressionEx;

                }
            }
            switch (alt627)
            {
        	case 1:
        	    // MySQL.g:1992:2: ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) unary_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2018=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == BITWISE_NOT_OPERATOR || LA(1) == MINUS_OPERATOR || LA(1) == PLUS_OPERATOR )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2018))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleunary_expressionEx;
        	        }


        	        FOLLOWPUSH(FOLLOW_unary_expression_in_unary_expression10982);
        	        unary_expression2019=unary_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunary_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression2019.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1993:4: not_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_not_expression_in_unary_expression10987);
        	        not_expression2020=not_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunary_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, not_expression2020.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleunary_expressionEx; /* Prevent compiler warnings */
    ruleunary_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end unary_expression */

/**
 * $ANTLR start not_expression
 * MySQL.g:1996:1: not_expression : ( not2_rule )? interval_expression ;
 */
static MySQLParser_not_expression_return
not_expression(pMySQLParser ctx)
{
    MySQLParser_not_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_not2_rule_return not2_rule2021;
    #undef	RETURN_TYPE_not2_rule2021
    #define	RETURN_TYPE_not2_rule2021 MySQLParser_not2_rule_return

    MySQLParser_interval_expression_return interval_expression2022;
    #undef	RETURN_TYPE_interval_expression2022
    #define	RETURN_TYPE_interval_expression2022 MySQLParser_interval_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    not2_rule2021.tree = NULL;

    interval_expression2022.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1996:15: ( ( not2_rule )? interval_expression )
        // MySQL.g:1997:2: ( not2_rule )? interval_expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1997:2: ( not2_rule )?
            {
                int alt628=2;
                switch ( LA(1) )
                {
                    case LOGICAL_NOT_OPERATOR:
                    case NOT2_SYMBOL:
                    	{
                    		alt628=1;
                    	}
                        break;
                }

                switch (alt628)
                {
            	case 1:
            	    // MySQL.g:1997:2: not2_rule
            	    {
            	        FOLLOWPUSH(FOLLOW_not2_rule_in_not_expression10996);
            	        not2_rule2021=not2_rule(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulenot_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, not2_rule2021.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_interval_expression_in_not_expression10999);
            interval_expression2022=interval_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulenot_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_expression2022.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulenot_expressionEx; /* Prevent compiler warnings */
    rulenot_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end not_expression */

/**
 * $ANTLR start interval_expression
 * MySQL.g:2000:1: interval_expression : ( INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span ) | primary );
 */
static MySQLParser_interval_expression_return
interval_expression(pMySQLParser ctx)
{
    MySQLParser_interval_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTERVAL_SYMBOL2023;
    MySQLParser_interval_function_return interval_function2024;
    #undef	RETURN_TYPE_interval_function2024
    #define	RETURN_TYPE_interval_function2024 MySQLParser_interval_function_return

    MySQLParser_interval_time_span_return interval_time_span2025;
    #undef	RETURN_TYPE_interval_time_span2025
    #define	RETURN_TYPE_interval_time_span2025 MySQLParser_interval_time_span_return

    MySQLParser_primary_return primary2026;
    #undef	RETURN_TYPE_primary2026
    #define	RETURN_TYPE_primary2026 MySQLParser_primary_return

    pANTLR3_BASE_TREE INTERVAL_SYMBOL2023_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTERVAL_SYMBOL2023       = NULL;
    interval_function2024.tree = NULL;

    interval_time_span2025.tree = NULL;

    primary2026.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTERVAL_SYMBOL2023_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2000:20: ( INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span ) | primary )

            ANTLR3_UINT32 alt630;

            alt630=2;

            {
                int LA630_0 = LA(1);
                if ( (LA630_0 == INTERVAL_SYMBOL))
                {
                    alt630=1;
                }
                else if ( (LA630_0 == NCHAR_TEXT || LA630_0 == SINGLE_QUOTED_TEXT || LA630_0 == UNDERSCORE_CHARSET))
                {
                    alt630=2;
                }
                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA630_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt630=2;
                }
                else if ( (LA630_0 == FALSE_SYMBOL || LA630_0 == FLOAT || ((LA630_0 >= HEXNUMBER) && (LA630_0 <= HEXSTRING)) || LA630_0 == INTEGER || LA630_0 == TRUE_SYMBOL))
                {
                    alt630=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA630_0 >= BITNUMBER) && (LA630_0 <= BITSTRING))))
                {
                    alt630=2;
                }
                else if ( (((LA630_0 >= ASCII_SYMBOL) && (LA630_0 <= YEAR_SYMBOL)) || ((LA630_0 >= AT_AT_SIGN_SYMBOL) && (LA630_0 <= AT_TEXT_SUFFIX)) || LA630_0 == BACK_TICK_QUOTED_ID || LA630_0 == BINARY_SYMBOL || ((LA630_0 >= BIT_AND_SYMBOL) && (LA630_0 <= BIT_XOR_SYMBOL)) || ((LA630_0 >= CASE_SYMBOL) && (LA630_0 <= CAST_SYMBOL)) || LA630_0 == CHAR_SYMBOL || ((LA630_0 >= CONVERT_SYMBOL) && (LA630_0 <= COUNT_SYMBOL)) || LA630_0 == CURDATE_SYMBOL || LA630_0 == CURRENT_USER_SYMBOL || LA630_0 == CURTIME_SYMBOL || LA630_0 == DATABASE_SYMBOL || LA630_0 == DATE_ADD_SYMBOL || LA630_0 == DATE_SUB_SYMBOL || LA630_0 == EXISTS_SYMBOL || LA630_0 == EXTRACT_SYMBOL || LA630_0 == GROUP_CONCAT_SYMBOL || ((LA630_0 >= IDENTIFIER) && (LA630_0 <= IF_SYMBOL)) || LA630_0 == INSERT_SYMBOL || LA630_0 == LEFT_SYMBOL || LA630_0 == MATCH_SYMBOL || LA630_0 == MAX_SYMBOL || LA630_0 == MIN_SYMBOL || LA630_0 == MOD_SYMBOL || LA630_0 == NOW_SYMBOL || LA630_0 == NULL2_SYMBOL || LA630_0 == NULL_SYMBOL || ((LA630_0 >= OPEN_CURLY_SYMBOL) && (LA630_0 <= OPEN_PAR_SYMBOL)) || LA630_0 == PARAM_MARKER || LA630_0 == POSITION_SYMBOL || ((LA630_0 >= REPEAT_SYMBOL) && (LA630_0 <= REPLACE_SYMBOL)) || LA630_0 == RIGHT_SYMBOL || LA630_0 == STDDEV_SAMP_SYMBOL || LA630_0 == STD_SYMBOL || LA630_0 == SUBSTRING_SYMBOL || ((LA630_0 >= SUM_SYMBOL) && (LA630_0 <= SYSDATE_SYMBOL)) || LA630_0 == TRIM_SYMBOL || ((LA630_0 >= UTC_DATE_SYMBOL) && (LA630_0 <= UTC_TIME_SYMBOL)) || LA630_0 == VALUES_SYMBOL || LA630_0 == VARIANCE_SYMBOL || LA630_0 == VAR_SAMP_SYMBOL))
                {
                    alt630=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 630;
                    EXCEPTION->state        = 0;


                    goto ruleinterval_expressionEx;

                }
            }
            switch (alt630)
            {
        	case 1:
        	    // MySQL.g:2001:2: INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTERVAL_SYMBOL2023 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_interval_expression11008);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }


        	        // MySQL.g:2002:3: ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span )
        	        {
        	            int alt629=2;
        	            {
        	                int LA629_0 = LA(1);
        	                if ( (LA629_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    {
        	                        int LA629_1 = LA(2);
        	                        if ( (LA629_1 == NOT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_102 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 102;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == BITWISE_NOT_OPERATOR || LA629_1 == MINUS_OPERATOR || LA629_1 == PLUS_OPERATOR))
        	                        {
        	                            {
        	                                int LA629_103 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 103;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == LOGICAL_NOT_OPERATOR || LA629_1 == NOT2_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_104 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 104;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == INTERVAL_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_105 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 105;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == NCHAR_TEXT))
        	                        {
        	                            {
        	                                int LA629_106 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 106;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == UNDERSCORE_CHARSET))
        	                        {
        	                            {
        	                                int LA629_107 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 107;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == SINGLE_QUOTED_TEXT))
        	                        {
        	                            {
        	                                int LA629_108 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 108;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == DOUBLE_QUOTED_TEXT))
        	                        {
        	                            {
        	                                int LA629_109 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 109;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == FLOAT || LA629_1 == INTEGER))
        	                        {
        	                            {
        	                                int LA629_110 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 110;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA629_1 >= HEXNUMBER) && (LA629_1 <= HEXSTRING))))
        	                        {
        	                            {
        	                                int LA629_111 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 111;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == FALSE_SYMBOL || LA629_1 == TRUE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_112 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 112;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA629_1 >= BITNUMBER) && (LA629_1 <= BITSTRING))))
        	                        {
        	                            {
        	                                int LA629_113 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 113;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == NULL2_SYMBOL || LA629_1 == NULL_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_114 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 114;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == DATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_115 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 115;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == TIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_116 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 116;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == TIMESTAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_117 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 117;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CHAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_118 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 118;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CURRENT_USER_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_119 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 119;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == DAY_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_120 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 120;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == HOUR_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_121 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 121;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == INSERT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_122 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 122;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == LEFT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_123 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 123;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MINUTE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_124 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 124;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MONTH_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_125 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 125;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == RIGHT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_126 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 126;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == SECOND_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_127 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 127;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == TRIM_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_128 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 128;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == USER_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_129 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 129;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == VALUES_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_130 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 130;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == YEAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_131 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 131;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == ADDDATE_SYMBOL || LA629_1 == SUBDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_132 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 132;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CURDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_133 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 133;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CURTIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_134 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 134;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == DATE_ADD_SYMBOL || LA629_1 == DATE_SUB_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_135 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 135;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == EXTRACT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_136 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 136;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == GET_FORMAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_137 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 137;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == NOW_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_138 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 138;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == POSITION_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_139 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 139;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == SUBSTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_140 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 140;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == SYSDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_141 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 141;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA629_1 >= TIMESTAMP_ADD_SYMBOL) && (LA629_1 <= TIMESTAMP_DIFF_SYMBOL))))
        	                        {
        	                            {
        	                                int LA629_142 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 142;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == UTC_DATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_143 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 143;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == UTC_TIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_144 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 144;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == UTC_TIMESTAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_145 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 145;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == ASCII_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_146 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 146;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CHARSET_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_147 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 147;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == COALESCE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_148 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 148;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == COLLATION_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_149 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 149;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == DATABASE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_150 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 150;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == IF_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_151 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 151;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == FORMAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_152 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 152;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MICROSECOND_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_153 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 153;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MOD_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_154 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 154;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == OLD_PASSWORD_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_155 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 155;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == PASSWORD_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_156 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 156;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == QUARTER_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_157 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 157;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == REPEAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_158 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 158;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == REPLACE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_159 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 159;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == REVERSE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_160 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 160;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == ROW_COUNT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_161 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 161;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == TRUNCATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_162 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 162;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == WEEK_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_163 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 163;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == WEIGHT_STRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_164 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 164;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CONTAINS_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_165 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 165;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == GEOMETRYCOLLECTION_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_166 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 166;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == LINESTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_167 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 167;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MULTILINESTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_168 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 168;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MULTIPOINT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_169 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 169;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MULTIPOLYGON_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_170 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 170;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == POINT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_171 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 171;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == POLYGON_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_172 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 172;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == AVG_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_173 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 173;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == BIT_AND_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_174 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 174;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == BIT_OR_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_175 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 175;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == BIT_XOR_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_176 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 176;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == COUNT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_177 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 177;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MIN_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_178 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 178;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MAX_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_179 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 179;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == STD_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_180 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 180;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == VARIANCE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_181 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 181;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == STDDEV_SAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_182 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 182;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == VAR_SAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_183 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 183;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == SUM_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_184 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 184;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == GROUP_CONCAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_185 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 185;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == IDENTIFIER))
        	                        {
        	                            {
        	                                int LA629_186 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 186;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == BACK_TICK_QUOTED_ID))
        	                        {
        	                            {
        	                                int LA629_187 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 187;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == ROW_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_188 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 188;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA629_1 >= BACKUP_SYMBOL) && (LA629_1 <= CACHE_SYMBOL)) || ((LA629_1 >= CHECKSUM_SYMBOL) && (LA629_1 <= COMMIT_SYMBOL)) || ((LA629_1 >= DEALLOCATE_SYMBOL) && (LA629_1 <= FOLLOWS_SYMBOL)) || ((LA629_1 >= HANDLER_SYMBOL) && (LA629_1 <= STOP_SYMBOL)) || ((LA629_1 >= UNICODE_SYMBOL) && (LA629_1 <= XA_SYMBOL))))
        	                        {
        	                            {
        	                                int LA629_189 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 189;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == PARAM_MARKER))
        	                        {
        	                            {
        	                                int LA629_190 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 190;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == AT_SIGN_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_191 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 191;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == AT_TEXT_SUFFIX))
        	                        {
        	                            {
        	                                int LA629_192 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 192;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == AT_AT_SIGN_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_193 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 193;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == EXISTS_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_194 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 194;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == OPEN_PAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_195 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 195;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == ACTION_SYMBOL || ((LA629_1 >= AFTER_SYMBOL) && (LA629_1 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA629_1 >= BINLOG_SYMBOL) && (LA629_1 <= CLASS_ORIGIN_SYMBOL)) || LA629_1 == CODE_SYMBOL || ((LA629_1 >= COLUMN_NAME_SYMBOL) && (LA629_1 <= DATETIME_SYMBOL)) || ((LA629_1 >= DEFAULT_AUTH_SYMBOL) && (LA629_1 <= GEOMETRY_SYMBOL)) || ((LA629_1 >= GRANTS_SYMBOL) && (LA629_1 <= HOSTS_SYMBOL)) || ((LA629_1 >= IDENTIFIED_SYMBOL) && (LA629_1 <= LEVEL_SYMBOL)) || ((LA629_1 >= LIST_SYMBOL) && (LA629_1 <= MESSAGE_TEXT_SYMBOL)) || LA629_1 == MIGRATE_SYMBOL || ((LA629_1 >= MIN_ROWS_SYMBOL) && (LA629_1 <= MODE_SYMBOL)) || ((LA629_1 >= MUTEX_SYMBOL) && (LA629_1 <= OFFSET_SYMBOL)) || ((LA629_1 >= ONE_SHOT_SYMBOL) && (LA629_1 <= PARTITIONS_SYMBOL)) || ((LA629_1 >= PHASE_SYMBOL) && (LA629_1 <= PLUGINS_SYMBOL)) || ((LA629_1 >= PRESERVE_SYMBOL) && (LA629_1 <= PROXY_SYMBOL)) || ((LA629_1 >= QUERY_SYMBOL) && (LA629_1 <= RETURNS_SYMBOL)) || ((LA629_1 >= ROLLUP_SYMBOL) && (LA629_1 <= ROWS_SYMBOL)) || LA629_1 == ROW_FORMAT_SYMBOL || ((LA629_1 >= RTREE_SYMBOL) && (LA629_1 <= SCHEMA_NAME_SYMBOL)) || ((LA629_1 >= SERIAL_SYMBOL) && (LA629_1 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA629_1 >= SUBJECT_SYMBOL) && (LA629_1 <= TRIGGERS_SYMBOL)) || ((LA629_1 >= TYPES_SYMBOL) && (LA629_1 <= USER_RESOURCES_SYMBOL)) || ((LA629_1 >= USE_FRM_SYMBOL) && (LA629_1 <= WAIT_SYMBOL)) || LA629_1 == WORK_SYMBOL || ((LA629_1 >= X509_SYMBOL) && (LA629_1 <= XML_SYMBOL))))
        	                        {
        	                            {
        	                                int LA629_196 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 196;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == OPEN_CURLY_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_197 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 197;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == MATCH_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_198 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 198;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CASE_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_199 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 199;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == BINARY_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_200 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 200;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CAST_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_201 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 201;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA629_1 == CONVERT_SYMBOL))
        	                        {
        	                            {
        	                                int LA629_202 = LA(3);
        	                                if ( (synpred1_MySQL(ctx)))
        	                                {
        	                                    alt629=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt629=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 629;
        	                                    EXCEPTION->state        = 202;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( ((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)) && (LA629_1 == SELECT_SYMBOL))
        	                        {
        	                            alt629=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 629;
        	                            EXCEPTION->state        = 1;


        	                            goto ruleinterval_expressionEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA629_0 == BITWISE_NOT_OPERATOR || LA629_0 == INTERVAL_SYMBOL || LA629_0 == LOGICAL_NOT_OPERATOR || LA629_0 == MINUS_OPERATOR || LA629_0 == NCHAR_TEXT || LA629_0 == NOT2_SYMBOL || LA629_0 == NOT_SYMBOL || LA629_0 == PLUS_OPERATOR || LA629_0 == SINGLE_QUOTED_TEXT || LA629_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt629=2;
        	                }
        	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA629_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt629=2;
        	                }
        	                else if ( (LA629_0 == FALSE_SYMBOL || LA629_0 == FLOAT || ((LA629_0 >= HEXNUMBER) && (LA629_0 <= HEXSTRING)) || LA629_0 == INTEGER || LA629_0 == TRUE_SYMBOL))
        	                {
        	                    alt629=2;
        	                }
        	                else if ( ((SERVER_VERSION >= 50003)) && (((LA629_0 >= BITNUMBER) && (LA629_0 <= BITSTRING))))
        	                {
        	                    alt629=2;
        	                }
        	                else if ( (((LA629_0 >= ASCII_SYMBOL) && (LA629_0 <= YEAR_SYMBOL)) || ((LA629_0 >= AT_AT_SIGN_SYMBOL) && (LA629_0 <= AT_TEXT_SUFFIX)) || LA629_0 == BACK_TICK_QUOTED_ID || LA629_0 == BINARY_SYMBOL || ((LA629_0 >= BIT_AND_SYMBOL) && (LA629_0 <= BIT_XOR_SYMBOL)) || ((LA629_0 >= CASE_SYMBOL) && (LA629_0 <= CAST_SYMBOL)) || LA629_0 == CHAR_SYMBOL || ((LA629_0 >= CONVERT_SYMBOL) && (LA629_0 <= COUNT_SYMBOL)) || LA629_0 == CURDATE_SYMBOL || LA629_0 == CURRENT_USER_SYMBOL || LA629_0 == CURTIME_SYMBOL || LA629_0 == DATABASE_SYMBOL || LA629_0 == DATE_ADD_SYMBOL || LA629_0 == DATE_SUB_SYMBOL || LA629_0 == EXISTS_SYMBOL || LA629_0 == EXTRACT_SYMBOL || LA629_0 == GROUP_CONCAT_SYMBOL || ((LA629_0 >= IDENTIFIER) && (LA629_0 <= IF_SYMBOL)) || LA629_0 == INSERT_SYMBOL || LA629_0 == LEFT_SYMBOL || LA629_0 == MATCH_SYMBOL || LA629_0 == MAX_SYMBOL || LA629_0 == MIN_SYMBOL || LA629_0 == MOD_SYMBOL || LA629_0 == NOW_SYMBOL || LA629_0 == NULL2_SYMBOL || LA629_0 == NULL_SYMBOL || LA629_0 == OPEN_CURLY_SYMBOL || LA629_0 == PARAM_MARKER || LA629_0 == POSITION_SYMBOL || ((LA629_0 >= REPEAT_SYMBOL) && (LA629_0 <= REPLACE_SYMBOL)) || LA629_0 == RIGHT_SYMBOL || LA629_0 == STDDEV_SAMP_SYMBOL || LA629_0 == STD_SYMBOL || LA629_0 == SUBSTRING_SYMBOL || ((LA629_0 >= SUM_SYMBOL) && (LA629_0 <= SYSDATE_SYMBOL)) || LA629_0 == TRIM_SYMBOL || ((LA629_0 >= UTC_DATE_SYMBOL) && (LA629_0 <= UTC_TIME_SYMBOL)) || LA629_0 == VALUES_SYMBOL || LA629_0 == VARIANCE_SYMBOL || LA629_0 == VAR_SAMP_SYMBOL))
        	                {
        	                    alt629=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 629;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleinterval_expressionEx;

        	                }
        	            }
        	            switch (alt629)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2006:4: ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_interval_function_in_interval_expression11040);
        	        	        interval_function2024=interval_function(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinterval_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_function2024.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2007:6: interval_time_span
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_interval_time_span_in_interval_expression11047);
        	        	        interval_time_span2025=interval_time_span(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinterval_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_time_span2025.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2009:4: primary
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_primary_in_interval_expression11056);
        	        primary2026=primary(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary2026.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleinterval_expressionEx; /* Prevent compiler warnings */
    ruleinterval_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end interval_expression */

/**
 * $ANTLR start interval_function
 * MySQL.g:2012:1: interval_function : OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL -> ^( RUNTIME_FUNCTION_TOKEN INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_interval_function_return
interval_function(pMySQLParser ctx)
{
    MySQLParser_interval_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2027;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2029;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2031;
    MySQLParser_expression_return expression2028;
    #undef	RETURN_TYPE_expression2028
    #define	RETURN_TYPE_expression2028 MySQLParser_expression_return

    MySQLParser_expression_return expression2030;
    #undef	RETURN_TYPE_expression2030
    #define	RETURN_TYPE_expression2030 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2027_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2029_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2031_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_CLOSE_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_OPEN_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_expression;
    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2027       = NULL;
    COMMA_SYMBOL2029       = NULL;
    CLOSE_PAR_SYMBOL2031       = NULL;
    expression2028.tree = NULL;

    expression2030.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2027_tree   = NULL;
    COMMA_SYMBOL2029_tree   = NULL;
    CLOSE_PAR_SYMBOL2031_tree   = NULL;

    stream_CLOSE_PAR_SYMBOL   = NULL;
    #define CREATE_stream_CLOSE_PAR_SYMBOL  if (stream_CLOSE_PAR_SYMBOL == NULL) {stream_CLOSE_PAR_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token CLOSE_PAR_SYMBOL"); } 
    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_OPEN_PAR_SYMBOL   = NULL;
    #define CREATE_stream_OPEN_PAR_SYMBOL  if (stream_OPEN_PAR_SYMBOL == NULL) {stream_OPEN_PAR_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token OPEN_PAR_SYMBOL"); } 
    stream_expression   = NULL;
    #define CREATE_stream_expression  if (stream_expression == NULL) {stream_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule expression"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2012:18: ( OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL -> ^( RUNTIME_FUNCTION_TOKEN INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL ) )
        // MySQL.g:2013:2: OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL2027 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_interval_function11065);
            if  (HASEXCEPTION())
            {
                goto ruleinterval_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_OPEN_PAR_SYMBOL; stream_OPEN_PAR_SYMBOL->add(stream_OPEN_PAR_SYMBOL, OPEN_PAR_SYMBOL2027, NULL); }


            FOLLOWPUSH(FOLLOW_expression_in_interval_function11067);
            expression2028=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinterval_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression2028.tree, NULL); }

            // MySQL.g:2013:29: ( COMMA_SYMBOL expression )+
            {
                int cnt631=0;

                for (;;)
                {
                    int alt631=2;
            	switch ( LA(1) )
            	{
            	case COMMA_SYMBOL:
            		{
            			alt631=1;
            		}
            	    break;

            	}

            	switch (alt631)
            	{
            	    case 1:
            	        // MySQL.g:2013:30: COMMA_SYMBOL expression
            	        {
            	            COMMA_SYMBOL2029 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_interval_function11070);
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleinterval_functionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }
            	             
            	            if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL2029, NULL); }


            	            FOLLOWPUSH(FOLLOW_expression_in_interval_function11072);
            	            expression2030=expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleinterval_functionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression2030.tree, NULL); }

            	        }
            	        break;

            	    default:

            		if ( cnt631 >= 1 )
            		{
            		    goto loop631;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto ruleinterval_functionEx;
            	}
            	cnt631++;
                }
                loop631: ;	/* Jump to here if this rule does not match */
            }

            CLOSE_PAR_SYMBOL2031 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function11076);
            if  (HASEXCEPTION())
            {
                goto ruleinterval_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_CLOSE_PAR_SYMBOL; stream_CLOSE_PAR_SYMBOL->add(stream_CLOSE_PAR_SYMBOL, CLOSE_PAR_SYMBOL2031, NULL); }


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, expression, OPEN_PAR_SYMBOL, expression, CLOSE_PAR_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2014:3: -> ^( RUNTIME_FUNCTION_TOKEN INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:2014:6: ^( RUNTIME_FUNCTION_TOKEN INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RUNTIME_FUNCTION_TOKEN, (pANTLR3_UINT8)"RUNTIME_FUNCTION_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, INTERVAL_SYMBOL, (pANTLR3_UINT8)"INTERVAL_SYMBOL")
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_OPEN_PAR_SYMBOL == NULL ? NULL : stream_OPEN_PAR_SYMBOL->nextNode(stream_OPEN_PAR_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_expression == NULL ? NULL : stream_expression->nextTree(stream_expression));

            	        if ((stream_COMMA_SYMBOL == NULL || !stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_expression == NULL || !stream_expression->hasNext(stream_expression))  )
            	        {
            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_REWRITE_EARLY_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
            	        }
            	        else
            	        {
            	        	while ( (stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_expression->hasNext(stream_expression))  ) {
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_expression == NULL ? NULL : stream_expression->nextTree(stream_expression));

            	        	}
            	        	stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	stream_expression->reset(stream_expression);

            	        }
            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_CLOSE_PAR_SYMBOL == NULL ? NULL : stream_CLOSE_PAR_SYMBOL->nextNode(stream_CLOSE_PAR_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinterval_functionEx; /* Prevent compiler warnings */
    ruleinterval_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_CLOSE_PAR_SYMBOL != NULL) stream_CLOSE_PAR_SYMBOL->free(stream_CLOSE_PAR_SYMBOL);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_OPEN_PAR_SYMBOL != NULL) stream_OPEN_PAR_SYMBOL->free(stream_OPEN_PAR_SYMBOL);
        if (stream_expression != NULL) stream_expression->free(stream_expression);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end interval_function */

/**
 * $ANTLR start interval_time_span
 * MySQL.g:2017:1: interval_time_span : interval -> ^( INTERVAL_SYMBOL interval ) ;
 */
static MySQLParser_interval_time_span_return
interval_time_span(pMySQLParser ctx)
{
    MySQLParser_interval_time_span_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_interval_return interval2032;
    #undef	RETURN_TYPE_interval2032
    #define	RETURN_TYPE_interval2032 MySQLParser_interval_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_interval;
    /* Initialize rule variables
     */

    root_0 = NULL;

    interval2032.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_interval   = NULL;
    #define CREATE_stream_interval  if (stream_interval == NULL) {stream_interval = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule interval"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2017:19: ( interval -> ^( INTERVAL_SYMBOL interval ) )
        // MySQL.g:2018:2: interval
        {
            FOLLOWPUSH(FOLLOW_interval_in_interval_time_span11108);
            interval2032=interval(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinterval_time_spanEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_interval; stream_interval->add(stream_interval, interval2032.tree, NULL); }

            /* AST REWRITE
             * elements          : interval
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2018:11: -> ^( INTERVAL_SYMBOL interval )
            	{
            	    // MySQL.g:2018:14: ^( INTERVAL_SYMBOL interval )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, INTERVAL_SYMBOL, (pANTLR3_UINT8)"INTERVAL_SYMBOL")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_interval == NULL ? NULL : stream_interval->nextTree(stream_interval));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinterval_time_spanEx; /* Prevent compiler warnings */
    ruleinterval_time_spanEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_interval != NULL) stream_interval->free(stream_interval);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end interval_time_span */

/**
 * $ANTLR start primary
 * MySQL.g:2021:1: primary : ( literal | runtime_function_call | udf_call | ( stored_function_call )=> stored_function_call | column_ref | PARAM_MARKER | variable | EXISTS_SYMBOL subquery | expression_with_nested_parentheses | OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL | match_expression | case_expression | cast_expression ) ( options {greedy=true; } : COLLATE_SYMBOL text_or_identifier )* ;
 */
static MySQLParser_primary_return
primary(pMySQLParser ctx)
{
    MySQLParser_primary_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARAM_MARKER2038;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL2040;
    pANTLR3_COMMON_TOKEN    OPEN_CURLY_SYMBOL2043;
    pANTLR3_COMMON_TOKEN    CLOSE_CURLY_SYMBOL2046;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2050;
    MySQLParser_literal_return literal2033;
    #undef	RETURN_TYPE_literal2033
    #define	RETURN_TYPE_literal2033 MySQLParser_literal_return

    MySQLParser_runtime_function_call_return runtime_function_call2034;
    #undef	RETURN_TYPE_runtime_function_call2034
    #define	RETURN_TYPE_runtime_function_call2034 MySQLParser_runtime_function_call_return

    MySQLParser_udf_call_return udf_call2035;
    #undef	RETURN_TYPE_udf_call2035
    #define	RETURN_TYPE_udf_call2035 MySQLParser_udf_call_return

    MySQLParser_stored_function_call_return stored_function_call2036;
    #undef	RETURN_TYPE_stored_function_call2036
    #define	RETURN_TYPE_stored_function_call2036 MySQLParser_stored_function_call_return

    MySQLParser_column_ref_return column_ref2037;
    #undef	RETURN_TYPE_column_ref2037
    #define	RETURN_TYPE_column_ref2037 MySQLParser_column_ref_return

    MySQLParser_variable_return variable2039;
    #undef	RETURN_TYPE_variable2039
    #define	RETURN_TYPE_variable2039 MySQLParser_variable_return

    MySQLParser_subquery_return subquery2041;
    #undef	RETURN_TYPE_subquery2041
    #define	RETURN_TYPE_subquery2041 MySQLParser_subquery_return

    MySQLParser_expression_with_nested_parentheses_return expression_with_nested_parentheses2042;
    #undef	RETURN_TYPE_expression_with_nested_parentheses2042
    #define	RETURN_TYPE_expression_with_nested_parentheses2042 MySQLParser_expression_with_nested_parentheses_return

    MySQLParser_identifier_return identifier2044;
    #undef	RETURN_TYPE_identifier2044
    #define	RETURN_TYPE_identifier2044 MySQLParser_identifier_return

    MySQLParser_expression_return expression2045;
    #undef	RETURN_TYPE_expression2045
    #define	RETURN_TYPE_expression2045 MySQLParser_expression_return

    MySQLParser_match_expression_return match_expression2047;
    #undef	RETURN_TYPE_match_expression2047
    #define	RETURN_TYPE_match_expression2047 MySQLParser_match_expression_return

    MySQLParser_case_expression_return case_expression2048;
    #undef	RETURN_TYPE_case_expression2048
    #define	RETURN_TYPE_case_expression2048 MySQLParser_case_expression_return

    MySQLParser_cast_expression_return cast_expression2049;
    #undef	RETURN_TYPE_cast_expression2049
    #define	RETURN_TYPE_cast_expression2049 MySQLParser_cast_expression_return

    MySQLParser_text_or_identifier_return text_or_identifier2051;
    #undef	RETURN_TYPE_text_or_identifier2051
    #define	RETURN_TYPE_text_or_identifier2051 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE PARAM_MARKER2038_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL2040_tree;
    pANTLR3_BASE_TREE OPEN_CURLY_SYMBOL2043_tree;
    pANTLR3_BASE_TREE CLOSE_CURLY_SYMBOL2046_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2050_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER2038       = NULL;
    EXISTS_SYMBOL2040       = NULL;
    OPEN_CURLY_SYMBOL2043       = NULL;
    CLOSE_CURLY_SYMBOL2046       = NULL;
    COLLATE_SYMBOL2050       = NULL;
    literal2033.tree = NULL;

    runtime_function_call2034.tree = NULL;

    udf_call2035.tree = NULL;

    stored_function_call2036.tree = NULL;

    column_ref2037.tree = NULL;

    variable2039.tree = NULL;

    subquery2041.tree = NULL;

    expression_with_nested_parentheses2042.tree = NULL;

    identifier2044.tree = NULL;

    expression2045.tree = NULL;

    match_expression2047.tree = NULL;

    case_expression2048.tree = NULL;

    cast_expression2049.tree = NULL;

    text_or_identifier2051.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER2038_tree   = NULL;
    EXISTS_SYMBOL2040_tree   = NULL;
    OPEN_CURLY_SYMBOL2043_tree   = NULL;
    CLOSE_CURLY_SYMBOL2046_tree   = NULL;
    COLLATE_SYMBOL2050_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2021:8: ( ( literal | runtime_function_call | udf_call | ( stored_function_call )=> stored_function_call | column_ref | PARAM_MARKER | variable | EXISTS_SYMBOL subquery | expression_with_nested_parentheses | OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL | match_expression | case_expression | cast_expression ) ( options {greedy=true; } : COLLATE_SYMBOL text_or_identifier )* )
        // MySQL.g:2022:5: ( literal | runtime_function_call | udf_call | ( stored_function_call )=> stored_function_call | column_ref | PARAM_MARKER | variable | EXISTS_SYMBOL subquery | expression_with_nested_parentheses | OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL | match_expression | case_expression | cast_expression ) ( options {greedy=true; } : COLLATE_SYMBOL text_or_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2022:5: ( literal | runtime_function_call | udf_call | ( stored_function_call )=> stored_function_call | column_ref | PARAM_MARKER | variable | EXISTS_SYMBOL subquery | expression_with_nested_parentheses | OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL | match_expression | case_expression | cast_expression )
            {
                int alt632=13;
                {
                    int LA632_0 = LA(1);
                    if ( (LA632_0 == FALSE_SYMBOL || LA632_0 == FLOAT || ((LA632_0 >= HEXNUMBER) && (LA632_0 <= HEXSTRING)) || LA632_0 == INTEGER || LA632_0 == NCHAR_TEXT || LA632_0 == SINGLE_QUOTED_TEXT || LA632_0 == TRUE_SYMBOL || LA632_0 == UNDERSCORE_CHARSET))
                    {
                        alt632=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA632_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA632_4 = LA(2);
                            if ( (( (( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (synpred2_MySQL(ctx)) )) && (LA632_4 == DOT_SYMBOL))
                            {
                                alt632=4;
                            }
                            else if ( (( (( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (synpred2_MySQL(ctx)) )) && (LA632_4 == OPEN_PAR_SYMBOL))
                            {
                                alt632=4;
                            }
                            else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt632=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 4;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA632_0 >= BITNUMBER) && (LA632_0 <= BITSTRING))))
                    {
                        alt632=1;
                    }
                    else if ( (LA632_0 == NULL2_SYMBOL || LA632_0 == NULL_SYMBOL))
                    {
                        alt632=1;
                    }
                    else if ( (LA632_0 == DATE_SYMBOL))
                    {
                        {
                            int LA632_10 = LA(2);
                            if ( (LA632_10 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA632_189 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt632=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 189;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_10 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_190 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 190;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_10 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_191 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 191;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_10 == EOF || ((LA632_10 >= ASCII_SYMBOL) && (LA632_10 <= YEAR_SYMBOL)) || ((LA632_10 >= AND_SYMBOL) && (LA632_10 <= ASC_SYMBOL)) || LA632_10 == AS_SYMBOL || LA632_10 == BACK_TICK_QUOTED_ID || LA632_10 == BETWEEN_SYMBOL || LA632_10 == BITWISE_AND_OPERATOR || ((LA632_10 >= BITWISE_OR_OPERATOR) && (LA632_10 <= BITWISE_XOR_OPERATOR)) || ((LA632_10 >= CLOSE_CURLY_SYMBOL) && (LA632_10 <= COLLATE_SYMBOL)) || LA632_10 == COMMA_SYMBOL || LA632_10 == CONCAT_PIPES_SYMBOL || LA632_10 == CROSS_SYMBOL || ((LA632_10 >= DAY_HOUR_SYMBOL) && (LA632_10 <= DAY_SECOND_SYMBOL)) || LA632_10 == DESC_SYMBOL || ((LA632_10 >= DIV_OPERATOR) && (LA632_10 <= DIV_SYMBOL)) || LA632_10 == DOUBLE_QUOTED_TEXT || LA632_10 == ELSE_SYMBOL || LA632_10 == EQUAL_OPERATOR || ((LA632_10 >= FOR_SYMBOL) && (LA632_10 <= FROM_SYMBOL)) || ((LA632_10 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_10 <= GREATER_THAN_OPERATOR)) || ((LA632_10 >= GROUP_SYMBOL) && (LA632_10 <= HAVING_SYMBOL)) || ((LA632_10 >= HOUR_MICROSECOND_SYMBOL) && (LA632_10 <= IDENTIFIER)) || LA632_10 == INNER_SYMBOL || LA632_10 == INTO_SYMBOL || LA632_10 == IN_SYMBOL || LA632_10 == IS_SYMBOL || LA632_10 == JOIN_SYMBOL || ((LA632_10 >= LEFT_SYMBOL) && (LA632_10 <= LESS_THAN_OPERATOR)) || ((LA632_10 >= LIKE_SYMBOL) && (LA632_10 <= LIMIT_SYMBOL)) || LA632_10 == LOCK_SYMBOL || LA632_10 == LOGICAL_AND_OPERATOR || LA632_10 == LOGICAL_OR_OPERATOR || ((LA632_10 >= MINUS_OPERATOR) && (LA632_10 <= MINUTE_SECOND_SYMBOL)) || ((LA632_10 >= MOD_OPERATOR) && (LA632_10 <= MOD_SYMBOL)) || ((LA632_10 >= MULT_OPERATOR) && (LA632_10 <= NATURAL_SYMBOL)) || ((LA632_10 >= NOT_EQUAL2_OPERATOR) && (LA632_10 <= NOT_SYMBOL)) || LA632_10 == NULL_SAFE_EQUAL_OPERATOR || LA632_10 == ON_SYMBOL || ((LA632_10 >= ORDER_SYMBOL) && (LA632_10 <= OR_SYMBOL)) || LA632_10 == PLUS_OPERATOR || LA632_10 == PROCEDURE_SYMBOL || LA632_10 == REGEXP_SYMBOL || LA632_10 == RENAME_SYMBOL || LA632_10 == RIGHT_SYMBOL || LA632_10 == SECOND_MICROSECOND_SYMBOL || LA632_10 == SEMICOLON_SYMBOL || LA632_10 == SEPARATOR_SYMBOL || LA632_10 == SET_SYMBOL || ((LA632_10 >= SHIFT_LEFT_OPERATOR) && (LA632_10 <= SHIFT_RIGHT_OPERATOR)) || LA632_10 == STRAIGHT_JOIN_SYMBOL || LA632_10 == THEN_SYMBOL || LA632_10 == UNION_SYMBOL || LA632_10 == USING_SYMBOL || ((LA632_10 >= WHEN_SYMBOL) && (LA632_10 <= WHERE_SYMBOL)) || LA632_10 == WITH_SYMBOL || ((LA632_10 >= XOR_SYMBOL) && (LA632_10 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 10;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == TIME_SYMBOL))
                    {
                        {
                            int LA632_11 = LA(2);
                            if ( (LA632_11 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA632_279 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt632=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 279;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_11 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_280 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 280;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_11 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_281 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 281;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_11 == EOF || ((LA632_11 >= ASCII_SYMBOL) && (LA632_11 <= YEAR_SYMBOL)) || ((LA632_11 >= AND_SYMBOL) && (LA632_11 <= ASC_SYMBOL)) || LA632_11 == AS_SYMBOL || LA632_11 == BACK_TICK_QUOTED_ID || LA632_11 == BETWEEN_SYMBOL || LA632_11 == BITWISE_AND_OPERATOR || ((LA632_11 >= BITWISE_OR_OPERATOR) && (LA632_11 <= BITWISE_XOR_OPERATOR)) || ((LA632_11 >= CLOSE_CURLY_SYMBOL) && (LA632_11 <= COLLATE_SYMBOL)) || LA632_11 == COMMA_SYMBOL || LA632_11 == CONCAT_PIPES_SYMBOL || LA632_11 == CROSS_SYMBOL || ((LA632_11 >= DAY_HOUR_SYMBOL) && (LA632_11 <= DAY_SECOND_SYMBOL)) || LA632_11 == DESC_SYMBOL || ((LA632_11 >= DIV_OPERATOR) && (LA632_11 <= DIV_SYMBOL)) || LA632_11 == DOUBLE_QUOTED_TEXT || LA632_11 == ELSE_SYMBOL || LA632_11 == EQUAL_OPERATOR || ((LA632_11 >= FOR_SYMBOL) && (LA632_11 <= FROM_SYMBOL)) || ((LA632_11 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_11 <= GREATER_THAN_OPERATOR)) || ((LA632_11 >= GROUP_SYMBOL) && (LA632_11 <= HAVING_SYMBOL)) || ((LA632_11 >= HOUR_MICROSECOND_SYMBOL) && (LA632_11 <= IDENTIFIER)) || LA632_11 == INNER_SYMBOL || LA632_11 == INTO_SYMBOL || LA632_11 == IN_SYMBOL || LA632_11 == IS_SYMBOL || LA632_11 == JOIN_SYMBOL || ((LA632_11 >= LEFT_SYMBOL) && (LA632_11 <= LESS_THAN_OPERATOR)) || ((LA632_11 >= LIKE_SYMBOL) && (LA632_11 <= LIMIT_SYMBOL)) || LA632_11 == LOCK_SYMBOL || LA632_11 == LOGICAL_AND_OPERATOR || LA632_11 == LOGICAL_OR_OPERATOR || ((LA632_11 >= MINUS_OPERATOR) && (LA632_11 <= MINUTE_SECOND_SYMBOL)) || ((LA632_11 >= MOD_OPERATOR) && (LA632_11 <= MOD_SYMBOL)) || ((LA632_11 >= MULT_OPERATOR) && (LA632_11 <= NATURAL_SYMBOL)) || ((LA632_11 >= NOT_EQUAL2_OPERATOR) && (LA632_11 <= NOT_SYMBOL)) || LA632_11 == NULL_SAFE_EQUAL_OPERATOR || LA632_11 == ON_SYMBOL || ((LA632_11 >= ORDER_SYMBOL) && (LA632_11 <= OR_SYMBOL)) || LA632_11 == PLUS_OPERATOR || LA632_11 == PROCEDURE_SYMBOL || LA632_11 == REGEXP_SYMBOL || LA632_11 == RENAME_SYMBOL || LA632_11 == RIGHT_SYMBOL || LA632_11 == SECOND_MICROSECOND_SYMBOL || LA632_11 == SEMICOLON_SYMBOL || LA632_11 == SEPARATOR_SYMBOL || LA632_11 == SET_SYMBOL || ((LA632_11 >= SHIFT_LEFT_OPERATOR) && (LA632_11 <= SHIFT_RIGHT_OPERATOR)) || LA632_11 == STRAIGHT_JOIN_SYMBOL || LA632_11 == THEN_SYMBOL || LA632_11 == UNION_SYMBOL || LA632_11 == USING_SYMBOL || ((LA632_11 >= WHEN_SYMBOL) && (LA632_11 <= WHERE_SYMBOL)) || LA632_11 == WITH_SYMBOL || ((LA632_11 >= XOR_SYMBOL) && (LA632_11 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 11;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == TIMESTAMP_SYMBOL))
                    {
                        {
                            int LA632_12 = LA(2);
                            if ( (LA632_12 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA632_369 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt632=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 369;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_12 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_370 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 370;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_12 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_371 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 371;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_12 == EOF || ((LA632_12 >= ASCII_SYMBOL) && (LA632_12 <= YEAR_SYMBOL)) || ((LA632_12 >= AND_SYMBOL) && (LA632_12 <= ASC_SYMBOL)) || LA632_12 == AS_SYMBOL || LA632_12 == BACK_TICK_QUOTED_ID || LA632_12 == BETWEEN_SYMBOL || LA632_12 == BITWISE_AND_OPERATOR || ((LA632_12 >= BITWISE_OR_OPERATOR) && (LA632_12 <= BITWISE_XOR_OPERATOR)) || ((LA632_12 >= CLOSE_CURLY_SYMBOL) && (LA632_12 <= COLLATE_SYMBOL)) || LA632_12 == COMMA_SYMBOL || LA632_12 == CONCAT_PIPES_SYMBOL || LA632_12 == CROSS_SYMBOL || ((LA632_12 >= DAY_HOUR_SYMBOL) && (LA632_12 <= DAY_SECOND_SYMBOL)) || LA632_12 == DESC_SYMBOL || ((LA632_12 >= DIV_OPERATOR) && (LA632_12 <= DIV_SYMBOL)) || LA632_12 == DOUBLE_QUOTED_TEXT || LA632_12 == ELSE_SYMBOL || LA632_12 == EQUAL_OPERATOR || ((LA632_12 >= FOR_SYMBOL) && (LA632_12 <= FROM_SYMBOL)) || ((LA632_12 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_12 <= GREATER_THAN_OPERATOR)) || ((LA632_12 >= GROUP_SYMBOL) && (LA632_12 <= HAVING_SYMBOL)) || ((LA632_12 >= HOUR_MICROSECOND_SYMBOL) && (LA632_12 <= IDENTIFIER)) || LA632_12 == INNER_SYMBOL || LA632_12 == INTO_SYMBOL || LA632_12 == IN_SYMBOL || LA632_12 == IS_SYMBOL || LA632_12 == JOIN_SYMBOL || ((LA632_12 >= LEFT_SYMBOL) && (LA632_12 <= LESS_THAN_OPERATOR)) || ((LA632_12 >= LIKE_SYMBOL) && (LA632_12 <= LIMIT_SYMBOL)) || LA632_12 == LOCK_SYMBOL || LA632_12 == LOGICAL_AND_OPERATOR || LA632_12 == LOGICAL_OR_OPERATOR || ((LA632_12 >= MINUS_OPERATOR) && (LA632_12 <= MINUTE_SECOND_SYMBOL)) || ((LA632_12 >= MOD_OPERATOR) && (LA632_12 <= MOD_SYMBOL)) || ((LA632_12 >= MULT_OPERATOR) && (LA632_12 <= NATURAL_SYMBOL)) || ((LA632_12 >= NOT_EQUAL2_OPERATOR) && (LA632_12 <= NOT_SYMBOL)) || LA632_12 == NULL_SAFE_EQUAL_OPERATOR || LA632_12 == ON_SYMBOL || ((LA632_12 >= ORDER_SYMBOL) && (LA632_12 <= OR_SYMBOL)) || LA632_12 == PLUS_OPERATOR || LA632_12 == PROCEDURE_SYMBOL || LA632_12 == REGEXP_SYMBOL || LA632_12 == RENAME_SYMBOL || LA632_12 == RIGHT_SYMBOL || LA632_12 == SECOND_MICROSECOND_SYMBOL || LA632_12 == SEMICOLON_SYMBOL || LA632_12 == SEPARATOR_SYMBOL || LA632_12 == SET_SYMBOL || ((LA632_12 >= SHIFT_LEFT_OPERATOR) && (LA632_12 <= SHIFT_RIGHT_OPERATOR)) || LA632_12 == STRAIGHT_JOIN_SYMBOL || LA632_12 == THEN_SYMBOL || LA632_12 == UNION_SYMBOL || LA632_12 == USING_SYMBOL || ((LA632_12 >= WHEN_SYMBOL) && (LA632_12 <= WHERE_SYMBOL)) || LA632_12 == WITH_SYMBOL || ((LA632_12 >= XOR_SYMBOL) && (LA632_12 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 12;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA632_0 >= BIT_AND_SYMBOL) && (LA632_0 <= BIT_XOR_SYMBOL)) || LA632_0 == CHAR_SYMBOL || LA632_0 == COUNT_SYMBOL || LA632_0 == CURDATE_SYMBOL || LA632_0 == CURRENT_USER_SYMBOL || LA632_0 == CURTIME_SYMBOL || LA632_0 == DATABASE_SYMBOL || LA632_0 == DATE_ADD_SYMBOL || LA632_0 == DATE_SUB_SYMBOL || LA632_0 == EXTRACT_SYMBOL || LA632_0 == GROUP_CONCAT_SYMBOL || LA632_0 == IF_SYMBOL || LA632_0 == INSERT_SYMBOL || LA632_0 == LEFT_SYMBOL || LA632_0 == MAX_SYMBOL || LA632_0 == MIN_SYMBOL || LA632_0 == MOD_SYMBOL || LA632_0 == NOW_SYMBOL || LA632_0 == POSITION_SYMBOL || ((LA632_0 >= REPEAT_SYMBOL) && (LA632_0 <= REPLACE_SYMBOL)) || LA632_0 == RIGHT_SYMBOL || LA632_0 == STDDEV_SAMP_SYMBOL || LA632_0 == STD_SYMBOL || LA632_0 == SUBSTRING_SYMBOL || ((LA632_0 >= SUM_SYMBOL) && (LA632_0 <= SYSDATE_SYMBOL)) || LA632_0 == TRIM_SYMBOL || ((LA632_0 >= UTC_DATE_SYMBOL) && (LA632_0 <= UTC_TIME_SYMBOL)) || LA632_0 == VALUES_SYMBOL || LA632_0 == VARIANCE_SYMBOL || LA632_0 == VAR_SAMP_SYMBOL))
                    {
                        alt632=2;
                    }
                    else if ( (LA632_0 == DAY_SYMBOL))
                    {
                        {
                            int LA632_15 = LA(2);
                            if ( (LA632_15 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_459 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 459;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_15 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_460 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 460;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_15 == EOF || ((LA632_15 >= ASCII_SYMBOL) && (LA632_15 <= YEAR_SYMBOL)) || ((LA632_15 >= AND_SYMBOL) && (LA632_15 <= ASC_SYMBOL)) || LA632_15 == AS_SYMBOL || LA632_15 == BACK_TICK_QUOTED_ID || LA632_15 == BETWEEN_SYMBOL || LA632_15 == BITWISE_AND_OPERATOR || ((LA632_15 >= BITWISE_OR_OPERATOR) && (LA632_15 <= BITWISE_XOR_OPERATOR)) || ((LA632_15 >= CLOSE_CURLY_SYMBOL) && (LA632_15 <= COLLATE_SYMBOL)) || LA632_15 == COMMA_SYMBOL || LA632_15 == CONCAT_PIPES_SYMBOL || LA632_15 == CROSS_SYMBOL || ((LA632_15 >= DAY_HOUR_SYMBOL) && (LA632_15 <= DAY_SECOND_SYMBOL)) || LA632_15 == DESC_SYMBOL || ((LA632_15 >= DIV_OPERATOR) && (LA632_15 <= DIV_SYMBOL)) || LA632_15 == DOUBLE_QUOTED_TEXT || LA632_15 == ELSE_SYMBOL || LA632_15 == EQUAL_OPERATOR || ((LA632_15 >= FOR_SYMBOL) && (LA632_15 <= FROM_SYMBOL)) || ((LA632_15 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_15 <= GREATER_THAN_OPERATOR)) || ((LA632_15 >= GROUP_SYMBOL) && (LA632_15 <= HAVING_SYMBOL)) || ((LA632_15 >= HOUR_MICROSECOND_SYMBOL) && (LA632_15 <= IDENTIFIER)) || LA632_15 == INNER_SYMBOL || LA632_15 == INTO_SYMBOL || LA632_15 == IN_SYMBOL || LA632_15 == IS_SYMBOL || LA632_15 == JOIN_SYMBOL || ((LA632_15 >= LEFT_SYMBOL) && (LA632_15 <= LESS_THAN_OPERATOR)) || ((LA632_15 >= LIKE_SYMBOL) && (LA632_15 <= LIMIT_SYMBOL)) || LA632_15 == LOCK_SYMBOL || LA632_15 == LOGICAL_AND_OPERATOR || LA632_15 == LOGICAL_OR_OPERATOR || ((LA632_15 >= MINUS_OPERATOR) && (LA632_15 <= MINUTE_SECOND_SYMBOL)) || ((LA632_15 >= MOD_OPERATOR) && (LA632_15 <= MOD_SYMBOL)) || ((LA632_15 >= MULT_OPERATOR) && (LA632_15 <= NATURAL_SYMBOL)) || ((LA632_15 >= NOT_EQUAL2_OPERATOR) && (LA632_15 <= NOT_SYMBOL)) || LA632_15 == NULL_SAFE_EQUAL_OPERATOR || LA632_15 == ON_SYMBOL || ((LA632_15 >= ORDER_SYMBOL) && (LA632_15 <= OR_SYMBOL)) || LA632_15 == PLUS_OPERATOR || LA632_15 == PROCEDURE_SYMBOL || LA632_15 == REGEXP_SYMBOL || LA632_15 == RENAME_SYMBOL || LA632_15 == RIGHT_SYMBOL || LA632_15 == SECOND_MICROSECOND_SYMBOL || LA632_15 == SEMICOLON_SYMBOL || LA632_15 == SEPARATOR_SYMBOL || LA632_15 == SET_SYMBOL || ((LA632_15 >= SHIFT_LEFT_OPERATOR) && (LA632_15 <= SHIFT_RIGHT_OPERATOR)) || LA632_15 == SINGLE_QUOTED_TEXT || LA632_15 == STRAIGHT_JOIN_SYMBOL || LA632_15 == THEN_SYMBOL || LA632_15 == UNION_SYMBOL || LA632_15 == USING_SYMBOL || ((LA632_15 >= WHEN_SYMBOL) && (LA632_15 <= WHERE_SYMBOL)) || LA632_15 == WITH_SYMBOL || ((LA632_15 >= XOR_SYMBOL) && (LA632_15 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 15;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == HOUR_SYMBOL))
                    {
                        {
                            int LA632_16 = LA(2);
                            if ( (LA632_16 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_549 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 549;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_16 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_550 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 550;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_16 == EOF || ((LA632_16 >= ASCII_SYMBOL) && (LA632_16 <= YEAR_SYMBOL)) || ((LA632_16 >= AND_SYMBOL) && (LA632_16 <= ASC_SYMBOL)) || LA632_16 == AS_SYMBOL || LA632_16 == BACK_TICK_QUOTED_ID || LA632_16 == BETWEEN_SYMBOL || LA632_16 == BITWISE_AND_OPERATOR || ((LA632_16 >= BITWISE_OR_OPERATOR) && (LA632_16 <= BITWISE_XOR_OPERATOR)) || ((LA632_16 >= CLOSE_CURLY_SYMBOL) && (LA632_16 <= COLLATE_SYMBOL)) || LA632_16 == COMMA_SYMBOL || LA632_16 == CONCAT_PIPES_SYMBOL || LA632_16 == CROSS_SYMBOL || ((LA632_16 >= DAY_HOUR_SYMBOL) && (LA632_16 <= DAY_SECOND_SYMBOL)) || LA632_16 == DESC_SYMBOL || ((LA632_16 >= DIV_OPERATOR) && (LA632_16 <= DIV_SYMBOL)) || LA632_16 == DOUBLE_QUOTED_TEXT || LA632_16 == ELSE_SYMBOL || LA632_16 == EQUAL_OPERATOR || ((LA632_16 >= FOR_SYMBOL) && (LA632_16 <= FROM_SYMBOL)) || ((LA632_16 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_16 <= GREATER_THAN_OPERATOR)) || ((LA632_16 >= GROUP_SYMBOL) && (LA632_16 <= HAVING_SYMBOL)) || ((LA632_16 >= HOUR_MICROSECOND_SYMBOL) && (LA632_16 <= IDENTIFIER)) || LA632_16 == INNER_SYMBOL || LA632_16 == INTO_SYMBOL || LA632_16 == IN_SYMBOL || LA632_16 == IS_SYMBOL || LA632_16 == JOIN_SYMBOL || ((LA632_16 >= LEFT_SYMBOL) && (LA632_16 <= LESS_THAN_OPERATOR)) || ((LA632_16 >= LIKE_SYMBOL) && (LA632_16 <= LIMIT_SYMBOL)) || LA632_16 == LOCK_SYMBOL || LA632_16 == LOGICAL_AND_OPERATOR || LA632_16 == LOGICAL_OR_OPERATOR || ((LA632_16 >= MINUS_OPERATOR) && (LA632_16 <= MINUTE_SECOND_SYMBOL)) || ((LA632_16 >= MOD_OPERATOR) && (LA632_16 <= MOD_SYMBOL)) || ((LA632_16 >= MULT_OPERATOR) && (LA632_16 <= NATURAL_SYMBOL)) || ((LA632_16 >= NOT_EQUAL2_OPERATOR) && (LA632_16 <= NOT_SYMBOL)) || LA632_16 == NULL_SAFE_EQUAL_OPERATOR || LA632_16 == ON_SYMBOL || ((LA632_16 >= ORDER_SYMBOL) && (LA632_16 <= OR_SYMBOL)) || LA632_16 == PLUS_OPERATOR || LA632_16 == PROCEDURE_SYMBOL || LA632_16 == REGEXP_SYMBOL || LA632_16 == RENAME_SYMBOL || LA632_16 == RIGHT_SYMBOL || LA632_16 == SECOND_MICROSECOND_SYMBOL || LA632_16 == SEMICOLON_SYMBOL || LA632_16 == SEPARATOR_SYMBOL || LA632_16 == SET_SYMBOL || ((LA632_16 >= SHIFT_LEFT_OPERATOR) && (LA632_16 <= SHIFT_RIGHT_OPERATOR)) || LA632_16 == SINGLE_QUOTED_TEXT || LA632_16 == STRAIGHT_JOIN_SYMBOL || LA632_16 == THEN_SYMBOL || LA632_16 == UNION_SYMBOL || LA632_16 == USING_SYMBOL || ((LA632_16 >= WHEN_SYMBOL) && (LA632_16 <= WHERE_SYMBOL)) || LA632_16 == WITH_SYMBOL || ((LA632_16 >= XOR_SYMBOL) && (LA632_16 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 16;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == MINUTE_SYMBOL))
                    {
                        {
                            int LA632_19 = LA(2);
                            if ( (LA632_19 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_639 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 639;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_19 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_640 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 640;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_19 == EOF || ((LA632_19 >= ASCII_SYMBOL) && (LA632_19 <= YEAR_SYMBOL)) || ((LA632_19 >= AND_SYMBOL) && (LA632_19 <= ASC_SYMBOL)) || LA632_19 == AS_SYMBOL || LA632_19 == BACK_TICK_QUOTED_ID || LA632_19 == BETWEEN_SYMBOL || LA632_19 == BITWISE_AND_OPERATOR || ((LA632_19 >= BITWISE_OR_OPERATOR) && (LA632_19 <= BITWISE_XOR_OPERATOR)) || ((LA632_19 >= CLOSE_CURLY_SYMBOL) && (LA632_19 <= COLLATE_SYMBOL)) || LA632_19 == COMMA_SYMBOL || LA632_19 == CONCAT_PIPES_SYMBOL || LA632_19 == CROSS_SYMBOL || ((LA632_19 >= DAY_HOUR_SYMBOL) && (LA632_19 <= DAY_SECOND_SYMBOL)) || LA632_19 == DESC_SYMBOL || ((LA632_19 >= DIV_OPERATOR) && (LA632_19 <= DIV_SYMBOL)) || LA632_19 == DOUBLE_QUOTED_TEXT || LA632_19 == ELSE_SYMBOL || LA632_19 == EQUAL_OPERATOR || ((LA632_19 >= FOR_SYMBOL) && (LA632_19 <= FROM_SYMBOL)) || ((LA632_19 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_19 <= GREATER_THAN_OPERATOR)) || ((LA632_19 >= GROUP_SYMBOL) && (LA632_19 <= HAVING_SYMBOL)) || ((LA632_19 >= HOUR_MICROSECOND_SYMBOL) && (LA632_19 <= IDENTIFIER)) || LA632_19 == INNER_SYMBOL || LA632_19 == INTO_SYMBOL || LA632_19 == IN_SYMBOL || LA632_19 == IS_SYMBOL || LA632_19 == JOIN_SYMBOL || ((LA632_19 >= LEFT_SYMBOL) && (LA632_19 <= LESS_THAN_OPERATOR)) || ((LA632_19 >= LIKE_SYMBOL) && (LA632_19 <= LIMIT_SYMBOL)) || LA632_19 == LOCK_SYMBOL || LA632_19 == LOGICAL_AND_OPERATOR || LA632_19 == LOGICAL_OR_OPERATOR || ((LA632_19 >= MINUS_OPERATOR) && (LA632_19 <= MINUTE_SECOND_SYMBOL)) || ((LA632_19 >= MOD_OPERATOR) && (LA632_19 <= MOD_SYMBOL)) || ((LA632_19 >= MULT_OPERATOR) && (LA632_19 <= NATURAL_SYMBOL)) || ((LA632_19 >= NOT_EQUAL2_OPERATOR) && (LA632_19 <= NOT_SYMBOL)) || LA632_19 == NULL_SAFE_EQUAL_OPERATOR || LA632_19 == ON_SYMBOL || ((LA632_19 >= ORDER_SYMBOL) && (LA632_19 <= OR_SYMBOL)) || LA632_19 == PLUS_OPERATOR || LA632_19 == PROCEDURE_SYMBOL || LA632_19 == REGEXP_SYMBOL || LA632_19 == RENAME_SYMBOL || LA632_19 == RIGHT_SYMBOL || LA632_19 == SECOND_MICROSECOND_SYMBOL || LA632_19 == SEMICOLON_SYMBOL || LA632_19 == SEPARATOR_SYMBOL || LA632_19 == SET_SYMBOL || ((LA632_19 >= SHIFT_LEFT_OPERATOR) && (LA632_19 <= SHIFT_RIGHT_OPERATOR)) || LA632_19 == SINGLE_QUOTED_TEXT || LA632_19 == STRAIGHT_JOIN_SYMBOL || LA632_19 == THEN_SYMBOL || LA632_19 == UNION_SYMBOL || LA632_19 == USING_SYMBOL || ((LA632_19 >= WHEN_SYMBOL) && (LA632_19 <= WHERE_SYMBOL)) || LA632_19 == WITH_SYMBOL || ((LA632_19 >= XOR_SYMBOL) && (LA632_19 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 19;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == MONTH_SYMBOL))
                    {
                        {
                            int LA632_20 = LA(2);
                            if ( (LA632_20 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_729 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 729;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_20 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_730 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 730;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_20 == EOF || ((LA632_20 >= ASCII_SYMBOL) && (LA632_20 <= YEAR_SYMBOL)) || ((LA632_20 >= AND_SYMBOL) && (LA632_20 <= ASC_SYMBOL)) || LA632_20 == AS_SYMBOL || LA632_20 == BACK_TICK_QUOTED_ID || LA632_20 == BETWEEN_SYMBOL || LA632_20 == BITWISE_AND_OPERATOR || ((LA632_20 >= BITWISE_OR_OPERATOR) && (LA632_20 <= BITWISE_XOR_OPERATOR)) || ((LA632_20 >= CLOSE_CURLY_SYMBOL) && (LA632_20 <= COLLATE_SYMBOL)) || LA632_20 == COMMA_SYMBOL || LA632_20 == CONCAT_PIPES_SYMBOL || LA632_20 == CROSS_SYMBOL || ((LA632_20 >= DAY_HOUR_SYMBOL) && (LA632_20 <= DAY_SECOND_SYMBOL)) || LA632_20 == DESC_SYMBOL || ((LA632_20 >= DIV_OPERATOR) && (LA632_20 <= DIV_SYMBOL)) || LA632_20 == DOUBLE_QUOTED_TEXT || LA632_20 == ELSE_SYMBOL || LA632_20 == EQUAL_OPERATOR || ((LA632_20 >= FOR_SYMBOL) && (LA632_20 <= FROM_SYMBOL)) || ((LA632_20 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_20 <= GREATER_THAN_OPERATOR)) || ((LA632_20 >= GROUP_SYMBOL) && (LA632_20 <= HAVING_SYMBOL)) || ((LA632_20 >= HOUR_MICROSECOND_SYMBOL) && (LA632_20 <= IDENTIFIER)) || LA632_20 == INNER_SYMBOL || LA632_20 == INTO_SYMBOL || LA632_20 == IN_SYMBOL || LA632_20 == IS_SYMBOL || LA632_20 == JOIN_SYMBOL || ((LA632_20 >= LEFT_SYMBOL) && (LA632_20 <= LESS_THAN_OPERATOR)) || ((LA632_20 >= LIKE_SYMBOL) && (LA632_20 <= LIMIT_SYMBOL)) || LA632_20 == LOCK_SYMBOL || LA632_20 == LOGICAL_AND_OPERATOR || LA632_20 == LOGICAL_OR_OPERATOR || ((LA632_20 >= MINUS_OPERATOR) && (LA632_20 <= MINUTE_SECOND_SYMBOL)) || ((LA632_20 >= MOD_OPERATOR) && (LA632_20 <= MOD_SYMBOL)) || ((LA632_20 >= MULT_OPERATOR) && (LA632_20 <= NATURAL_SYMBOL)) || ((LA632_20 >= NOT_EQUAL2_OPERATOR) && (LA632_20 <= NOT_SYMBOL)) || LA632_20 == NULL_SAFE_EQUAL_OPERATOR || LA632_20 == ON_SYMBOL || ((LA632_20 >= ORDER_SYMBOL) && (LA632_20 <= OR_SYMBOL)) || LA632_20 == PLUS_OPERATOR || LA632_20 == PROCEDURE_SYMBOL || LA632_20 == REGEXP_SYMBOL || LA632_20 == RENAME_SYMBOL || LA632_20 == RIGHT_SYMBOL || LA632_20 == SECOND_MICROSECOND_SYMBOL || LA632_20 == SEMICOLON_SYMBOL || LA632_20 == SEPARATOR_SYMBOL || LA632_20 == SET_SYMBOL || ((LA632_20 >= SHIFT_LEFT_OPERATOR) && (LA632_20 <= SHIFT_RIGHT_OPERATOR)) || LA632_20 == SINGLE_QUOTED_TEXT || LA632_20 == STRAIGHT_JOIN_SYMBOL || LA632_20 == THEN_SYMBOL || LA632_20 == UNION_SYMBOL || LA632_20 == USING_SYMBOL || ((LA632_20 >= WHEN_SYMBOL) && (LA632_20 <= WHERE_SYMBOL)) || LA632_20 == WITH_SYMBOL || ((LA632_20 >= XOR_SYMBOL) && (LA632_20 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 20;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == SECOND_SYMBOL))
                    {
                        {
                            int LA632_22 = LA(2);
                            if ( (LA632_22 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_819 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 819;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_22 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_820 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 820;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_22 == EOF || ((LA632_22 >= ASCII_SYMBOL) && (LA632_22 <= YEAR_SYMBOL)) || ((LA632_22 >= AND_SYMBOL) && (LA632_22 <= ASC_SYMBOL)) || LA632_22 == AS_SYMBOL || LA632_22 == BACK_TICK_QUOTED_ID || LA632_22 == BETWEEN_SYMBOL || LA632_22 == BITWISE_AND_OPERATOR || ((LA632_22 >= BITWISE_OR_OPERATOR) && (LA632_22 <= BITWISE_XOR_OPERATOR)) || ((LA632_22 >= CLOSE_CURLY_SYMBOL) && (LA632_22 <= COLLATE_SYMBOL)) || LA632_22 == COMMA_SYMBOL || LA632_22 == CONCAT_PIPES_SYMBOL || LA632_22 == CROSS_SYMBOL || ((LA632_22 >= DAY_HOUR_SYMBOL) && (LA632_22 <= DAY_SECOND_SYMBOL)) || LA632_22 == DESC_SYMBOL || ((LA632_22 >= DIV_OPERATOR) && (LA632_22 <= DIV_SYMBOL)) || LA632_22 == DOUBLE_QUOTED_TEXT || LA632_22 == ELSE_SYMBOL || LA632_22 == EQUAL_OPERATOR || ((LA632_22 >= FOR_SYMBOL) && (LA632_22 <= FROM_SYMBOL)) || ((LA632_22 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_22 <= GREATER_THAN_OPERATOR)) || ((LA632_22 >= GROUP_SYMBOL) && (LA632_22 <= HAVING_SYMBOL)) || ((LA632_22 >= HOUR_MICROSECOND_SYMBOL) && (LA632_22 <= IDENTIFIER)) || LA632_22 == INNER_SYMBOL || LA632_22 == INTO_SYMBOL || LA632_22 == IN_SYMBOL || LA632_22 == IS_SYMBOL || LA632_22 == JOIN_SYMBOL || ((LA632_22 >= LEFT_SYMBOL) && (LA632_22 <= LESS_THAN_OPERATOR)) || ((LA632_22 >= LIKE_SYMBOL) && (LA632_22 <= LIMIT_SYMBOL)) || LA632_22 == LOCK_SYMBOL || LA632_22 == LOGICAL_AND_OPERATOR || LA632_22 == LOGICAL_OR_OPERATOR || ((LA632_22 >= MINUS_OPERATOR) && (LA632_22 <= MINUTE_SECOND_SYMBOL)) || ((LA632_22 >= MOD_OPERATOR) && (LA632_22 <= MOD_SYMBOL)) || ((LA632_22 >= MULT_OPERATOR) && (LA632_22 <= NATURAL_SYMBOL)) || ((LA632_22 >= NOT_EQUAL2_OPERATOR) && (LA632_22 <= NOT_SYMBOL)) || LA632_22 == NULL_SAFE_EQUAL_OPERATOR || LA632_22 == ON_SYMBOL || ((LA632_22 >= ORDER_SYMBOL) && (LA632_22 <= OR_SYMBOL)) || LA632_22 == PLUS_OPERATOR || LA632_22 == PROCEDURE_SYMBOL || LA632_22 == REGEXP_SYMBOL || LA632_22 == RENAME_SYMBOL || LA632_22 == RIGHT_SYMBOL || LA632_22 == SECOND_MICROSECOND_SYMBOL || LA632_22 == SEMICOLON_SYMBOL || LA632_22 == SEPARATOR_SYMBOL || LA632_22 == SET_SYMBOL || ((LA632_22 >= SHIFT_LEFT_OPERATOR) && (LA632_22 <= SHIFT_RIGHT_OPERATOR)) || LA632_22 == SINGLE_QUOTED_TEXT || LA632_22 == STRAIGHT_JOIN_SYMBOL || LA632_22 == THEN_SYMBOL || LA632_22 == UNION_SYMBOL || LA632_22 == USING_SYMBOL || ((LA632_22 >= WHEN_SYMBOL) && (LA632_22 <= WHERE_SYMBOL)) || LA632_22 == WITH_SYMBOL || ((LA632_22 >= XOR_SYMBOL) && (LA632_22 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 22;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == USER_SYMBOL))
                    {
                        {
                            int LA632_24 = LA(2);
                            if ( (LA632_24 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_909 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 909;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_24 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_910 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 910;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_24 == EOF || ((LA632_24 >= ASCII_SYMBOL) && (LA632_24 <= YEAR_SYMBOL)) || ((LA632_24 >= AND_SYMBOL) && (LA632_24 <= ASC_SYMBOL)) || LA632_24 == AS_SYMBOL || LA632_24 == BACK_TICK_QUOTED_ID || LA632_24 == BETWEEN_SYMBOL || LA632_24 == BITWISE_AND_OPERATOR || ((LA632_24 >= BITWISE_OR_OPERATOR) && (LA632_24 <= BITWISE_XOR_OPERATOR)) || ((LA632_24 >= CLOSE_CURLY_SYMBOL) && (LA632_24 <= COLLATE_SYMBOL)) || LA632_24 == COMMA_SYMBOL || LA632_24 == CONCAT_PIPES_SYMBOL || LA632_24 == CROSS_SYMBOL || ((LA632_24 >= DAY_HOUR_SYMBOL) && (LA632_24 <= DAY_SECOND_SYMBOL)) || LA632_24 == DESC_SYMBOL || ((LA632_24 >= DIV_OPERATOR) && (LA632_24 <= DIV_SYMBOL)) || LA632_24 == DOUBLE_QUOTED_TEXT || LA632_24 == ELSE_SYMBOL || LA632_24 == EQUAL_OPERATOR || ((LA632_24 >= FOR_SYMBOL) && (LA632_24 <= FROM_SYMBOL)) || ((LA632_24 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_24 <= GREATER_THAN_OPERATOR)) || ((LA632_24 >= GROUP_SYMBOL) && (LA632_24 <= HAVING_SYMBOL)) || ((LA632_24 >= HOUR_MICROSECOND_SYMBOL) && (LA632_24 <= IDENTIFIER)) || LA632_24 == INNER_SYMBOL || LA632_24 == INTO_SYMBOL || LA632_24 == IN_SYMBOL || LA632_24 == IS_SYMBOL || LA632_24 == JOIN_SYMBOL || ((LA632_24 >= LEFT_SYMBOL) && (LA632_24 <= LESS_THAN_OPERATOR)) || ((LA632_24 >= LIKE_SYMBOL) && (LA632_24 <= LIMIT_SYMBOL)) || LA632_24 == LOCK_SYMBOL || LA632_24 == LOGICAL_AND_OPERATOR || LA632_24 == LOGICAL_OR_OPERATOR || ((LA632_24 >= MINUS_OPERATOR) && (LA632_24 <= MINUTE_SECOND_SYMBOL)) || ((LA632_24 >= MOD_OPERATOR) && (LA632_24 <= MOD_SYMBOL)) || ((LA632_24 >= MULT_OPERATOR) && (LA632_24 <= NATURAL_SYMBOL)) || ((LA632_24 >= NOT_EQUAL2_OPERATOR) && (LA632_24 <= NOT_SYMBOL)) || LA632_24 == NULL_SAFE_EQUAL_OPERATOR || LA632_24 == ON_SYMBOL || ((LA632_24 >= ORDER_SYMBOL) && (LA632_24 <= OR_SYMBOL)) || LA632_24 == PLUS_OPERATOR || LA632_24 == PROCEDURE_SYMBOL || LA632_24 == REGEXP_SYMBOL || LA632_24 == RENAME_SYMBOL || LA632_24 == RIGHT_SYMBOL || LA632_24 == SECOND_MICROSECOND_SYMBOL || LA632_24 == SEMICOLON_SYMBOL || LA632_24 == SEPARATOR_SYMBOL || LA632_24 == SET_SYMBOL || ((LA632_24 >= SHIFT_LEFT_OPERATOR) && (LA632_24 <= SHIFT_RIGHT_OPERATOR)) || LA632_24 == SINGLE_QUOTED_TEXT || LA632_24 == STRAIGHT_JOIN_SYMBOL || LA632_24 == THEN_SYMBOL || LA632_24 == UNION_SYMBOL || LA632_24 == USING_SYMBOL || ((LA632_24 >= WHEN_SYMBOL) && (LA632_24 <= WHERE_SYMBOL)) || LA632_24 == WITH_SYMBOL || ((LA632_24 >= XOR_SYMBOL) && (LA632_24 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 24;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == YEAR_SYMBOL))
                    {
                        {
                            int LA632_26 = LA(2);
                            if ( (LA632_26 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_999 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 999;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_26 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1000 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1000;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_26 == EOF || ((LA632_26 >= ASCII_SYMBOL) && (LA632_26 <= YEAR_SYMBOL)) || ((LA632_26 >= AND_SYMBOL) && (LA632_26 <= ASC_SYMBOL)) || LA632_26 == AS_SYMBOL || LA632_26 == BACK_TICK_QUOTED_ID || LA632_26 == BETWEEN_SYMBOL || LA632_26 == BITWISE_AND_OPERATOR || ((LA632_26 >= BITWISE_OR_OPERATOR) && (LA632_26 <= BITWISE_XOR_OPERATOR)) || ((LA632_26 >= CLOSE_CURLY_SYMBOL) && (LA632_26 <= COLLATE_SYMBOL)) || LA632_26 == COMMA_SYMBOL || LA632_26 == CONCAT_PIPES_SYMBOL || LA632_26 == CROSS_SYMBOL || ((LA632_26 >= DAY_HOUR_SYMBOL) && (LA632_26 <= DAY_SECOND_SYMBOL)) || LA632_26 == DESC_SYMBOL || ((LA632_26 >= DIV_OPERATOR) && (LA632_26 <= DIV_SYMBOL)) || LA632_26 == DOUBLE_QUOTED_TEXT || LA632_26 == ELSE_SYMBOL || LA632_26 == EQUAL_OPERATOR || ((LA632_26 >= FOR_SYMBOL) && (LA632_26 <= FROM_SYMBOL)) || ((LA632_26 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_26 <= GREATER_THAN_OPERATOR)) || ((LA632_26 >= GROUP_SYMBOL) && (LA632_26 <= HAVING_SYMBOL)) || ((LA632_26 >= HOUR_MICROSECOND_SYMBOL) && (LA632_26 <= IDENTIFIER)) || LA632_26 == INNER_SYMBOL || LA632_26 == INTO_SYMBOL || LA632_26 == IN_SYMBOL || LA632_26 == IS_SYMBOL || LA632_26 == JOIN_SYMBOL || ((LA632_26 >= LEFT_SYMBOL) && (LA632_26 <= LESS_THAN_OPERATOR)) || ((LA632_26 >= LIKE_SYMBOL) && (LA632_26 <= LIMIT_SYMBOL)) || LA632_26 == LOCK_SYMBOL || LA632_26 == LOGICAL_AND_OPERATOR || LA632_26 == LOGICAL_OR_OPERATOR || ((LA632_26 >= MINUS_OPERATOR) && (LA632_26 <= MINUTE_SECOND_SYMBOL)) || ((LA632_26 >= MOD_OPERATOR) && (LA632_26 <= MOD_SYMBOL)) || ((LA632_26 >= MULT_OPERATOR) && (LA632_26 <= NATURAL_SYMBOL)) || ((LA632_26 >= NOT_EQUAL2_OPERATOR) && (LA632_26 <= NOT_SYMBOL)) || LA632_26 == NULL_SAFE_EQUAL_OPERATOR || LA632_26 == ON_SYMBOL || ((LA632_26 >= ORDER_SYMBOL) && (LA632_26 <= OR_SYMBOL)) || LA632_26 == PLUS_OPERATOR || LA632_26 == PROCEDURE_SYMBOL || LA632_26 == REGEXP_SYMBOL || LA632_26 == RENAME_SYMBOL || LA632_26 == RIGHT_SYMBOL || LA632_26 == SECOND_MICROSECOND_SYMBOL || LA632_26 == SEMICOLON_SYMBOL || LA632_26 == SEPARATOR_SYMBOL || LA632_26 == SET_SYMBOL || ((LA632_26 >= SHIFT_LEFT_OPERATOR) && (LA632_26 <= SHIFT_RIGHT_OPERATOR)) || LA632_26 == SINGLE_QUOTED_TEXT || LA632_26 == STRAIGHT_JOIN_SYMBOL || LA632_26 == THEN_SYMBOL || LA632_26 == UNION_SYMBOL || LA632_26 == USING_SYMBOL || ((LA632_26 >= WHEN_SYMBOL) && (LA632_26 <= WHERE_SYMBOL)) || LA632_26 == WITH_SYMBOL || ((LA632_26 >= XOR_SYMBOL) && (LA632_26 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 26;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == ADDDATE_SYMBOL || LA632_0 == SUBDATE_SYMBOL))
                    {
                        {
                            int LA632_27 = LA(2);
                            if ( (LA632_27 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1089 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1089;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_27 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1090 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1090;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_27 == EOF || ((LA632_27 >= ASCII_SYMBOL) && (LA632_27 <= YEAR_SYMBOL)) || ((LA632_27 >= AND_SYMBOL) && (LA632_27 <= ASC_SYMBOL)) || LA632_27 == AS_SYMBOL || LA632_27 == BACK_TICK_QUOTED_ID || LA632_27 == BETWEEN_SYMBOL || LA632_27 == BITWISE_AND_OPERATOR || ((LA632_27 >= BITWISE_OR_OPERATOR) && (LA632_27 <= BITWISE_XOR_OPERATOR)) || ((LA632_27 >= CLOSE_CURLY_SYMBOL) && (LA632_27 <= COLLATE_SYMBOL)) || LA632_27 == COMMA_SYMBOL || LA632_27 == CONCAT_PIPES_SYMBOL || LA632_27 == CROSS_SYMBOL || ((LA632_27 >= DAY_HOUR_SYMBOL) && (LA632_27 <= DAY_SECOND_SYMBOL)) || LA632_27 == DESC_SYMBOL || ((LA632_27 >= DIV_OPERATOR) && (LA632_27 <= DIV_SYMBOL)) || LA632_27 == DOUBLE_QUOTED_TEXT || LA632_27 == ELSE_SYMBOL || LA632_27 == EQUAL_OPERATOR || ((LA632_27 >= FOR_SYMBOL) && (LA632_27 <= FROM_SYMBOL)) || ((LA632_27 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_27 <= GREATER_THAN_OPERATOR)) || ((LA632_27 >= GROUP_SYMBOL) && (LA632_27 <= HAVING_SYMBOL)) || ((LA632_27 >= HOUR_MICROSECOND_SYMBOL) && (LA632_27 <= IDENTIFIER)) || LA632_27 == INNER_SYMBOL || LA632_27 == INTO_SYMBOL || LA632_27 == IN_SYMBOL || LA632_27 == IS_SYMBOL || LA632_27 == JOIN_SYMBOL || ((LA632_27 >= LEFT_SYMBOL) && (LA632_27 <= LESS_THAN_OPERATOR)) || ((LA632_27 >= LIKE_SYMBOL) && (LA632_27 <= LIMIT_SYMBOL)) || LA632_27 == LOCK_SYMBOL || LA632_27 == LOGICAL_AND_OPERATOR || LA632_27 == LOGICAL_OR_OPERATOR || ((LA632_27 >= MINUS_OPERATOR) && (LA632_27 <= MINUTE_SECOND_SYMBOL)) || ((LA632_27 >= MOD_OPERATOR) && (LA632_27 <= MOD_SYMBOL)) || ((LA632_27 >= MULT_OPERATOR) && (LA632_27 <= NATURAL_SYMBOL)) || ((LA632_27 >= NOT_EQUAL2_OPERATOR) && (LA632_27 <= NOT_SYMBOL)) || LA632_27 == NULL_SAFE_EQUAL_OPERATOR || LA632_27 == ON_SYMBOL || ((LA632_27 >= ORDER_SYMBOL) && (LA632_27 <= OR_SYMBOL)) || LA632_27 == PLUS_OPERATOR || LA632_27 == PROCEDURE_SYMBOL || LA632_27 == REGEXP_SYMBOL || LA632_27 == RENAME_SYMBOL || LA632_27 == RIGHT_SYMBOL || LA632_27 == SECOND_MICROSECOND_SYMBOL || LA632_27 == SEMICOLON_SYMBOL || LA632_27 == SEPARATOR_SYMBOL || LA632_27 == SET_SYMBOL || ((LA632_27 >= SHIFT_LEFT_OPERATOR) && (LA632_27 <= SHIFT_RIGHT_OPERATOR)) || LA632_27 == SINGLE_QUOTED_TEXT || LA632_27 == STRAIGHT_JOIN_SYMBOL || LA632_27 == THEN_SYMBOL || LA632_27 == UNION_SYMBOL || LA632_27 == USING_SYMBOL || ((LA632_27 >= WHEN_SYMBOL) && (LA632_27 <= WHERE_SYMBOL)) || LA632_27 == WITH_SYMBOL || ((LA632_27 >= XOR_SYMBOL) && (LA632_27 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 27;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == GET_FORMAT_SYMBOL))
                    {
                        {
                            int LA632_32 = LA(2);
                            if ( (LA632_32 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1179 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1179;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_32 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1180 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1180;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_32 == EOF || ((LA632_32 >= ASCII_SYMBOL) && (LA632_32 <= YEAR_SYMBOL)) || ((LA632_32 >= AND_SYMBOL) && (LA632_32 <= ASC_SYMBOL)) || LA632_32 == AS_SYMBOL || LA632_32 == BACK_TICK_QUOTED_ID || LA632_32 == BETWEEN_SYMBOL || LA632_32 == BITWISE_AND_OPERATOR || ((LA632_32 >= BITWISE_OR_OPERATOR) && (LA632_32 <= BITWISE_XOR_OPERATOR)) || ((LA632_32 >= CLOSE_CURLY_SYMBOL) && (LA632_32 <= COLLATE_SYMBOL)) || LA632_32 == COMMA_SYMBOL || LA632_32 == CONCAT_PIPES_SYMBOL || LA632_32 == CROSS_SYMBOL || ((LA632_32 >= DAY_HOUR_SYMBOL) && (LA632_32 <= DAY_SECOND_SYMBOL)) || LA632_32 == DESC_SYMBOL || ((LA632_32 >= DIV_OPERATOR) && (LA632_32 <= DIV_SYMBOL)) || LA632_32 == DOUBLE_QUOTED_TEXT || LA632_32 == ELSE_SYMBOL || LA632_32 == EQUAL_OPERATOR || ((LA632_32 >= FOR_SYMBOL) && (LA632_32 <= FROM_SYMBOL)) || ((LA632_32 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_32 <= GREATER_THAN_OPERATOR)) || ((LA632_32 >= GROUP_SYMBOL) && (LA632_32 <= HAVING_SYMBOL)) || ((LA632_32 >= HOUR_MICROSECOND_SYMBOL) && (LA632_32 <= IDENTIFIER)) || LA632_32 == INNER_SYMBOL || LA632_32 == INTO_SYMBOL || LA632_32 == IN_SYMBOL || LA632_32 == IS_SYMBOL || LA632_32 == JOIN_SYMBOL || ((LA632_32 >= LEFT_SYMBOL) && (LA632_32 <= LESS_THAN_OPERATOR)) || ((LA632_32 >= LIKE_SYMBOL) && (LA632_32 <= LIMIT_SYMBOL)) || LA632_32 == LOCK_SYMBOL || LA632_32 == LOGICAL_AND_OPERATOR || LA632_32 == LOGICAL_OR_OPERATOR || ((LA632_32 >= MINUS_OPERATOR) && (LA632_32 <= MINUTE_SECOND_SYMBOL)) || ((LA632_32 >= MOD_OPERATOR) && (LA632_32 <= MOD_SYMBOL)) || ((LA632_32 >= MULT_OPERATOR) && (LA632_32 <= NATURAL_SYMBOL)) || ((LA632_32 >= NOT_EQUAL2_OPERATOR) && (LA632_32 <= NOT_SYMBOL)) || LA632_32 == NULL_SAFE_EQUAL_OPERATOR || LA632_32 == ON_SYMBOL || ((LA632_32 >= ORDER_SYMBOL) && (LA632_32 <= OR_SYMBOL)) || LA632_32 == PLUS_OPERATOR || LA632_32 == PROCEDURE_SYMBOL || LA632_32 == REGEXP_SYMBOL || LA632_32 == RENAME_SYMBOL || LA632_32 == RIGHT_SYMBOL || LA632_32 == SECOND_MICROSECOND_SYMBOL || LA632_32 == SEMICOLON_SYMBOL || LA632_32 == SEPARATOR_SYMBOL || LA632_32 == SET_SYMBOL || ((LA632_32 >= SHIFT_LEFT_OPERATOR) && (LA632_32 <= SHIFT_RIGHT_OPERATOR)) || LA632_32 == SINGLE_QUOTED_TEXT || LA632_32 == STRAIGHT_JOIN_SYMBOL || LA632_32 == THEN_SYMBOL || LA632_32 == UNION_SYMBOL || LA632_32 == USING_SYMBOL || ((LA632_32 >= WHEN_SYMBOL) && (LA632_32 <= WHERE_SYMBOL)) || LA632_32 == WITH_SYMBOL || ((LA632_32 >= XOR_SYMBOL) && (LA632_32 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 32;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA632_0 >= TIMESTAMP_ADD_SYMBOL) && (LA632_0 <= TIMESTAMP_DIFF_SYMBOL))))
                    {
                        {
                            int LA632_37 = LA(2);
                            if ( (LA632_37 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1269 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1269;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_37 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1270 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1270;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_37 == EOF || ((LA632_37 >= ASCII_SYMBOL) && (LA632_37 <= YEAR_SYMBOL)) || ((LA632_37 >= AND_SYMBOL) && (LA632_37 <= ASC_SYMBOL)) || LA632_37 == AS_SYMBOL || LA632_37 == BACK_TICK_QUOTED_ID || LA632_37 == BETWEEN_SYMBOL || LA632_37 == BITWISE_AND_OPERATOR || ((LA632_37 >= BITWISE_OR_OPERATOR) && (LA632_37 <= BITWISE_XOR_OPERATOR)) || ((LA632_37 >= CLOSE_CURLY_SYMBOL) && (LA632_37 <= COLLATE_SYMBOL)) || LA632_37 == COMMA_SYMBOL || LA632_37 == CONCAT_PIPES_SYMBOL || LA632_37 == CROSS_SYMBOL || ((LA632_37 >= DAY_HOUR_SYMBOL) && (LA632_37 <= DAY_SECOND_SYMBOL)) || LA632_37 == DESC_SYMBOL || ((LA632_37 >= DIV_OPERATOR) && (LA632_37 <= DIV_SYMBOL)) || LA632_37 == DOUBLE_QUOTED_TEXT || LA632_37 == ELSE_SYMBOL || LA632_37 == EQUAL_OPERATOR || ((LA632_37 >= FOR_SYMBOL) && (LA632_37 <= FROM_SYMBOL)) || ((LA632_37 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_37 <= GREATER_THAN_OPERATOR)) || ((LA632_37 >= GROUP_SYMBOL) && (LA632_37 <= HAVING_SYMBOL)) || ((LA632_37 >= HOUR_MICROSECOND_SYMBOL) && (LA632_37 <= IDENTIFIER)) || LA632_37 == INNER_SYMBOL || LA632_37 == INTO_SYMBOL || LA632_37 == IN_SYMBOL || LA632_37 == IS_SYMBOL || LA632_37 == JOIN_SYMBOL || ((LA632_37 >= LEFT_SYMBOL) && (LA632_37 <= LESS_THAN_OPERATOR)) || ((LA632_37 >= LIKE_SYMBOL) && (LA632_37 <= LIMIT_SYMBOL)) || LA632_37 == LOCK_SYMBOL || LA632_37 == LOGICAL_AND_OPERATOR || LA632_37 == LOGICAL_OR_OPERATOR || ((LA632_37 >= MINUS_OPERATOR) && (LA632_37 <= MINUTE_SECOND_SYMBOL)) || ((LA632_37 >= MOD_OPERATOR) && (LA632_37 <= MOD_SYMBOL)) || ((LA632_37 >= MULT_OPERATOR) && (LA632_37 <= NATURAL_SYMBOL)) || ((LA632_37 >= NOT_EQUAL2_OPERATOR) && (LA632_37 <= NOT_SYMBOL)) || LA632_37 == NULL_SAFE_EQUAL_OPERATOR || LA632_37 == ON_SYMBOL || ((LA632_37 >= ORDER_SYMBOL) && (LA632_37 <= OR_SYMBOL)) || LA632_37 == PLUS_OPERATOR || LA632_37 == PROCEDURE_SYMBOL || LA632_37 == REGEXP_SYMBOL || LA632_37 == RENAME_SYMBOL || LA632_37 == RIGHT_SYMBOL || LA632_37 == SECOND_MICROSECOND_SYMBOL || LA632_37 == SEMICOLON_SYMBOL || LA632_37 == SEPARATOR_SYMBOL || LA632_37 == SET_SYMBOL || ((LA632_37 >= SHIFT_LEFT_OPERATOR) && (LA632_37 <= SHIFT_RIGHT_OPERATOR)) || LA632_37 == SINGLE_QUOTED_TEXT || LA632_37 == STRAIGHT_JOIN_SYMBOL || LA632_37 == THEN_SYMBOL || LA632_37 == UNION_SYMBOL || LA632_37 == USING_SYMBOL || ((LA632_37 >= WHEN_SYMBOL) && (LA632_37 <= WHERE_SYMBOL)) || LA632_37 == WITH_SYMBOL || ((LA632_37 >= XOR_SYMBOL) && (LA632_37 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 37;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == ASCII_SYMBOL))
                    {
                        {
                            int LA632_41 = LA(2);
                            if ( (LA632_41 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1359 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1359;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_41 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1360 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1360;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_41 == EOF || ((LA632_41 >= ASCII_SYMBOL) && (LA632_41 <= YEAR_SYMBOL)) || ((LA632_41 >= AND_SYMBOL) && (LA632_41 <= ASC_SYMBOL)) || LA632_41 == AS_SYMBOL || LA632_41 == BACK_TICK_QUOTED_ID || LA632_41 == BETWEEN_SYMBOL || LA632_41 == BITWISE_AND_OPERATOR || ((LA632_41 >= BITWISE_OR_OPERATOR) && (LA632_41 <= BITWISE_XOR_OPERATOR)) || ((LA632_41 >= CLOSE_CURLY_SYMBOL) && (LA632_41 <= COLLATE_SYMBOL)) || LA632_41 == COMMA_SYMBOL || LA632_41 == CONCAT_PIPES_SYMBOL || LA632_41 == CROSS_SYMBOL || ((LA632_41 >= DAY_HOUR_SYMBOL) && (LA632_41 <= DAY_SECOND_SYMBOL)) || LA632_41 == DESC_SYMBOL || ((LA632_41 >= DIV_OPERATOR) && (LA632_41 <= DIV_SYMBOL)) || LA632_41 == DOUBLE_QUOTED_TEXT || LA632_41 == ELSE_SYMBOL || LA632_41 == EQUAL_OPERATOR || ((LA632_41 >= FOR_SYMBOL) && (LA632_41 <= FROM_SYMBOL)) || ((LA632_41 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_41 <= GREATER_THAN_OPERATOR)) || ((LA632_41 >= GROUP_SYMBOL) && (LA632_41 <= HAVING_SYMBOL)) || ((LA632_41 >= HOUR_MICROSECOND_SYMBOL) && (LA632_41 <= IDENTIFIER)) || LA632_41 == INNER_SYMBOL || LA632_41 == INTO_SYMBOL || LA632_41 == IN_SYMBOL || LA632_41 == IS_SYMBOL || LA632_41 == JOIN_SYMBOL || ((LA632_41 >= LEFT_SYMBOL) && (LA632_41 <= LESS_THAN_OPERATOR)) || ((LA632_41 >= LIKE_SYMBOL) && (LA632_41 <= LIMIT_SYMBOL)) || LA632_41 == LOCK_SYMBOL || LA632_41 == LOGICAL_AND_OPERATOR || LA632_41 == LOGICAL_OR_OPERATOR || ((LA632_41 >= MINUS_OPERATOR) && (LA632_41 <= MINUTE_SECOND_SYMBOL)) || ((LA632_41 >= MOD_OPERATOR) && (LA632_41 <= MOD_SYMBOL)) || ((LA632_41 >= MULT_OPERATOR) && (LA632_41 <= NATURAL_SYMBOL)) || ((LA632_41 >= NOT_EQUAL2_OPERATOR) && (LA632_41 <= NOT_SYMBOL)) || LA632_41 == NULL_SAFE_EQUAL_OPERATOR || LA632_41 == ON_SYMBOL || ((LA632_41 >= ORDER_SYMBOL) && (LA632_41 <= OR_SYMBOL)) || LA632_41 == PLUS_OPERATOR || LA632_41 == PROCEDURE_SYMBOL || LA632_41 == REGEXP_SYMBOL || LA632_41 == RENAME_SYMBOL || LA632_41 == RIGHT_SYMBOL || LA632_41 == SECOND_MICROSECOND_SYMBOL || LA632_41 == SEMICOLON_SYMBOL || LA632_41 == SEPARATOR_SYMBOL || LA632_41 == SET_SYMBOL || ((LA632_41 >= SHIFT_LEFT_OPERATOR) && (LA632_41 <= SHIFT_RIGHT_OPERATOR)) || LA632_41 == SINGLE_QUOTED_TEXT || LA632_41 == STRAIGHT_JOIN_SYMBOL || LA632_41 == THEN_SYMBOL || LA632_41 == UNION_SYMBOL || LA632_41 == USING_SYMBOL || ((LA632_41 >= WHEN_SYMBOL) && (LA632_41 <= WHERE_SYMBOL)) || LA632_41 == WITH_SYMBOL || ((LA632_41 >= XOR_SYMBOL) && (LA632_41 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 41;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == CHARSET_SYMBOL))
                    {
                        {
                            int LA632_42 = LA(2);
                            if ( (LA632_42 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1449 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1449;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_42 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1450 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1450;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_42 == EOF || ((LA632_42 >= ASCII_SYMBOL) && (LA632_42 <= YEAR_SYMBOL)) || ((LA632_42 >= AND_SYMBOL) && (LA632_42 <= ASC_SYMBOL)) || LA632_42 == AS_SYMBOL || LA632_42 == BACK_TICK_QUOTED_ID || LA632_42 == BETWEEN_SYMBOL || LA632_42 == BITWISE_AND_OPERATOR || ((LA632_42 >= BITWISE_OR_OPERATOR) && (LA632_42 <= BITWISE_XOR_OPERATOR)) || ((LA632_42 >= CLOSE_CURLY_SYMBOL) && (LA632_42 <= COLLATE_SYMBOL)) || LA632_42 == COMMA_SYMBOL || LA632_42 == CONCAT_PIPES_SYMBOL || LA632_42 == CROSS_SYMBOL || ((LA632_42 >= DAY_HOUR_SYMBOL) && (LA632_42 <= DAY_SECOND_SYMBOL)) || LA632_42 == DESC_SYMBOL || ((LA632_42 >= DIV_OPERATOR) && (LA632_42 <= DIV_SYMBOL)) || LA632_42 == DOUBLE_QUOTED_TEXT || LA632_42 == ELSE_SYMBOL || LA632_42 == EQUAL_OPERATOR || ((LA632_42 >= FOR_SYMBOL) && (LA632_42 <= FROM_SYMBOL)) || ((LA632_42 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_42 <= GREATER_THAN_OPERATOR)) || ((LA632_42 >= GROUP_SYMBOL) && (LA632_42 <= HAVING_SYMBOL)) || ((LA632_42 >= HOUR_MICROSECOND_SYMBOL) && (LA632_42 <= IDENTIFIER)) || LA632_42 == INNER_SYMBOL || LA632_42 == INTO_SYMBOL || LA632_42 == IN_SYMBOL || LA632_42 == IS_SYMBOL || LA632_42 == JOIN_SYMBOL || ((LA632_42 >= LEFT_SYMBOL) && (LA632_42 <= LESS_THAN_OPERATOR)) || ((LA632_42 >= LIKE_SYMBOL) && (LA632_42 <= LIMIT_SYMBOL)) || LA632_42 == LOCK_SYMBOL || LA632_42 == LOGICAL_AND_OPERATOR || LA632_42 == LOGICAL_OR_OPERATOR || ((LA632_42 >= MINUS_OPERATOR) && (LA632_42 <= MINUTE_SECOND_SYMBOL)) || ((LA632_42 >= MOD_OPERATOR) && (LA632_42 <= MOD_SYMBOL)) || ((LA632_42 >= MULT_OPERATOR) && (LA632_42 <= NATURAL_SYMBOL)) || ((LA632_42 >= NOT_EQUAL2_OPERATOR) && (LA632_42 <= NOT_SYMBOL)) || LA632_42 == NULL_SAFE_EQUAL_OPERATOR || LA632_42 == ON_SYMBOL || ((LA632_42 >= ORDER_SYMBOL) && (LA632_42 <= OR_SYMBOL)) || LA632_42 == PLUS_OPERATOR || LA632_42 == PROCEDURE_SYMBOL || LA632_42 == REGEXP_SYMBOL || LA632_42 == RENAME_SYMBOL || LA632_42 == RIGHT_SYMBOL || LA632_42 == SECOND_MICROSECOND_SYMBOL || LA632_42 == SEMICOLON_SYMBOL || LA632_42 == SEPARATOR_SYMBOL || LA632_42 == SET_SYMBOL || ((LA632_42 >= SHIFT_LEFT_OPERATOR) && (LA632_42 <= SHIFT_RIGHT_OPERATOR)) || LA632_42 == SINGLE_QUOTED_TEXT || LA632_42 == STRAIGHT_JOIN_SYMBOL || LA632_42 == THEN_SYMBOL || LA632_42 == UNION_SYMBOL || LA632_42 == USING_SYMBOL || ((LA632_42 >= WHEN_SYMBOL) && (LA632_42 <= WHERE_SYMBOL)) || LA632_42 == WITH_SYMBOL || ((LA632_42 >= XOR_SYMBOL) && (LA632_42 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 42;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == COALESCE_SYMBOL))
                    {
                        {
                            int LA632_43 = LA(2);
                            if ( (LA632_43 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1539 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1539;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_43 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1540 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1540;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_43 == EOF || ((LA632_43 >= ASCII_SYMBOL) && (LA632_43 <= YEAR_SYMBOL)) || ((LA632_43 >= AND_SYMBOL) && (LA632_43 <= ASC_SYMBOL)) || LA632_43 == AS_SYMBOL || LA632_43 == BACK_TICK_QUOTED_ID || LA632_43 == BETWEEN_SYMBOL || LA632_43 == BITWISE_AND_OPERATOR || ((LA632_43 >= BITWISE_OR_OPERATOR) && (LA632_43 <= BITWISE_XOR_OPERATOR)) || ((LA632_43 >= CLOSE_CURLY_SYMBOL) && (LA632_43 <= COLLATE_SYMBOL)) || LA632_43 == COMMA_SYMBOL || LA632_43 == CONCAT_PIPES_SYMBOL || LA632_43 == CROSS_SYMBOL || ((LA632_43 >= DAY_HOUR_SYMBOL) && (LA632_43 <= DAY_SECOND_SYMBOL)) || LA632_43 == DESC_SYMBOL || ((LA632_43 >= DIV_OPERATOR) && (LA632_43 <= DIV_SYMBOL)) || LA632_43 == DOUBLE_QUOTED_TEXT || LA632_43 == ELSE_SYMBOL || LA632_43 == EQUAL_OPERATOR || ((LA632_43 >= FOR_SYMBOL) && (LA632_43 <= FROM_SYMBOL)) || ((LA632_43 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_43 <= GREATER_THAN_OPERATOR)) || ((LA632_43 >= GROUP_SYMBOL) && (LA632_43 <= HAVING_SYMBOL)) || ((LA632_43 >= HOUR_MICROSECOND_SYMBOL) && (LA632_43 <= IDENTIFIER)) || LA632_43 == INNER_SYMBOL || LA632_43 == INTO_SYMBOL || LA632_43 == IN_SYMBOL || LA632_43 == IS_SYMBOL || LA632_43 == JOIN_SYMBOL || ((LA632_43 >= LEFT_SYMBOL) && (LA632_43 <= LESS_THAN_OPERATOR)) || ((LA632_43 >= LIKE_SYMBOL) && (LA632_43 <= LIMIT_SYMBOL)) || LA632_43 == LOCK_SYMBOL || LA632_43 == LOGICAL_AND_OPERATOR || LA632_43 == LOGICAL_OR_OPERATOR || ((LA632_43 >= MINUS_OPERATOR) && (LA632_43 <= MINUTE_SECOND_SYMBOL)) || ((LA632_43 >= MOD_OPERATOR) && (LA632_43 <= MOD_SYMBOL)) || ((LA632_43 >= MULT_OPERATOR) && (LA632_43 <= NATURAL_SYMBOL)) || ((LA632_43 >= NOT_EQUAL2_OPERATOR) && (LA632_43 <= NOT_SYMBOL)) || LA632_43 == NULL_SAFE_EQUAL_OPERATOR || LA632_43 == ON_SYMBOL || ((LA632_43 >= ORDER_SYMBOL) && (LA632_43 <= OR_SYMBOL)) || LA632_43 == PLUS_OPERATOR || LA632_43 == PROCEDURE_SYMBOL || LA632_43 == REGEXP_SYMBOL || LA632_43 == RENAME_SYMBOL || LA632_43 == RIGHT_SYMBOL || LA632_43 == SECOND_MICROSECOND_SYMBOL || LA632_43 == SEMICOLON_SYMBOL || LA632_43 == SEPARATOR_SYMBOL || LA632_43 == SET_SYMBOL || ((LA632_43 >= SHIFT_LEFT_OPERATOR) && (LA632_43 <= SHIFT_RIGHT_OPERATOR)) || LA632_43 == SINGLE_QUOTED_TEXT || LA632_43 == STRAIGHT_JOIN_SYMBOL || LA632_43 == THEN_SYMBOL || LA632_43 == UNION_SYMBOL || LA632_43 == USING_SYMBOL || ((LA632_43 >= WHEN_SYMBOL) && (LA632_43 <= WHERE_SYMBOL)) || LA632_43 == WITH_SYMBOL || ((LA632_43 >= XOR_SYMBOL) && (LA632_43 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 43;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == COLLATION_SYMBOL))
                    {
                        {
                            int LA632_44 = LA(2);
                            if ( (LA632_44 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1629 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1629;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_44 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1630 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1630;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_44 == EOF || ((LA632_44 >= ASCII_SYMBOL) && (LA632_44 <= YEAR_SYMBOL)) || ((LA632_44 >= AND_SYMBOL) && (LA632_44 <= ASC_SYMBOL)) || LA632_44 == AS_SYMBOL || LA632_44 == BACK_TICK_QUOTED_ID || LA632_44 == BETWEEN_SYMBOL || LA632_44 == BITWISE_AND_OPERATOR || ((LA632_44 >= BITWISE_OR_OPERATOR) && (LA632_44 <= BITWISE_XOR_OPERATOR)) || ((LA632_44 >= CLOSE_CURLY_SYMBOL) && (LA632_44 <= COLLATE_SYMBOL)) || LA632_44 == COMMA_SYMBOL || LA632_44 == CONCAT_PIPES_SYMBOL || LA632_44 == CROSS_SYMBOL || ((LA632_44 >= DAY_HOUR_SYMBOL) && (LA632_44 <= DAY_SECOND_SYMBOL)) || LA632_44 == DESC_SYMBOL || ((LA632_44 >= DIV_OPERATOR) && (LA632_44 <= DIV_SYMBOL)) || LA632_44 == DOUBLE_QUOTED_TEXT || LA632_44 == ELSE_SYMBOL || LA632_44 == EQUAL_OPERATOR || ((LA632_44 >= FOR_SYMBOL) && (LA632_44 <= FROM_SYMBOL)) || ((LA632_44 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_44 <= GREATER_THAN_OPERATOR)) || ((LA632_44 >= GROUP_SYMBOL) && (LA632_44 <= HAVING_SYMBOL)) || ((LA632_44 >= HOUR_MICROSECOND_SYMBOL) && (LA632_44 <= IDENTIFIER)) || LA632_44 == INNER_SYMBOL || LA632_44 == INTO_SYMBOL || LA632_44 == IN_SYMBOL || LA632_44 == IS_SYMBOL || LA632_44 == JOIN_SYMBOL || ((LA632_44 >= LEFT_SYMBOL) && (LA632_44 <= LESS_THAN_OPERATOR)) || ((LA632_44 >= LIKE_SYMBOL) && (LA632_44 <= LIMIT_SYMBOL)) || LA632_44 == LOCK_SYMBOL || LA632_44 == LOGICAL_AND_OPERATOR || LA632_44 == LOGICAL_OR_OPERATOR || ((LA632_44 >= MINUS_OPERATOR) && (LA632_44 <= MINUTE_SECOND_SYMBOL)) || ((LA632_44 >= MOD_OPERATOR) && (LA632_44 <= MOD_SYMBOL)) || ((LA632_44 >= MULT_OPERATOR) && (LA632_44 <= NATURAL_SYMBOL)) || ((LA632_44 >= NOT_EQUAL2_OPERATOR) && (LA632_44 <= NOT_SYMBOL)) || LA632_44 == NULL_SAFE_EQUAL_OPERATOR || LA632_44 == ON_SYMBOL || ((LA632_44 >= ORDER_SYMBOL) && (LA632_44 <= OR_SYMBOL)) || LA632_44 == PLUS_OPERATOR || LA632_44 == PROCEDURE_SYMBOL || LA632_44 == REGEXP_SYMBOL || LA632_44 == RENAME_SYMBOL || LA632_44 == RIGHT_SYMBOL || LA632_44 == SECOND_MICROSECOND_SYMBOL || LA632_44 == SEMICOLON_SYMBOL || LA632_44 == SEPARATOR_SYMBOL || LA632_44 == SET_SYMBOL || ((LA632_44 >= SHIFT_LEFT_OPERATOR) && (LA632_44 <= SHIFT_RIGHT_OPERATOR)) || LA632_44 == SINGLE_QUOTED_TEXT || LA632_44 == STRAIGHT_JOIN_SYMBOL || LA632_44 == THEN_SYMBOL || LA632_44 == UNION_SYMBOL || LA632_44 == USING_SYMBOL || ((LA632_44 >= WHEN_SYMBOL) && (LA632_44 <= WHERE_SYMBOL)) || LA632_44 == WITH_SYMBOL || ((LA632_44 >= XOR_SYMBOL) && (LA632_44 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 44;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == FORMAT_SYMBOL))
                    {
                        {
                            int LA632_47 = LA(2);
                            if ( (LA632_47 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1719 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1719;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_47 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1720 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1720;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_47 == EOF || ((LA632_47 >= ASCII_SYMBOL) && (LA632_47 <= YEAR_SYMBOL)) || ((LA632_47 >= AND_SYMBOL) && (LA632_47 <= ASC_SYMBOL)) || LA632_47 == AS_SYMBOL || LA632_47 == BACK_TICK_QUOTED_ID || LA632_47 == BETWEEN_SYMBOL || LA632_47 == BITWISE_AND_OPERATOR || ((LA632_47 >= BITWISE_OR_OPERATOR) && (LA632_47 <= BITWISE_XOR_OPERATOR)) || ((LA632_47 >= CLOSE_CURLY_SYMBOL) && (LA632_47 <= COLLATE_SYMBOL)) || LA632_47 == COMMA_SYMBOL || LA632_47 == CONCAT_PIPES_SYMBOL || LA632_47 == CROSS_SYMBOL || ((LA632_47 >= DAY_HOUR_SYMBOL) && (LA632_47 <= DAY_SECOND_SYMBOL)) || LA632_47 == DESC_SYMBOL || ((LA632_47 >= DIV_OPERATOR) && (LA632_47 <= DIV_SYMBOL)) || LA632_47 == DOUBLE_QUOTED_TEXT || LA632_47 == ELSE_SYMBOL || LA632_47 == EQUAL_OPERATOR || ((LA632_47 >= FOR_SYMBOL) && (LA632_47 <= FROM_SYMBOL)) || ((LA632_47 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_47 <= GREATER_THAN_OPERATOR)) || ((LA632_47 >= GROUP_SYMBOL) && (LA632_47 <= HAVING_SYMBOL)) || ((LA632_47 >= HOUR_MICROSECOND_SYMBOL) && (LA632_47 <= IDENTIFIER)) || LA632_47 == INNER_SYMBOL || LA632_47 == INTO_SYMBOL || LA632_47 == IN_SYMBOL || LA632_47 == IS_SYMBOL || LA632_47 == JOIN_SYMBOL || ((LA632_47 >= LEFT_SYMBOL) && (LA632_47 <= LESS_THAN_OPERATOR)) || ((LA632_47 >= LIKE_SYMBOL) && (LA632_47 <= LIMIT_SYMBOL)) || LA632_47 == LOCK_SYMBOL || LA632_47 == LOGICAL_AND_OPERATOR || LA632_47 == LOGICAL_OR_OPERATOR || ((LA632_47 >= MINUS_OPERATOR) && (LA632_47 <= MINUTE_SECOND_SYMBOL)) || ((LA632_47 >= MOD_OPERATOR) && (LA632_47 <= MOD_SYMBOL)) || ((LA632_47 >= MULT_OPERATOR) && (LA632_47 <= NATURAL_SYMBOL)) || ((LA632_47 >= NOT_EQUAL2_OPERATOR) && (LA632_47 <= NOT_SYMBOL)) || LA632_47 == NULL_SAFE_EQUAL_OPERATOR || LA632_47 == ON_SYMBOL || ((LA632_47 >= ORDER_SYMBOL) && (LA632_47 <= OR_SYMBOL)) || LA632_47 == PLUS_OPERATOR || LA632_47 == PROCEDURE_SYMBOL || LA632_47 == REGEXP_SYMBOL || LA632_47 == RENAME_SYMBOL || LA632_47 == RIGHT_SYMBOL || LA632_47 == SECOND_MICROSECOND_SYMBOL || LA632_47 == SEMICOLON_SYMBOL || LA632_47 == SEPARATOR_SYMBOL || LA632_47 == SET_SYMBOL || ((LA632_47 >= SHIFT_LEFT_OPERATOR) && (LA632_47 <= SHIFT_RIGHT_OPERATOR)) || LA632_47 == SINGLE_QUOTED_TEXT || LA632_47 == STRAIGHT_JOIN_SYMBOL || LA632_47 == THEN_SYMBOL || LA632_47 == UNION_SYMBOL || LA632_47 == USING_SYMBOL || ((LA632_47 >= WHEN_SYMBOL) && (LA632_47 <= WHERE_SYMBOL)) || LA632_47 == WITH_SYMBOL || ((LA632_47 >= XOR_SYMBOL) && (LA632_47 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 47;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == MICROSECOND_SYMBOL))
                    {
                        {
                            int LA632_48 = LA(2);
                            if ( (LA632_48 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1809 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1809;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_48 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1810 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1810;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_48 == EOF || ((LA632_48 >= ASCII_SYMBOL) && (LA632_48 <= YEAR_SYMBOL)) || ((LA632_48 >= AND_SYMBOL) && (LA632_48 <= ASC_SYMBOL)) || LA632_48 == AS_SYMBOL || LA632_48 == BACK_TICK_QUOTED_ID || LA632_48 == BETWEEN_SYMBOL || LA632_48 == BITWISE_AND_OPERATOR || ((LA632_48 >= BITWISE_OR_OPERATOR) && (LA632_48 <= BITWISE_XOR_OPERATOR)) || ((LA632_48 >= CLOSE_CURLY_SYMBOL) && (LA632_48 <= COLLATE_SYMBOL)) || LA632_48 == COMMA_SYMBOL || LA632_48 == CONCAT_PIPES_SYMBOL || LA632_48 == CROSS_SYMBOL || ((LA632_48 >= DAY_HOUR_SYMBOL) && (LA632_48 <= DAY_SECOND_SYMBOL)) || LA632_48 == DESC_SYMBOL || ((LA632_48 >= DIV_OPERATOR) && (LA632_48 <= DIV_SYMBOL)) || LA632_48 == DOUBLE_QUOTED_TEXT || LA632_48 == ELSE_SYMBOL || LA632_48 == EQUAL_OPERATOR || ((LA632_48 >= FOR_SYMBOL) && (LA632_48 <= FROM_SYMBOL)) || ((LA632_48 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_48 <= GREATER_THAN_OPERATOR)) || ((LA632_48 >= GROUP_SYMBOL) && (LA632_48 <= HAVING_SYMBOL)) || ((LA632_48 >= HOUR_MICROSECOND_SYMBOL) && (LA632_48 <= IDENTIFIER)) || LA632_48 == INNER_SYMBOL || LA632_48 == INTO_SYMBOL || LA632_48 == IN_SYMBOL || LA632_48 == IS_SYMBOL || LA632_48 == JOIN_SYMBOL || ((LA632_48 >= LEFT_SYMBOL) && (LA632_48 <= LESS_THAN_OPERATOR)) || ((LA632_48 >= LIKE_SYMBOL) && (LA632_48 <= LIMIT_SYMBOL)) || LA632_48 == LOCK_SYMBOL || LA632_48 == LOGICAL_AND_OPERATOR || LA632_48 == LOGICAL_OR_OPERATOR || ((LA632_48 >= MINUS_OPERATOR) && (LA632_48 <= MINUTE_SECOND_SYMBOL)) || ((LA632_48 >= MOD_OPERATOR) && (LA632_48 <= MOD_SYMBOL)) || ((LA632_48 >= MULT_OPERATOR) && (LA632_48 <= NATURAL_SYMBOL)) || ((LA632_48 >= NOT_EQUAL2_OPERATOR) && (LA632_48 <= NOT_SYMBOL)) || LA632_48 == NULL_SAFE_EQUAL_OPERATOR || LA632_48 == ON_SYMBOL || ((LA632_48 >= ORDER_SYMBOL) && (LA632_48 <= OR_SYMBOL)) || LA632_48 == PLUS_OPERATOR || LA632_48 == PROCEDURE_SYMBOL || LA632_48 == REGEXP_SYMBOL || LA632_48 == RENAME_SYMBOL || LA632_48 == RIGHT_SYMBOL || LA632_48 == SECOND_MICROSECOND_SYMBOL || LA632_48 == SEMICOLON_SYMBOL || LA632_48 == SEPARATOR_SYMBOL || LA632_48 == SET_SYMBOL || ((LA632_48 >= SHIFT_LEFT_OPERATOR) && (LA632_48 <= SHIFT_RIGHT_OPERATOR)) || LA632_48 == SINGLE_QUOTED_TEXT || LA632_48 == STRAIGHT_JOIN_SYMBOL || LA632_48 == THEN_SYMBOL || LA632_48 == UNION_SYMBOL || LA632_48 == USING_SYMBOL || ((LA632_48 >= WHEN_SYMBOL) && (LA632_48 <= WHERE_SYMBOL)) || LA632_48 == WITH_SYMBOL || ((LA632_48 >= XOR_SYMBOL) && (LA632_48 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 48;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == OLD_PASSWORD_SYMBOL))
                    {
                        {
                            int LA632_50 = LA(2);
                            if ( ((SERVER_VERSION < 50607)) && (LA632_50 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1899 = LA(3);
                                    if ( ((SERVER_VERSION < 50607)))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1899;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_50 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1900 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1900;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_50 == EOF || ((LA632_50 >= ASCII_SYMBOL) && (LA632_50 <= YEAR_SYMBOL)) || ((LA632_50 >= AND_SYMBOL) && (LA632_50 <= ASC_SYMBOL)) || LA632_50 == AS_SYMBOL || LA632_50 == BACK_TICK_QUOTED_ID || LA632_50 == BETWEEN_SYMBOL || LA632_50 == BITWISE_AND_OPERATOR || ((LA632_50 >= BITWISE_OR_OPERATOR) && (LA632_50 <= BITWISE_XOR_OPERATOR)) || ((LA632_50 >= CLOSE_CURLY_SYMBOL) && (LA632_50 <= COLLATE_SYMBOL)) || LA632_50 == COMMA_SYMBOL || LA632_50 == CONCAT_PIPES_SYMBOL || LA632_50 == CROSS_SYMBOL || ((LA632_50 >= DAY_HOUR_SYMBOL) && (LA632_50 <= DAY_SECOND_SYMBOL)) || LA632_50 == DESC_SYMBOL || ((LA632_50 >= DIV_OPERATOR) && (LA632_50 <= DIV_SYMBOL)) || LA632_50 == DOUBLE_QUOTED_TEXT || LA632_50 == ELSE_SYMBOL || LA632_50 == EQUAL_OPERATOR || ((LA632_50 >= FOR_SYMBOL) && (LA632_50 <= FROM_SYMBOL)) || ((LA632_50 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_50 <= GREATER_THAN_OPERATOR)) || ((LA632_50 >= GROUP_SYMBOL) && (LA632_50 <= HAVING_SYMBOL)) || ((LA632_50 >= HOUR_MICROSECOND_SYMBOL) && (LA632_50 <= IDENTIFIER)) || LA632_50 == INNER_SYMBOL || LA632_50 == INTO_SYMBOL || LA632_50 == IN_SYMBOL || LA632_50 == IS_SYMBOL || LA632_50 == JOIN_SYMBOL || ((LA632_50 >= LEFT_SYMBOL) && (LA632_50 <= LESS_THAN_OPERATOR)) || ((LA632_50 >= LIKE_SYMBOL) && (LA632_50 <= LIMIT_SYMBOL)) || LA632_50 == LOCK_SYMBOL || LA632_50 == LOGICAL_AND_OPERATOR || LA632_50 == LOGICAL_OR_OPERATOR || ((LA632_50 >= MINUS_OPERATOR) && (LA632_50 <= MINUTE_SECOND_SYMBOL)) || ((LA632_50 >= MOD_OPERATOR) && (LA632_50 <= MOD_SYMBOL)) || ((LA632_50 >= MULT_OPERATOR) && (LA632_50 <= NATURAL_SYMBOL)) || ((LA632_50 >= NOT_EQUAL2_OPERATOR) && (LA632_50 <= NOT_SYMBOL)) || LA632_50 == NULL_SAFE_EQUAL_OPERATOR || LA632_50 == ON_SYMBOL || ((LA632_50 >= ORDER_SYMBOL) && (LA632_50 <= OR_SYMBOL)) || LA632_50 == PLUS_OPERATOR || LA632_50 == PROCEDURE_SYMBOL || LA632_50 == REGEXP_SYMBOL || LA632_50 == RENAME_SYMBOL || LA632_50 == RIGHT_SYMBOL || LA632_50 == SECOND_MICROSECOND_SYMBOL || LA632_50 == SEMICOLON_SYMBOL || LA632_50 == SEPARATOR_SYMBOL || LA632_50 == SET_SYMBOL || ((LA632_50 >= SHIFT_LEFT_OPERATOR) && (LA632_50 <= SHIFT_RIGHT_OPERATOR)) || LA632_50 == SINGLE_QUOTED_TEXT || LA632_50 == STRAIGHT_JOIN_SYMBOL || LA632_50 == THEN_SYMBOL || LA632_50 == UNION_SYMBOL || LA632_50 == USING_SYMBOL || ((LA632_50 >= WHEN_SYMBOL) && (LA632_50 <= WHERE_SYMBOL)) || LA632_50 == WITH_SYMBOL || ((LA632_50 >= XOR_SYMBOL) && (LA632_50 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 50;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == PASSWORD_SYMBOL))
                    {
                        {
                            int LA632_51 = LA(2);
                            if ( (LA632_51 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_1989 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1989;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_51 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_1990 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 1990;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_51 == EOF || ((LA632_51 >= ASCII_SYMBOL) && (LA632_51 <= YEAR_SYMBOL)) || ((LA632_51 >= AND_SYMBOL) && (LA632_51 <= ASC_SYMBOL)) || LA632_51 == AS_SYMBOL || LA632_51 == BACK_TICK_QUOTED_ID || LA632_51 == BETWEEN_SYMBOL || LA632_51 == BITWISE_AND_OPERATOR || ((LA632_51 >= BITWISE_OR_OPERATOR) && (LA632_51 <= BITWISE_XOR_OPERATOR)) || ((LA632_51 >= CLOSE_CURLY_SYMBOL) && (LA632_51 <= COLLATE_SYMBOL)) || LA632_51 == COMMA_SYMBOL || LA632_51 == CONCAT_PIPES_SYMBOL || LA632_51 == CROSS_SYMBOL || ((LA632_51 >= DAY_HOUR_SYMBOL) && (LA632_51 <= DAY_SECOND_SYMBOL)) || LA632_51 == DESC_SYMBOL || ((LA632_51 >= DIV_OPERATOR) && (LA632_51 <= DIV_SYMBOL)) || LA632_51 == DOUBLE_QUOTED_TEXT || LA632_51 == ELSE_SYMBOL || LA632_51 == EQUAL_OPERATOR || ((LA632_51 >= FOR_SYMBOL) && (LA632_51 <= FROM_SYMBOL)) || ((LA632_51 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_51 <= GREATER_THAN_OPERATOR)) || ((LA632_51 >= GROUP_SYMBOL) && (LA632_51 <= HAVING_SYMBOL)) || ((LA632_51 >= HOUR_MICROSECOND_SYMBOL) && (LA632_51 <= IDENTIFIER)) || LA632_51 == INNER_SYMBOL || LA632_51 == INTO_SYMBOL || LA632_51 == IN_SYMBOL || LA632_51 == IS_SYMBOL || LA632_51 == JOIN_SYMBOL || ((LA632_51 >= LEFT_SYMBOL) && (LA632_51 <= LESS_THAN_OPERATOR)) || ((LA632_51 >= LIKE_SYMBOL) && (LA632_51 <= LIMIT_SYMBOL)) || LA632_51 == LOCK_SYMBOL || LA632_51 == LOGICAL_AND_OPERATOR || LA632_51 == LOGICAL_OR_OPERATOR || ((LA632_51 >= MINUS_OPERATOR) && (LA632_51 <= MINUTE_SECOND_SYMBOL)) || ((LA632_51 >= MOD_OPERATOR) && (LA632_51 <= MOD_SYMBOL)) || ((LA632_51 >= MULT_OPERATOR) && (LA632_51 <= NATURAL_SYMBOL)) || ((LA632_51 >= NOT_EQUAL2_OPERATOR) && (LA632_51 <= NOT_SYMBOL)) || LA632_51 == NULL_SAFE_EQUAL_OPERATOR || LA632_51 == ON_SYMBOL || ((LA632_51 >= ORDER_SYMBOL) && (LA632_51 <= OR_SYMBOL)) || LA632_51 == PLUS_OPERATOR || LA632_51 == PROCEDURE_SYMBOL || LA632_51 == REGEXP_SYMBOL || LA632_51 == RENAME_SYMBOL || LA632_51 == RIGHT_SYMBOL || LA632_51 == SECOND_MICROSECOND_SYMBOL || LA632_51 == SEMICOLON_SYMBOL || LA632_51 == SEPARATOR_SYMBOL || LA632_51 == SET_SYMBOL || ((LA632_51 >= SHIFT_LEFT_OPERATOR) && (LA632_51 <= SHIFT_RIGHT_OPERATOR)) || LA632_51 == SINGLE_QUOTED_TEXT || LA632_51 == STRAIGHT_JOIN_SYMBOL || LA632_51 == THEN_SYMBOL || LA632_51 == UNION_SYMBOL || LA632_51 == USING_SYMBOL || ((LA632_51 >= WHEN_SYMBOL) && (LA632_51 <= WHERE_SYMBOL)) || LA632_51 == WITH_SYMBOL || ((LA632_51 >= XOR_SYMBOL) && (LA632_51 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 51;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == QUARTER_SYMBOL))
                    {
                        {
                            int LA632_52 = LA(2);
                            if ( (LA632_52 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2079 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2079;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_52 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2080 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2080;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_52 == EOF || ((LA632_52 >= ASCII_SYMBOL) && (LA632_52 <= YEAR_SYMBOL)) || ((LA632_52 >= AND_SYMBOL) && (LA632_52 <= ASC_SYMBOL)) || LA632_52 == AS_SYMBOL || LA632_52 == BACK_TICK_QUOTED_ID || LA632_52 == BETWEEN_SYMBOL || LA632_52 == BITWISE_AND_OPERATOR || ((LA632_52 >= BITWISE_OR_OPERATOR) && (LA632_52 <= BITWISE_XOR_OPERATOR)) || ((LA632_52 >= CLOSE_CURLY_SYMBOL) && (LA632_52 <= COLLATE_SYMBOL)) || LA632_52 == COMMA_SYMBOL || LA632_52 == CONCAT_PIPES_SYMBOL || LA632_52 == CROSS_SYMBOL || ((LA632_52 >= DAY_HOUR_SYMBOL) && (LA632_52 <= DAY_SECOND_SYMBOL)) || LA632_52 == DESC_SYMBOL || ((LA632_52 >= DIV_OPERATOR) && (LA632_52 <= DIV_SYMBOL)) || LA632_52 == DOUBLE_QUOTED_TEXT || LA632_52 == ELSE_SYMBOL || LA632_52 == EQUAL_OPERATOR || ((LA632_52 >= FOR_SYMBOL) && (LA632_52 <= FROM_SYMBOL)) || ((LA632_52 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_52 <= GREATER_THAN_OPERATOR)) || ((LA632_52 >= GROUP_SYMBOL) && (LA632_52 <= HAVING_SYMBOL)) || ((LA632_52 >= HOUR_MICROSECOND_SYMBOL) && (LA632_52 <= IDENTIFIER)) || LA632_52 == INNER_SYMBOL || LA632_52 == INTO_SYMBOL || LA632_52 == IN_SYMBOL || LA632_52 == IS_SYMBOL || LA632_52 == JOIN_SYMBOL || ((LA632_52 >= LEFT_SYMBOL) && (LA632_52 <= LESS_THAN_OPERATOR)) || ((LA632_52 >= LIKE_SYMBOL) && (LA632_52 <= LIMIT_SYMBOL)) || LA632_52 == LOCK_SYMBOL || LA632_52 == LOGICAL_AND_OPERATOR || LA632_52 == LOGICAL_OR_OPERATOR || ((LA632_52 >= MINUS_OPERATOR) && (LA632_52 <= MINUTE_SECOND_SYMBOL)) || ((LA632_52 >= MOD_OPERATOR) && (LA632_52 <= MOD_SYMBOL)) || ((LA632_52 >= MULT_OPERATOR) && (LA632_52 <= NATURAL_SYMBOL)) || ((LA632_52 >= NOT_EQUAL2_OPERATOR) && (LA632_52 <= NOT_SYMBOL)) || LA632_52 == NULL_SAFE_EQUAL_OPERATOR || LA632_52 == ON_SYMBOL || ((LA632_52 >= ORDER_SYMBOL) && (LA632_52 <= OR_SYMBOL)) || LA632_52 == PLUS_OPERATOR || LA632_52 == PROCEDURE_SYMBOL || LA632_52 == REGEXP_SYMBOL || LA632_52 == RENAME_SYMBOL || LA632_52 == RIGHT_SYMBOL || LA632_52 == SECOND_MICROSECOND_SYMBOL || LA632_52 == SEMICOLON_SYMBOL || LA632_52 == SEPARATOR_SYMBOL || LA632_52 == SET_SYMBOL || ((LA632_52 >= SHIFT_LEFT_OPERATOR) && (LA632_52 <= SHIFT_RIGHT_OPERATOR)) || LA632_52 == SINGLE_QUOTED_TEXT || LA632_52 == STRAIGHT_JOIN_SYMBOL || LA632_52 == THEN_SYMBOL || LA632_52 == UNION_SYMBOL || LA632_52 == USING_SYMBOL || ((LA632_52 >= WHEN_SYMBOL) && (LA632_52 <= WHERE_SYMBOL)) || LA632_52 == WITH_SYMBOL || ((LA632_52 >= XOR_SYMBOL) && (LA632_52 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 52;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == REVERSE_SYMBOL))
                    {
                        {
                            int LA632_55 = LA(2);
                            if ( (LA632_55 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2169 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2169;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_55 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2170 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2170;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_55 == EOF || ((LA632_55 >= ASCII_SYMBOL) && (LA632_55 <= YEAR_SYMBOL)) || ((LA632_55 >= AND_SYMBOL) && (LA632_55 <= ASC_SYMBOL)) || LA632_55 == AS_SYMBOL || LA632_55 == BACK_TICK_QUOTED_ID || LA632_55 == BETWEEN_SYMBOL || LA632_55 == BITWISE_AND_OPERATOR || ((LA632_55 >= BITWISE_OR_OPERATOR) && (LA632_55 <= BITWISE_XOR_OPERATOR)) || ((LA632_55 >= CLOSE_CURLY_SYMBOL) && (LA632_55 <= COLLATE_SYMBOL)) || LA632_55 == COMMA_SYMBOL || LA632_55 == CONCAT_PIPES_SYMBOL || LA632_55 == CROSS_SYMBOL || ((LA632_55 >= DAY_HOUR_SYMBOL) && (LA632_55 <= DAY_SECOND_SYMBOL)) || LA632_55 == DESC_SYMBOL || ((LA632_55 >= DIV_OPERATOR) && (LA632_55 <= DIV_SYMBOL)) || LA632_55 == DOUBLE_QUOTED_TEXT || LA632_55 == ELSE_SYMBOL || LA632_55 == EQUAL_OPERATOR || ((LA632_55 >= FOR_SYMBOL) && (LA632_55 <= FROM_SYMBOL)) || ((LA632_55 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_55 <= GREATER_THAN_OPERATOR)) || ((LA632_55 >= GROUP_SYMBOL) && (LA632_55 <= HAVING_SYMBOL)) || ((LA632_55 >= HOUR_MICROSECOND_SYMBOL) && (LA632_55 <= IDENTIFIER)) || LA632_55 == INNER_SYMBOL || LA632_55 == INTO_SYMBOL || LA632_55 == IN_SYMBOL || LA632_55 == IS_SYMBOL || LA632_55 == JOIN_SYMBOL || ((LA632_55 >= LEFT_SYMBOL) && (LA632_55 <= LESS_THAN_OPERATOR)) || ((LA632_55 >= LIKE_SYMBOL) && (LA632_55 <= LIMIT_SYMBOL)) || LA632_55 == LOCK_SYMBOL || LA632_55 == LOGICAL_AND_OPERATOR || LA632_55 == LOGICAL_OR_OPERATOR || ((LA632_55 >= MINUS_OPERATOR) && (LA632_55 <= MINUTE_SECOND_SYMBOL)) || ((LA632_55 >= MOD_OPERATOR) && (LA632_55 <= MOD_SYMBOL)) || ((LA632_55 >= MULT_OPERATOR) && (LA632_55 <= NATURAL_SYMBOL)) || ((LA632_55 >= NOT_EQUAL2_OPERATOR) && (LA632_55 <= NOT_SYMBOL)) || LA632_55 == NULL_SAFE_EQUAL_OPERATOR || LA632_55 == ON_SYMBOL || ((LA632_55 >= ORDER_SYMBOL) && (LA632_55 <= OR_SYMBOL)) || LA632_55 == PLUS_OPERATOR || LA632_55 == PROCEDURE_SYMBOL || LA632_55 == REGEXP_SYMBOL || LA632_55 == RENAME_SYMBOL || LA632_55 == RIGHT_SYMBOL || LA632_55 == SECOND_MICROSECOND_SYMBOL || LA632_55 == SEMICOLON_SYMBOL || LA632_55 == SEPARATOR_SYMBOL || LA632_55 == SET_SYMBOL || ((LA632_55 >= SHIFT_LEFT_OPERATOR) && (LA632_55 <= SHIFT_RIGHT_OPERATOR)) || LA632_55 == SINGLE_QUOTED_TEXT || LA632_55 == STRAIGHT_JOIN_SYMBOL || LA632_55 == THEN_SYMBOL || LA632_55 == UNION_SYMBOL || LA632_55 == USING_SYMBOL || ((LA632_55 >= WHEN_SYMBOL) && (LA632_55 <= WHERE_SYMBOL)) || LA632_55 == WITH_SYMBOL || ((LA632_55 >= XOR_SYMBOL) && (LA632_55 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 55;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == ROW_COUNT_SYMBOL))
                    {
                        {
                            int LA632_56 = LA(2);
                            if ( (LA632_56 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2259 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2259;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_56 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2260 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2260;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_56 == EOF || ((LA632_56 >= ASCII_SYMBOL) && (LA632_56 <= YEAR_SYMBOL)) || ((LA632_56 >= AND_SYMBOL) && (LA632_56 <= ASC_SYMBOL)) || LA632_56 == AS_SYMBOL || LA632_56 == BACK_TICK_QUOTED_ID || LA632_56 == BETWEEN_SYMBOL || LA632_56 == BITWISE_AND_OPERATOR || ((LA632_56 >= BITWISE_OR_OPERATOR) && (LA632_56 <= BITWISE_XOR_OPERATOR)) || ((LA632_56 >= CLOSE_CURLY_SYMBOL) && (LA632_56 <= COLLATE_SYMBOL)) || LA632_56 == COMMA_SYMBOL || LA632_56 == CONCAT_PIPES_SYMBOL || LA632_56 == CROSS_SYMBOL || ((LA632_56 >= DAY_HOUR_SYMBOL) && (LA632_56 <= DAY_SECOND_SYMBOL)) || LA632_56 == DESC_SYMBOL || ((LA632_56 >= DIV_OPERATOR) && (LA632_56 <= DIV_SYMBOL)) || LA632_56 == DOUBLE_QUOTED_TEXT || LA632_56 == ELSE_SYMBOL || LA632_56 == EQUAL_OPERATOR || ((LA632_56 >= FOR_SYMBOL) && (LA632_56 <= FROM_SYMBOL)) || ((LA632_56 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_56 <= GREATER_THAN_OPERATOR)) || ((LA632_56 >= GROUP_SYMBOL) && (LA632_56 <= HAVING_SYMBOL)) || ((LA632_56 >= HOUR_MICROSECOND_SYMBOL) && (LA632_56 <= IDENTIFIER)) || LA632_56 == INNER_SYMBOL || LA632_56 == INTO_SYMBOL || LA632_56 == IN_SYMBOL || LA632_56 == IS_SYMBOL || LA632_56 == JOIN_SYMBOL || ((LA632_56 >= LEFT_SYMBOL) && (LA632_56 <= LESS_THAN_OPERATOR)) || ((LA632_56 >= LIKE_SYMBOL) && (LA632_56 <= LIMIT_SYMBOL)) || LA632_56 == LOCK_SYMBOL || LA632_56 == LOGICAL_AND_OPERATOR || LA632_56 == LOGICAL_OR_OPERATOR || ((LA632_56 >= MINUS_OPERATOR) && (LA632_56 <= MINUTE_SECOND_SYMBOL)) || ((LA632_56 >= MOD_OPERATOR) && (LA632_56 <= MOD_SYMBOL)) || ((LA632_56 >= MULT_OPERATOR) && (LA632_56 <= NATURAL_SYMBOL)) || ((LA632_56 >= NOT_EQUAL2_OPERATOR) && (LA632_56 <= NOT_SYMBOL)) || LA632_56 == NULL_SAFE_EQUAL_OPERATOR || LA632_56 == ON_SYMBOL || ((LA632_56 >= ORDER_SYMBOL) && (LA632_56 <= OR_SYMBOL)) || LA632_56 == PLUS_OPERATOR || LA632_56 == PROCEDURE_SYMBOL || LA632_56 == REGEXP_SYMBOL || LA632_56 == RENAME_SYMBOL || LA632_56 == RIGHT_SYMBOL || LA632_56 == SECOND_MICROSECOND_SYMBOL || LA632_56 == SEMICOLON_SYMBOL || LA632_56 == SEPARATOR_SYMBOL || LA632_56 == SET_SYMBOL || ((LA632_56 >= SHIFT_LEFT_OPERATOR) && (LA632_56 <= SHIFT_RIGHT_OPERATOR)) || LA632_56 == SINGLE_QUOTED_TEXT || LA632_56 == STRAIGHT_JOIN_SYMBOL || LA632_56 == THEN_SYMBOL || LA632_56 == UNION_SYMBOL || LA632_56 == USING_SYMBOL || ((LA632_56 >= WHEN_SYMBOL) && (LA632_56 <= WHERE_SYMBOL)) || LA632_56 == WITH_SYMBOL || ((LA632_56 >= XOR_SYMBOL) && (LA632_56 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 56;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == TRUNCATE_SYMBOL))
                    {
                        {
                            int LA632_57 = LA(2);
                            if ( (LA632_57 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2349 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2349;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_57 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2350 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2350;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_57 == EOF || ((LA632_57 >= ASCII_SYMBOL) && (LA632_57 <= YEAR_SYMBOL)) || ((LA632_57 >= AND_SYMBOL) && (LA632_57 <= ASC_SYMBOL)) || LA632_57 == AS_SYMBOL || LA632_57 == BACK_TICK_QUOTED_ID || LA632_57 == BETWEEN_SYMBOL || LA632_57 == BITWISE_AND_OPERATOR || ((LA632_57 >= BITWISE_OR_OPERATOR) && (LA632_57 <= BITWISE_XOR_OPERATOR)) || ((LA632_57 >= CLOSE_CURLY_SYMBOL) && (LA632_57 <= COLLATE_SYMBOL)) || LA632_57 == COMMA_SYMBOL || LA632_57 == CONCAT_PIPES_SYMBOL || LA632_57 == CROSS_SYMBOL || ((LA632_57 >= DAY_HOUR_SYMBOL) && (LA632_57 <= DAY_SECOND_SYMBOL)) || LA632_57 == DESC_SYMBOL || ((LA632_57 >= DIV_OPERATOR) && (LA632_57 <= DIV_SYMBOL)) || LA632_57 == DOUBLE_QUOTED_TEXT || LA632_57 == ELSE_SYMBOL || LA632_57 == EQUAL_OPERATOR || ((LA632_57 >= FOR_SYMBOL) && (LA632_57 <= FROM_SYMBOL)) || ((LA632_57 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_57 <= GREATER_THAN_OPERATOR)) || ((LA632_57 >= GROUP_SYMBOL) && (LA632_57 <= HAVING_SYMBOL)) || ((LA632_57 >= HOUR_MICROSECOND_SYMBOL) && (LA632_57 <= IDENTIFIER)) || LA632_57 == INNER_SYMBOL || LA632_57 == INTO_SYMBOL || LA632_57 == IN_SYMBOL || LA632_57 == IS_SYMBOL || LA632_57 == JOIN_SYMBOL || ((LA632_57 >= LEFT_SYMBOL) && (LA632_57 <= LESS_THAN_OPERATOR)) || ((LA632_57 >= LIKE_SYMBOL) && (LA632_57 <= LIMIT_SYMBOL)) || LA632_57 == LOCK_SYMBOL || LA632_57 == LOGICAL_AND_OPERATOR || LA632_57 == LOGICAL_OR_OPERATOR || ((LA632_57 >= MINUS_OPERATOR) && (LA632_57 <= MINUTE_SECOND_SYMBOL)) || ((LA632_57 >= MOD_OPERATOR) && (LA632_57 <= MOD_SYMBOL)) || ((LA632_57 >= MULT_OPERATOR) && (LA632_57 <= NATURAL_SYMBOL)) || ((LA632_57 >= NOT_EQUAL2_OPERATOR) && (LA632_57 <= NOT_SYMBOL)) || LA632_57 == NULL_SAFE_EQUAL_OPERATOR || LA632_57 == ON_SYMBOL || ((LA632_57 >= ORDER_SYMBOL) && (LA632_57 <= OR_SYMBOL)) || LA632_57 == PLUS_OPERATOR || LA632_57 == PROCEDURE_SYMBOL || LA632_57 == REGEXP_SYMBOL || LA632_57 == RENAME_SYMBOL || LA632_57 == RIGHT_SYMBOL || LA632_57 == SECOND_MICROSECOND_SYMBOL || LA632_57 == SEMICOLON_SYMBOL || LA632_57 == SEPARATOR_SYMBOL || LA632_57 == SET_SYMBOL || ((LA632_57 >= SHIFT_LEFT_OPERATOR) && (LA632_57 <= SHIFT_RIGHT_OPERATOR)) || LA632_57 == SINGLE_QUOTED_TEXT || LA632_57 == STRAIGHT_JOIN_SYMBOL || LA632_57 == THEN_SYMBOL || LA632_57 == UNION_SYMBOL || LA632_57 == USING_SYMBOL || ((LA632_57 >= WHEN_SYMBOL) && (LA632_57 <= WHERE_SYMBOL)) || LA632_57 == WITH_SYMBOL || ((LA632_57 >= XOR_SYMBOL) && (LA632_57 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 57;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == WEEK_SYMBOL))
                    {
                        {
                            int LA632_58 = LA(2);
                            if ( (LA632_58 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2439 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2439;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_58 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2440 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2440;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_58 == EOF || ((LA632_58 >= ASCII_SYMBOL) && (LA632_58 <= YEAR_SYMBOL)) || ((LA632_58 >= AND_SYMBOL) && (LA632_58 <= ASC_SYMBOL)) || LA632_58 == AS_SYMBOL || LA632_58 == BACK_TICK_QUOTED_ID || LA632_58 == BETWEEN_SYMBOL || LA632_58 == BITWISE_AND_OPERATOR || ((LA632_58 >= BITWISE_OR_OPERATOR) && (LA632_58 <= BITWISE_XOR_OPERATOR)) || ((LA632_58 >= CLOSE_CURLY_SYMBOL) && (LA632_58 <= COLLATE_SYMBOL)) || LA632_58 == COMMA_SYMBOL || LA632_58 == CONCAT_PIPES_SYMBOL || LA632_58 == CROSS_SYMBOL || ((LA632_58 >= DAY_HOUR_SYMBOL) && (LA632_58 <= DAY_SECOND_SYMBOL)) || LA632_58 == DESC_SYMBOL || ((LA632_58 >= DIV_OPERATOR) && (LA632_58 <= DIV_SYMBOL)) || LA632_58 == DOUBLE_QUOTED_TEXT || LA632_58 == ELSE_SYMBOL || LA632_58 == EQUAL_OPERATOR || ((LA632_58 >= FOR_SYMBOL) && (LA632_58 <= FROM_SYMBOL)) || ((LA632_58 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_58 <= GREATER_THAN_OPERATOR)) || ((LA632_58 >= GROUP_SYMBOL) && (LA632_58 <= HAVING_SYMBOL)) || ((LA632_58 >= HOUR_MICROSECOND_SYMBOL) && (LA632_58 <= IDENTIFIER)) || LA632_58 == INNER_SYMBOL || LA632_58 == INTO_SYMBOL || LA632_58 == IN_SYMBOL || LA632_58 == IS_SYMBOL || LA632_58 == JOIN_SYMBOL || ((LA632_58 >= LEFT_SYMBOL) && (LA632_58 <= LESS_THAN_OPERATOR)) || ((LA632_58 >= LIKE_SYMBOL) && (LA632_58 <= LIMIT_SYMBOL)) || LA632_58 == LOCK_SYMBOL || LA632_58 == LOGICAL_AND_OPERATOR || LA632_58 == LOGICAL_OR_OPERATOR || ((LA632_58 >= MINUS_OPERATOR) && (LA632_58 <= MINUTE_SECOND_SYMBOL)) || ((LA632_58 >= MOD_OPERATOR) && (LA632_58 <= MOD_SYMBOL)) || ((LA632_58 >= MULT_OPERATOR) && (LA632_58 <= NATURAL_SYMBOL)) || ((LA632_58 >= NOT_EQUAL2_OPERATOR) && (LA632_58 <= NOT_SYMBOL)) || LA632_58 == NULL_SAFE_EQUAL_OPERATOR || LA632_58 == ON_SYMBOL || ((LA632_58 >= ORDER_SYMBOL) && (LA632_58 <= OR_SYMBOL)) || LA632_58 == PLUS_OPERATOR || LA632_58 == PROCEDURE_SYMBOL || LA632_58 == REGEXP_SYMBOL || LA632_58 == RENAME_SYMBOL || LA632_58 == RIGHT_SYMBOL || LA632_58 == SECOND_MICROSECOND_SYMBOL || LA632_58 == SEMICOLON_SYMBOL || LA632_58 == SEPARATOR_SYMBOL || LA632_58 == SET_SYMBOL || ((LA632_58 >= SHIFT_LEFT_OPERATOR) && (LA632_58 <= SHIFT_RIGHT_OPERATOR)) || LA632_58 == SINGLE_QUOTED_TEXT || LA632_58 == STRAIGHT_JOIN_SYMBOL || LA632_58 == THEN_SYMBOL || LA632_58 == UNION_SYMBOL || LA632_58 == USING_SYMBOL || ((LA632_58 >= WHEN_SYMBOL) && (LA632_58 <= WHERE_SYMBOL)) || LA632_58 == WITH_SYMBOL || ((LA632_58 >= XOR_SYMBOL) && (LA632_58 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 58;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == WEIGHT_STRING_SYMBOL))
                    {
                        {
                            int LA632_59 = LA(2);
                            if ( ((SERVER_VERSION >= 50600)) && (LA632_59 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2529 = LA(3);
                                    if ( ((SERVER_VERSION >= 50600)))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2529;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_59 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2530 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2530;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_59 == EOF || ((LA632_59 >= ASCII_SYMBOL) && (LA632_59 <= YEAR_SYMBOL)) || ((LA632_59 >= AND_SYMBOL) && (LA632_59 <= ASC_SYMBOL)) || LA632_59 == AS_SYMBOL || LA632_59 == BACK_TICK_QUOTED_ID || LA632_59 == BETWEEN_SYMBOL || LA632_59 == BITWISE_AND_OPERATOR || ((LA632_59 >= BITWISE_OR_OPERATOR) && (LA632_59 <= BITWISE_XOR_OPERATOR)) || ((LA632_59 >= CLOSE_CURLY_SYMBOL) && (LA632_59 <= COLLATE_SYMBOL)) || LA632_59 == COMMA_SYMBOL || LA632_59 == CONCAT_PIPES_SYMBOL || LA632_59 == CROSS_SYMBOL || ((LA632_59 >= DAY_HOUR_SYMBOL) && (LA632_59 <= DAY_SECOND_SYMBOL)) || LA632_59 == DESC_SYMBOL || ((LA632_59 >= DIV_OPERATOR) && (LA632_59 <= DIV_SYMBOL)) || LA632_59 == DOUBLE_QUOTED_TEXT || LA632_59 == ELSE_SYMBOL || LA632_59 == EQUAL_OPERATOR || ((LA632_59 >= FOR_SYMBOL) && (LA632_59 <= FROM_SYMBOL)) || ((LA632_59 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_59 <= GREATER_THAN_OPERATOR)) || ((LA632_59 >= GROUP_SYMBOL) && (LA632_59 <= HAVING_SYMBOL)) || ((LA632_59 >= HOUR_MICROSECOND_SYMBOL) && (LA632_59 <= IDENTIFIER)) || LA632_59 == INNER_SYMBOL || LA632_59 == INTO_SYMBOL || LA632_59 == IN_SYMBOL || LA632_59 == IS_SYMBOL || LA632_59 == JOIN_SYMBOL || ((LA632_59 >= LEFT_SYMBOL) && (LA632_59 <= LESS_THAN_OPERATOR)) || ((LA632_59 >= LIKE_SYMBOL) && (LA632_59 <= LIMIT_SYMBOL)) || LA632_59 == LOCK_SYMBOL || LA632_59 == LOGICAL_AND_OPERATOR || LA632_59 == LOGICAL_OR_OPERATOR || ((LA632_59 >= MINUS_OPERATOR) && (LA632_59 <= MINUTE_SECOND_SYMBOL)) || ((LA632_59 >= MOD_OPERATOR) && (LA632_59 <= MOD_SYMBOL)) || ((LA632_59 >= MULT_OPERATOR) && (LA632_59 <= NATURAL_SYMBOL)) || ((LA632_59 >= NOT_EQUAL2_OPERATOR) && (LA632_59 <= NOT_SYMBOL)) || LA632_59 == NULL_SAFE_EQUAL_OPERATOR || LA632_59 == ON_SYMBOL || ((LA632_59 >= ORDER_SYMBOL) && (LA632_59 <= OR_SYMBOL)) || LA632_59 == PLUS_OPERATOR || LA632_59 == PROCEDURE_SYMBOL || LA632_59 == REGEXP_SYMBOL || LA632_59 == RENAME_SYMBOL || LA632_59 == RIGHT_SYMBOL || LA632_59 == SECOND_MICROSECOND_SYMBOL || LA632_59 == SEMICOLON_SYMBOL || LA632_59 == SEPARATOR_SYMBOL || LA632_59 == SET_SYMBOL || ((LA632_59 >= SHIFT_LEFT_OPERATOR) && (LA632_59 <= SHIFT_RIGHT_OPERATOR)) || LA632_59 == SINGLE_QUOTED_TEXT || LA632_59 == STRAIGHT_JOIN_SYMBOL || LA632_59 == THEN_SYMBOL || LA632_59 == UNION_SYMBOL || LA632_59 == USING_SYMBOL || ((LA632_59 >= WHEN_SYMBOL) && (LA632_59 <= WHERE_SYMBOL)) || LA632_59 == WITH_SYMBOL || ((LA632_59 >= XOR_SYMBOL) && (LA632_59 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 59;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == CONTAINS_SYMBOL))
                    {
                        {
                            int LA632_60 = LA(2);
                            if ( (LA632_60 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2619 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2619;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_60 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2620 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2620;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_60 == EOF || ((LA632_60 >= ASCII_SYMBOL) && (LA632_60 <= YEAR_SYMBOL)) || ((LA632_60 >= AND_SYMBOL) && (LA632_60 <= ASC_SYMBOL)) || LA632_60 == AS_SYMBOL || LA632_60 == BACK_TICK_QUOTED_ID || LA632_60 == BETWEEN_SYMBOL || LA632_60 == BITWISE_AND_OPERATOR || ((LA632_60 >= BITWISE_OR_OPERATOR) && (LA632_60 <= BITWISE_XOR_OPERATOR)) || ((LA632_60 >= CLOSE_CURLY_SYMBOL) && (LA632_60 <= COLLATE_SYMBOL)) || LA632_60 == COMMA_SYMBOL || LA632_60 == CONCAT_PIPES_SYMBOL || LA632_60 == CROSS_SYMBOL || ((LA632_60 >= DAY_HOUR_SYMBOL) && (LA632_60 <= DAY_SECOND_SYMBOL)) || LA632_60 == DESC_SYMBOL || ((LA632_60 >= DIV_OPERATOR) && (LA632_60 <= DIV_SYMBOL)) || LA632_60 == DOUBLE_QUOTED_TEXT || LA632_60 == ELSE_SYMBOL || LA632_60 == EQUAL_OPERATOR || ((LA632_60 >= FOR_SYMBOL) && (LA632_60 <= FROM_SYMBOL)) || ((LA632_60 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_60 <= GREATER_THAN_OPERATOR)) || ((LA632_60 >= GROUP_SYMBOL) && (LA632_60 <= HAVING_SYMBOL)) || ((LA632_60 >= HOUR_MICROSECOND_SYMBOL) && (LA632_60 <= IDENTIFIER)) || LA632_60 == INNER_SYMBOL || LA632_60 == INTO_SYMBOL || LA632_60 == IN_SYMBOL || LA632_60 == IS_SYMBOL || LA632_60 == JOIN_SYMBOL || ((LA632_60 >= LEFT_SYMBOL) && (LA632_60 <= LESS_THAN_OPERATOR)) || ((LA632_60 >= LIKE_SYMBOL) && (LA632_60 <= LIMIT_SYMBOL)) || LA632_60 == LOCK_SYMBOL || LA632_60 == LOGICAL_AND_OPERATOR || LA632_60 == LOGICAL_OR_OPERATOR || ((LA632_60 >= MINUS_OPERATOR) && (LA632_60 <= MINUTE_SECOND_SYMBOL)) || ((LA632_60 >= MOD_OPERATOR) && (LA632_60 <= MOD_SYMBOL)) || ((LA632_60 >= MULT_OPERATOR) && (LA632_60 <= NATURAL_SYMBOL)) || ((LA632_60 >= NOT_EQUAL2_OPERATOR) && (LA632_60 <= NOT_SYMBOL)) || LA632_60 == NULL_SAFE_EQUAL_OPERATOR || LA632_60 == ON_SYMBOL || ((LA632_60 >= ORDER_SYMBOL) && (LA632_60 <= OR_SYMBOL)) || LA632_60 == PLUS_OPERATOR || LA632_60 == PROCEDURE_SYMBOL || LA632_60 == REGEXP_SYMBOL || LA632_60 == RENAME_SYMBOL || LA632_60 == RIGHT_SYMBOL || LA632_60 == SECOND_MICROSECOND_SYMBOL || LA632_60 == SEMICOLON_SYMBOL || LA632_60 == SEPARATOR_SYMBOL || LA632_60 == SET_SYMBOL || ((LA632_60 >= SHIFT_LEFT_OPERATOR) && (LA632_60 <= SHIFT_RIGHT_OPERATOR)) || LA632_60 == SINGLE_QUOTED_TEXT || LA632_60 == STRAIGHT_JOIN_SYMBOL || LA632_60 == THEN_SYMBOL || LA632_60 == UNION_SYMBOL || LA632_60 == USING_SYMBOL || ((LA632_60 >= WHEN_SYMBOL) && (LA632_60 <= WHERE_SYMBOL)) || LA632_60 == WITH_SYMBOL || ((LA632_60 >= XOR_SYMBOL) && (LA632_60 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 60;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == GEOMETRYCOLLECTION_SYMBOL))
                    {
                        {
                            int LA632_61 = LA(2);
                            if ( (LA632_61 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2709 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2709;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_61 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2710 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2710;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_61 == EOF || ((LA632_61 >= ASCII_SYMBOL) && (LA632_61 <= YEAR_SYMBOL)) || ((LA632_61 >= AND_SYMBOL) && (LA632_61 <= ASC_SYMBOL)) || LA632_61 == AS_SYMBOL || LA632_61 == BACK_TICK_QUOTED_ID || LA632_61 == BETWEEN_SYMBOL || LA632_61 == BITWISE_AND_OPERATOR || ((LA632_61 >= BITWISE_OR_OPERATOR) && (LA632_61 <= BITWISE_XOR_OPERATOR)) || ((LA632_61 >= CLOSE_CURLY_SYMBOL) && (LA632_61 <= COLLATE_SYMBOL)) || LA632_61 == COMMA_SYMBOL || LA632_61 == CONCAT_PIPES_SYMBOL || LA632_61 == CROSS_SYMBOL || ((LA632_61 >= DAY_HOUR_SYMBOL) && (LA632_61 <= DAY_SECOND_SYMBOL)) || LA632_61 == DESC_SYMBOL || ((LA632_61 >= DIV_OPERATOR) && (LA632_61 <= DIV_SYMBOL)) || LA632_61 == DOUBLE_QUOTED_TEXT || LA632_61 == ELSE_SYMBOL || LA632_61 == EQUAL_OPERATOR || ((LA632_61 >= FOR_SYMBOL) && (LA632_61 <= FROM_SYMBOL)) || ((LA632_61 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_61 <= GREATER_THAN_OPERATOR)) || ((LA632_61 >= GROUP_SYMBOL) && (LA632_61 <= HAVING_SYMBOL)) || ((LA632_61 >= HOUR_MICROSECOND_SYMBOL) && (LA632_61 <= IDENTIFIER)) || LA632_61 == INNER_SYMBOL || LA632_61 == INTO_SYMBOL || LA632_61 == IN_SYMBOL || LA632_61 == IS_SYMBOL || LA632_61 == JOIN_SYMBOL || ((LA632_61 >= LEFT_SYMBOL) && (LA632_61 <= LESS_THAN_OPERATOR)) || ((LA632_61 >= LIKE_SYMBOL) && (LA632_61 <= LIMIT_SYMBOL)) || LA632_61 == LOCK_SYMBOL || LA632_61 == LOGICAL_AND_OPERATOR || LA632_61 == LOGICAL_OR_OPERATOR || ((LA632_61 >= MINUS_OPERATOR) && (LA632_61 <= MINUTE_SECOND_SYMBOL)) || ((LA632_61 >= MOD_OPERATOR) && (LA632_61 <= MOD_SYMBOL)) || ((LA632_61 >= MULT_OPERATOR) && (LA632_61 <= NATURAL_SYMBOL)) || ((LA632_61 >= NOT_EQUAL2_OPERATOR) && (LA632_61 <= NOT_SYMBOL)) || LA632_61 == NULL_SAFE_EQUAL_OPERATOR || LA632_61 == ON_SYMBOL || ((LA632_61 >= ORDER_SYMBOL) && (LA632_61 <= OR_SYMBOL)) || LA632_61 == PLUS_OPERATOR || LA632_61 == PROCEDURE_SYMBOL || LA632_61 == REGEXP_SYMBOL || LA632_61 == RENAME_SYMBOL || LA632_61 == RIGHT_SYMBOL || LA632_61 == SECOND_MICROSECOND_SYMBOL || LA632_61 == SEMICOLON_SYMBOL || LA632_61 == SEPARATOR_SYMBOL || LA632_61 == SET_SYMBOL || ((LA632_61 >= SHIFT_LEFT_OPERATOR) && (LA632_61 <= SHIFT_RIGHT_OPERATOR)) || LA632_61 == SINGLE_QUOTED_TEXT || LA632_61 == STRAIGHT_JOIN_SYMBOL || LA632_61 == THEN_SYMBOL || LA632_61 == UNION_SYMBOL || LA632_61 == USING_SYMBOL || ((LA632_61 >= WHEN_SYMBOL) && (LA632_61 <= WHERE_SYMBOL)) || LA632_61 == WITH_SYMBOL || ((LA632_61 >= XOR_SYMBOL) && (LA632_61 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 61;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == LINESTRING_SYMBOL))
                    {
                        {
                            int LA632_62 = LA(2);
                            if ( (LA632_62 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2799 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2799;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_62 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2800 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2800;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_62 == EOF || ((LA632_62 >= ASCII_SYMBOL) && (LA632_62 <= YEAR_SYMBOL)) || ((LA632_62 >= AND_SYMBOL) && (LA632_62 <= ASC_SYMBOL)) || LA632_62 == AS_SYMBOL || LA632_62 == BACK_TICK_QUOTED_ID || LA632_62 == BETWEEN_SYMBOL || LA632_62 == BITWISE_AND_OPERATOR || ((LA632_62 >= BITWISE_OR_OPERATOR) && (LA632_62 <= BITWISE_XOR_OPERATOR)) || ((LA632_62 >= CLOSE_CURLY_SYMBOL) && (LA632_62 <= COLLATE_SYMBOL)) || LA632_62 == COMMA_SYMBOL || LA632_62 == CONCAT_PIPES_SYMBOL || LA632_62 == CROSS_SYMBOL || ((LA632_62 >= DAY_HOUR_SYMBOL) && (LA632_62 <= DAY_SECOND_SYMBOL)) || LA632_62 == DESC_SYMBOL || ((LA632_62 >= DIV_OPERATOR) && (LA632_62 <= DIV_SYMBOL)) || LA632_62 == DOUBLE_QUOTED_TEXT || LA632_62 == ELSE_SYMBOL || LA632_62 == EQUAL_OPERATOR || ((LA632_62 >= FOR_SYMBOL) && (LA632_62 <= FROM_SYMBOL)) || ((LA632_62 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_62 <= GREATER_THAN_OPERATOR)) || ((LA632_62 >= GROUP_SYMBOL) && (LA632_62 <= HAVING_SYMBOL)) || ((LA632_62 >= HOUR_MICROSECOND_SYMBOL) && (LA632_62 <= IDENTIFIER)) || LA632_62 == INNER_SYMBOL || LA632_62 == INTO_SYMBOL || LA632_62 == IN_SYMBOL || LA632_62 == IS_SYMBOL || LA632_62 == JOIN_SYMBOL || ((LA632_62 >= LEFT_SYMBOL) && (LA632_62 <= LESS_THAN_OPERATOR)) || ((LA632_62 >= LIKE_SYMBOL) && (LA632_62 <= LIMIT_SYMBOL)) || LA632_62 == LOCK_SYMBOL || LA632_62 == LOGICAL_AND_OPERATOR || LA632_62 == LOGICAL_OR_OPERATOR || ((LA632_62 >= MINUS_OPERATOR) && (LA632_62 <= MINUTE_SECOND_SYMBOL)) || ((LA632_62 >= MOD_OPERATOR) && (LA632_62 <= MOD_SYMBOL)) || ((LA632_62 >= MULT_OPERATOR) && (LA632_62 <= NATURAL_SYMBOL)) || ((LA632_62 >= NOT_EQUAL2_OPERATOR) && (LA632_62 <= NOT_SYMBOL)) || LA632_62 == NULL_SAFE_EQUAL_OPERATOR || LA632_62 == ON_SYMBOL || ((LA632_62 >= ORDER_SYMBOL) && (LA632_62 <= OR_SYMBOL)) || LA632_62 == PLUS_OPERATOR || LA632_62 == PROCEDURE_SYMBOL || LA632_62 == REGEXP_SYMBOL || LA632_62 == RENAME_SYMBOL || LA632_62 == RIGHT_SYMBOL || LA632_62 == SECOND_MICROSECOND_SYMBOL || LA632_62 == SEMICOLON_SYMBOL || LA632_62 == SEPARATOR_SYMBOL || LA632_62 == SET_SYMBOL || ((LA632_62 >= SHIFT_LEFT_OPERATOR) && (LA632_62 <= SHIFT_RIGHT_OPERATOR)) || LA632_62 == SINGLE_QUOTED_TEXT || LA632_62 == STRAIGHT_JOIN_SYMBOL || LA632_62 == THEN_SYMBOL || LA632_62 == UNION_SYMBOL || LA632_62 == USING_SYMBOL || ((LA632_62 >= WHEN_SYMBOL) && (LA632_62 <= WHERE_SYMBOL)) || LA632_62 == WITH_SYMBOL || ((LA632_62 >= XOR_SYMBOL) && (LA632_62 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 62;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == MULTILINESTRING_SYMBOL))
                    {
                        {
                            int LA632_63 = LA(2);
                            if ( (LA632_63 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2889 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2889;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_63 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2890 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2890;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_63 == EOF || ((LA632_63 >= ASCII_SYMBOL) && (LA632_63 <= YEAR_SYMBOL)) || ((LA632_63 >= AND_SYMBOL) && (LA632_63 <= ASC_SYMBOL)) || LA632_63 == AS_SYMBOL || LA632_63 == BACK_TICK_QUOTED_ID || LA632_63 == BETWEEN_SYMBOL || LA632_63 == BITWISE_AND_OPERATOR || ((LA632_63 >= BITWISE_OR_OPERATOR) && (LA632_63 <= BITWISE_XOR_OPERATOR)) || ((LA632_63 >= CLOSE_CURLY_SYMBOL) && (LA632_63 <= COLLATE_SYMBOL)) || LA632_63 == COMMA_SYMBOL || LA632_63 == CONCAT_PIPES_SYMBOL || LA632_63 == CROSS_SYMBOL || ((LA632_63 >= DAY_HOUR_SYMBOL) && (LA632_63 <= DAY_SECOND_SYMBOL)) || LA632_63 == DESC_SYMBOL || ((LA632_63 >= DIV_OPERATOR) && (LA632_63 <= DIV_SYMBOL)) || LA632_63 == DOUBLE_QUOTED_TEXT || LA632_63 == ELSE_SYMBOL || LA632_63 == EQUAL_OPERATOR || ((LA632_63 >= FOR_SYMBOL) && (LA632_63 <= FROM_SYMBOL)) || ((LA632_63 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_63 <= GREATER_THAN_OPERATOR)) || ((LA632_63 >= GROUP_SYMBOL) && (LA632_63 <= HAVING_SYMBOL)) || ((LA632_63 >= HOUR_MICROSECOND_SYMBOL) && (LA632_63 <= IDENTIFIER)) || LA632_63 == INNER_SYMBOL || LA632_63 == INTO_SYMBOL || LA632_63 == IN_SYMBOL || LA632_63 == IS_SYMBOL || LA632_63 == JOIN_SYMBOL || ((LA632_63 >= LEFT_SYMBOL) && (LA632_63 <= LESS_THAN_OPERATOR)) || ((LA632_63 >= LIKE_SYMBOL) && (LA632_63 <= LIMIT_SYMBOL)) || LA632_63 == LOCK_SYMBOL || LA632_63 == LOGICAL_AND_OPERATOR || LA632_63 == LOGICAL_OR_OPERATOR || ((LA632_63 >= MINUS_OPERATOR) && (LA632_63 <= MINUTE_SECOND_SYMBOL)) || ((LA632_63 >= MOD_OPERATOR) && (LA632_63 <= MOD_SYMBOL)) || ((LA632_63 >= MULT_OPERATOR) && (LA632_63 <= NATURAL_SYMBOL)) || ((LA632_63 >= NOT_EQUAL2_OPERATOR) && (LA632_63 <= NOT_SYMBOL)) || LA632_63 == NULL_SAFE_EQUAL_OPERATOR || LA632_63 == ON_SYMBOL || ((LA632_63 >= ORDER_SYMBOL) && (LA632_63 <= OR_SYMBOL)) || LA632_63 == PLUS_OPERATOR || LA632_63 == PROCEDURE_SYMBOL || LA632_63 == REGEXP_SYMBOL || LA632_63 == RENAME_SYMBOL || LA632_63 == RIGHT_SYMBOL || LA632_63 == SECOND_MICROSECOND_SYMBOL || LA632_63 == SEMICOLON_SYMBOL || LA632_63 == SEPARATOR_SYMBOL || LA632_63 == SET_SYMBOL || ((LA632_63 >= SHIFT_LEFT_OPERATOR) && (LA632_63 <= SHIFT_RIGHT_OPERATOR)) || LA632_63 == SINGLE_QUOTED_TEXT || LA632_63 == STRAIGHT_JOIN_SYMBOL || LA632_63 == THEN_SYMBOL || LA632_63 == UNION_SYMBOL || LA632_63 == USING_SYMBOL || ((LA632_63 >= WHEN_SYMBOL) && (LA632_63 <= WHERE_SYMBOL)) || LA632_63 == WITH_SYMBOL || ((LA632_63 >= XOR_SYMBOL) && (LA632_63 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 63;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == MULTIPOINT_SYMBOL))
                    {
                        {
                            int LA632_64 = LA(2);
                            if ( (LA632_64 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_2979 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2979;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_64 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_2980 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 2980;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_64 == EOF || ((LA632_64 >= ASCII_SYMBOL) && (LA632_64 <= YEAR_SYMBOL)) || ((LA632_64 >= AND_SYMBOL) && (LA632_64 <= ASC_SYMBOL)) || LA632_64 == AS_SYMBOL || LA632_64 == BACK_TICK_QUOTED_ID || LA632_64 == BETWEEN_SYMBOL || LA632_64 == BITWISE_AND_OPERATOR || ((LA632_64 >= BITWISE_OR_OPERATOR) && (LA632_64 <= BITWISE_XOR_OPERATOR)) || ((LA632_64 >= CLOSE_CURLY_SYMBOL) && (LA632_64 <= COLLATE_SYMBOL)) || LA632_64 == COMMA_SYMBOL || LA632_64 == CONCAT_PIPES_SYMBOL || LA632_64 == CROSS_SYMBOL || ((LA632_64 >= DAY_HOUR_SYMBOL) && (LA632_64 <= DAY_SECOND_SYMBOL)) || LA632_64 == DESC_SYMBOL || ((LA632_64 >= DIV_OPERATOR) && (LA632_64 <= DIV_SYMBOL)) || LA632_64 == DOUBLE_QUOTED_TEXT || LA632_64 == ELSE_SYMBOL || LA632_64 == EQUAL_OPERATOR || ((LA632_64 >= FOR_SYMBOL) && (LA632_64 <= FROM_SYMBOL)) || ((LA632_64 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_64 <= GREATER_THAN_OPERATOR)) || ((LA632_64 >= GROUP_SYMBOL) && (LA632_64 <= HAVING_SYMBOL)) || ((LA632_64 >= HOUR_MICROSECOND_SYMBOL) && (LA632_64 <= IDENTIFIER)) || LA632_64 == INNER_SYMBOL || LA632_64 == INTO_SYMBOL || LA632_64 == IN_SYMBOL || LA632_64 == IS_SYMBOL || LA632_64 == JOIN_SYMBOL || ((LA632_64 >= LEFT_SYMBOL) && (LA632_64 <= LESS_THAN_OPERATOR)) || ((LA632_64 >= LIKE_SYMBOL) && (LA632_64 <= LIMIT_SYMBOL)) || LA632_64 == LOCK_SYMBOL || LA632_64 == LOGICAL_AND_OPERATOR || LA632_64 == LOGICAL_OR_OPERATOR || ((LA632_64 >= MINUS_OPERATOR) && (LA632_64 <= MINUTE_SECOND_SYMBOL)) || ((LA632_64 >= MOD_OPERATOR) && (LA632_64 <= MOD_SYMBOL)) || ((LA632_64 >= MULT_OPERATOR) && (LA632_64 <= NATURAL_SYMBOL)) || ((LA632_64 >= NOT_EQUAL2_OPERATOR) && (LA632_64 <= NOT_SYMBOL)) || LA632_64 == NULL_SAFE_EQUAL_OPERATOR || LA632_64 == ON_SYMBOL || ((LA632_64 >= ORDER_SYMBOL) && (LA632_64 <= OR_SYMBOL)) || LA632_64 == PLUS_OPERATOR || LA632_64 == PROCEDURE_SYMBOL || LA632_64 == REGEXP_SYMBOL || LA632_64 == RENAME_SYMBOL || LA632_64 == RIGHT_SYMBOL || LA632_64 == SECOND_MICROSECOND_SYMBOL || LA632_64 == SEMICOLON_SYMBOL || LA632_64 == SEPARATOR_SYMBOL || LA632_64 == SET_SYMBOL || ((LA632_64 >= SHIFT_LEFT_OPERATOR) && (LA632_64 <= SHIFT_RIGHT_OPERATOR)) || LA632_64 == SINGLE_QUOTED_TEXT || LA632_64 == STRAIGHT_JOIN_SYMBOL || LA632_64 == THEN_SYMBOL || LA632_64 == UNION_SYMBOL || LA632_64 == USING_SYMBOL || ((LA632_64 >= WHEN_SYMBOL) && (LA632_64 <= WHERE_SYMBOL)) || LA632_64 == WITH_SYMBOL || ((LA632_64 >= XOR_SYMBOL) && (LA632_64 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 64;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == MULTIPOLYGON_SYMBOL))
                    {
                        {
                            int LA632_65 = LA(2);
                            if ( (LA632_65 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3069 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3069;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_65 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3070 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3070;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_65 == EOF || ((LA632_65 >= ASCII_SYMBOL) && (LA632_65 <= YEAR_SYMBOL)) || ((LA632_65 >= AND_SYMBOL) && (LA632_65 <= ASC_SYMBOL)) || LA632_65 == AS_SYMBOL || LA632_65 == BACK_TICK_QUOTED_ID || LA632_65 == BETWEEN_SYMBOL || LA632_65 == BITWISE_AND_OPERATOR || ((LA632_65 >= BITWISE_OR_OPERATOR) && (LA632_65 <= BITWISE_XOR_OPERATOR)) || ((LA632_65 >= CLOSE_CURLY_SYMBOL) && (LA632_65 <= COLLATE_SYMBOL)) || LA632_65 == COMMA_SYMBOL || LA632_65 == CONCAT_PIPES_SYMBOL || LA632_65 == CROSS_SYMBOL || ((LA632_65 >= DAY_HOUR_SYMBOL) && (LA632_65 <= DAY_SECOND_SYMBOL)) || LA632_65 == DESC_SYMBOL || ((LA632_65 >= DIV_OPERATOR) && (LA632_65 <= DIV_SYMBOL)) || LA632_65 == DOUBLE_QUOTED_TEXT || LA632_65 == ELSE_SYMBOL || LA632_65 == EQUAL_OPERATOR || ((LA632_65 >= FOR_SYMBOL) && (LA632_65 <= FROM_SYMBOL)) || ((LA632_65 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_65 <= GREATER_THAN_OPERATOR)) || ((LA632_65 >= GROUP_SYMBOL) && (LA632_65 <= HAVING_SYMBOL)) || ((LA632_65 >= HOUR_MICROSECOND_SYMBOL) && (LA632_65 <= IDENTIFIER)) || LA632_65 == INNER_SYMBOL || LA632_65 == INTO_SYMBOL || LA632_65 == IN_SYMBOL || LA632_65 == IS_SYMBOL || LA632_65 == JOIN_SYMBOL || ((LA632_65 >= LEFT_SYMBOL) && (LA632_65 <= LESS_THAN_OPERATOR)) || ((LA632_65 >= LIKE_SYMBOL) && (LA632_65 <= LIMIT_SYMBOL)) || LA632_65 == LOCK_SYMBOL || LA632_65 == LOGICAL_AND_OPERATOR || LA632_65 == LOGICAL_OR_OPERATOR || ((LA632_65 >= MINUS_OPERATOR) && (LA632_65 <= MINUTE_SECOND_SYMBOL)) || ((LA632_65 >= MOD_OPERATOR) && (LA632_65 <= MOD_SYMBOL)) || ((LA632_65 >= MULT_OPERATOR) && (LA632_65 <= NATURAL_SYMBOL)) || ((LA632_65 >= NOT_EQUAL2_OPERATOR) && (LA632_65 <= NOT_SYMBOL)) || LA632_65 == NULL_SAFE_EQUAL_OPERATOR || LA632_65 == ON_SYMBOL || ((LA632_65 >= ORDER_SYMBOL) && (LA632_65 <= OR_SYMBOL)) || LA632_65 == PLUS_OPERATOR || LA632_65 == PROCEDURE_SYMBOL || LA632_65 == REGEXP_SYMBOL || LA632_65 == RENAME_SYMBOL || LA632_65 == RIGHT_SYMBOL || LA632_65 == SECOND_MICROSECOND_SYMBOL || LA632_65 == SEMICOLON_SYMBOL || LA632_65 == SEPARATOR_SYMBOL || LA632_65 == SET_SYMBOL || ((LA632_65 >= SHIFT_LEFT_OPERATOR) && (LA632_65 <= SHIFT_RIGHT_OPERATOR)) || LA632_65 == SINGLE_QUOTED_TEXT || LA632_65 == STRAIGHT_JOIN_SYMBOL || LA632_65 == THEN_SYMBOL || LA632_65 == UNION_SYMBOL || LA632_65 == USING_SYMBOL || ((LA632_65 >= WHEN_SYMBOL) && (LA632_65 <= WHERE_SYMBOL)) || LA632_65 == WITH_SYMBOL || ((LA632_65 >= XOR_SYMBOL) && (LA632_65 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 65;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == POINT_SYMBOL))
                    {
                        {
                            int LA632_66 = LA(2);
                            if ( (LA632_66 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3159 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3159;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_66 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3160 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3160;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_66 == EOF || ((LA632_66 >= ASCII_SYMBOL) && (LA632_66 <= YEAR_SYMBOL)) || ((LA632_66 >= AND_SYMBOL) && (LA632_66 <= ASC_SYMBOL)) || LA632_66 == AS_SYMBOL || LA632_66 == BACK_TICK_QUOTED_ID || LA632_66 == BETWEEN_SYMBOL || LA632_66 == BITWISE_AND_OPERATOR || ((LA632_66 >= BITWISE_OR_OPERATOR) && (LA632_66 <= BITWISE_XOR_OPERATOR)) || ((LA632_66 >= CLOSE_CURLY_SYMBOL) && (LA632_66 <= COLLATE_SYMBOL)) || LA632_66 == COMMA_SYMBOL || LA632_66 == CONCAT_PIPES_SYMBOL || LA632_66 == CROSS_SYMBOL || ((LA632_66 >= DAY_HOUR_SYMBOL) && (LA632_66 <= DAY_SECOND_SYMBOL)) || LA632_66 == DESC_SYMBOL || ((LA632_66 >= DIV_OPERATOR) && (LA632_66 <= DIV_SYMBOL)) || LA632_66 == DOUBLE_QUOTED_TEXT || LA632_66 == ELSE_SYMBOL || LA632_66 == EQUAL_OPERATOR || ((LA632_66 >= FOR_SYMBOL) && (LA632_66 <= FROM_SYMBOL)) || ((LA632_66 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_66 <= GREATER_THAN_OPERATOR)) || ((LA632_66 >= GROUP_SYMBOL) && (LA632_66 <= HAVING_SYMBOL)) || ((LA632_66 >= HOUR_MICROSECOND_SYMBOL) && (LA632_66 <= IDENTIFIER)) || LA632_66 == INNER_SYMBOL || LA632_66 == INTO_SYMBOL || LA632_66 == IN_SYMBOL || LA632_66 == IS_SYMBOL || LA632_66 == JOIN_SYMBOL || ((LA632_66 >= LEFT_SYMBOL) && (LA632_66 <= LESS_THAN_OPERATOR)) || ((LA632_66 >= LIKE_SYMBOL) && (LA632_66 <= LIMIT_SYMBOL)) || LA632_66 == LOCK_SYMBOL || LA632_66 == LOGICAL_AND_OPERATOR || LA632_66 == LOGICAL_OR_OPERATOR || ((LA632_66 >= MINUS_OPERATOR) && (LA632_66 <= MINUTE_SECOND_SYMBOL)) || ((LA632_66 >= MOD_OPERATOR) && (LA632_66 <= MOD_SYMBOL)) || ((LA632_66 >= MULT_OPERATOR) && (LA632_66 <= NATURAL_SYMBOL)) || ((LA632_66 >= NOT_EQUAL2_OPERATOR) && (LA632_66 <= NOT_SYMBOL)) || LA632_66 == NULL_SAFE_EQUAL_OPERATOR || LA632_66 == ON_SYMBOL || ((LA632_66 >= ORDER_SYMBOL) && (LA632_66 <= OR_SYMBOL)) || LA632_66 == PLUS_OPERATOR || LA632_66 == PROCEDURE_SYMBOL || LA632_66 == REGEXP_SYMBOL || LA632_66 == RENAME_SYMBOL || LA632_66 == RIGHT_SYMBOL || LA632_66 == SECOND_MICROSECOND_SYMBOL || LA632_66 == SEMICOLON_SYMBOL || LA632_66 == SEPARATOR_SYMBOL || LA632_66 == SET_SYMBOL || ((LA632_66 >= SHIFT_LEFT_OPERATOR) && (LA632_66 <= SHIFT_RIGHT_OPERATOR)) || LA632_66 == SINGLE_QUOTED_TEXT || LA632_66 == STRAIGHT_JOIN_SYMBOL || LA632_66 == THEN_SYMBOL || LA632_66 == UNION_SYMBOL || LA632_66 == USING_SYMBOL || ((LA632_66 >= WHEN_SYMBOL) && (LA632_66 <= WHERE_SYMBOL)) || LA632_66 == WITH_SYMBOL || ((LA632_66 >= XOR_SYMBOL) && (LA632_66 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 66;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == POLYGON_SYMBOL))
                    {
                        {
                            int LA632_67 = LA(2);
                            if ( (LA632_67 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3249 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3249;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_67 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3250 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3250;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_67 == EOF || ((LA632_67 >= ASCII_SYMBOL) && (LA632_67 <= YEAR_SYMBOL)) || ((LA632_67 >= AND_SYMBOL) && (LA632_67 <= ASC_SYMBOL)) || LA632_67 == AS_SYMBOL || LA632_67 == BACK_TICK_QUOTED_ID || LA632_67 == BETWEEN_SYMBOL || LA632_67 == BITWISE_AND_OPERATOR || ((LA632_67 >= BITWISE_OR_OPERATOR) && (LA632_67 <= BITWISE_XOR_OPERATOR)) || ((LA632_67 >= CLOSE_CURLY_SYMBOL) && (LA632_67 <= COLLATE_SYMBOL)) || LA632_67 == COMMA_SYMBOL || LA632_67 == CONCAT_PIPES_SYMBOL || LA632_67 == CROSS_SYMBOL || ((LA632_67 >= DAY_HOUR_SYMBOL) && (LA632_67 <= DAY_SECOND_SYMBOL)) || LA632_67 == DESC_SYMBOL || ((LA632_67 >= DIV_OPERATOR) && (LA632_67 <= DIV_SYMBOL)) || LA632_67 == DOUBLE_QUOTED_TEXT || LA632_67 == ELSE_SYMBOL || LA632_67 == EQUAL_OPERATOR || ((LA632_67 >= FOR_SYMBOL) && (LA632_67 <= FROM_SYMBOL)) || ((LA632_67 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_67 <= GREATER_THAN_OPERATOR)) || ((LA632_67 >= GROUP_SYMBOL) && (LA632_67 <= HAVING_SYMBOL)) || ((LA632_67 >= HOUR_MICROSECOND_SYMBOL) && (LA632_67 <= IDENTIFIER)) || LA632_67 == INNER_SYMBOL || LA632_67 == INTO_SYMBOL || LA632_67 == IN_SYMBOL || LA632_67 == IS_SYMBOL || LA632_67 == JOIN_SYMBOL || ((LA632_67 >= LEFT_SYMBOL) && (LA632_67 <= LESS_THAN_OPERATOR)) || ((LA632_67 >= LIKE_SYMBOL) && (LA632_67 <= LIMIT_SYMBOL)) || LA632_67 == LOCK_SYMBOL || LA632_67 == LOGICAL_AND_OPERATOR || LA632_67 == LOGICAL_OR_OPERATOR || ((LA632_67 >= MINUS_OPERATOR) && (LA632_67 <= MINUTE_SECOND_SYMBOL)) || ((LA632_67 >= MOD_OPERATOR) && (LA632_67 <= MOD_SYMBOL)) || ((LA632_67 >= MULT_OPERATOR) && (LA632_67 <= NATURAL_SYMBOL)) || ((LA632_67 >= NOT_EQUAL2_OPERATOR) && (LA632_67 <= NOT_SYMBOL)) || LA632_67 == NULL_SAFE_EQUAL_OPERATOR || LA632_67 == ON_SYMBOL || ((LA632_67 >= ORDER_SYMBOL) && (LA632_67 <= OR_SYMBOL)) || LA632_67 == PLUS_OPERATOR || LA632_67 == PROCEDURE_SYMBOL || LA632_67 == REGEXP_SYMBOL || LA632_67 == RENAME_SYMBOL || LA632_67 == RIGHT_SYMBOL || LA632_67 == SECOND_MICROSECOND_SYMBOL || LA632_67 == SEMICOLON_SYMBOL || LA632_67 == SEPARATOR_SYMBOL || LA632_67 == SET_SYMBOL || ((LA632_67 >= SHIFT_LEFT_OPERATOR) && (LA632_67 <= SHIFT_RIGHT_OPERATOR)) || LA632_67 == SINGLE_QUOTED_TEXT || LA632_67 == STRAIGHT_JOIN_SYMBOL || LA632_67 == THEN_SYMBOL || LA632_67 == UNION_SYMBOL || LA632_67 == USING_SYMBOL || ((LA632_67 >= WHEN_SYMBOL) && (LA632_67 <= WHERE_SYMBOL)) || LA632_67 == WITH_SYMBOL || ((LA632_67 >= XOR_SYMBOL) && (LA632_67 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 67;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == AVG_SYMBOL))
                    {
                        {
                            int LA632_68 = LA(2);
                            if ( (LA632_68 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3339 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=2;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3339;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_68 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3340 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3340;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_68 == EOF || ((LA632_68 >= ASCII_SYMBOL) && (LA632_68 <= YEAR_SYMBOL)) || ((LA632_68 >= AND_SYMBOL) && (LA632_68 <= ASC_SYMBOL)) || LA632_68 == AS_SYMBOL || LA632_68 == BACK_TICK_QUOTED_ID || LA632_68 == BETWEEN_SYMBOL || LA632_68 == BITWISE_AND_OPERATOR || ((LA632_68 >= BITWISE_OR_OPERATOR) && (LA632_68 <= BITWISE_XOR_OPERATOR)) || ((LA632_68 >= CLOSE_CURLY_SYMBOL) && (LA632_68 <= COLLATE_SYMBOL)) || LA632_68 == COMMA_SYMBOL || LA632_68 == CONCAT_PIPES_SYMBOL || LA632_68 == CROSS_SYMBOL || ((LA632_68 >= DAY_HOUR_SYMBOL) && (LA632_68 <= DAY_SECOND_SYMBOL)) || LA632_68 == DESC_SYMBOL || ((LA632_68 >= DIV_OPERATOR) && (LA632_68 <= DIV_SYMBOL)) || LA632_68 == DOUBLE_QUOTED_TEXT || LA632_68 == ELSE_SYMBOL || LA632_68 == EQUAL_OPERATOR || ((LA632_68 >= FOR_SYMBOL) && (LA632_68 <= FROM_SYMBOL)) || ((LA632_68 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_68 <= GREATER_THAN_OPERATOR)) || ((LA632_68 >= GROUP_SYMBOL) && (LA632_68 <= HAVING_SYMBOL)) || ((LA632_68 >= HOUR_MICROSECOND_SYMBOL) && (LA632_68 <= IDENTIFIER)) || LA632_68 == INNER_SYMBOL || LA632_68 == INTO_SYMBOL || LA632_68 == IN_SYMBOL || LA632_68 == IS_SYMBOL || LA632_68 == JOIN_SYMBOL || ((LA632_68 >= LEFT_SYMBOL) && (LA632_68 <= LESS_THAN_OPERATOR)) || ((LA632_68 >= LIKE_SYMBOL) && (LA632_68 <= LIMIT_SYMBOL)) || LA632_68 == LOCK_SYMBOL || LA632_68 == LOGICAL_AND_OPERATOR || LA632_68 == LOGICAL_OR_OPERATOR || ((LA632_68 >= MINUS_OPERATOR) && (LA632_68 <= MINUTE_SECOND_SYMBOL)) || ((LA632_68 >= MOD_OPERATOR) && (LA632_68 <= MOD_SYMBOL)) || ((LA632_68 >= MULT_OPERATOR) && (LA632_68 <= NATURAL_SYMBOL)) || ((LA632_68 >= NOT_EQUAL2_OPERATOR) && (LA632_68 <= NOT_SYMBOL)) || LA632_68 == NULL_SAFE_EQUAL_OPERATOR || LA632_68 == ON_SYMBOL || ((LA632_68 >= ORDER_SYMBOL) && (LA632_68 <= OR_SYMBOL)) || LA632_68 == PLUS_OPERATOR || LA632_68 == PROCEDURE_SYMBOL || LA632_68 == REGEXP_SYMBOL || LA632_68 == RENAME_SYMBOL || LA632_68 == RIGHT_SYMBOL || LA632_68 == SECOND_MICROSECOND_SYMBOL || LA632_68 == SEMICOLON_SYMBOL || LA632_68 == SEPARATOR_SYMBOL || LA632_68 == SET_SYMBOL || ((LA632_68 >= SHIFT_LEFT_OPERATOR) && (LA632_68 <= SHIFT_RIGHT_OPERATOR)) || LA632_68 == SINGLE_QUOTED_TEXT || LA632_68 == STRAIGHT_JOIN_SYMBOL || LA632_68 == THEN_SYMBOL || LA632_68 == UNION_SYMBOL || LA632_68 == USING_SYMBOL || ((LA632_68 >= WHEN_SYMBOL) && (LA632_68 <= WHERE_SYMBOL)) || LA632_68 == WITH_SYMBOL || ((LA632_68 >= XOR_SYMBOL) && (LA632_68 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 68;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == IDENTIFIER))
                    {
                        {
                            int LA632_81 = LA(2);
                            if ( (LA632_81 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3429 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=3;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3429;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_81 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3430 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3430;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_81 == EOF || ((LA632_81 >= ASCII_SYMBOL) && (LA632_81 <= YEAR_SYMBOL)) || ((LA632_81 >= AND_SYMBOL) && (LA632_81 <= ASC_SYMBOL)) || LA632_81 == AS_SYMBOL || LA632_81 == BACK_TICK_QUOTED_ID || LA632_81 == BETWEEN_SYMBOL || LA632_81 == BITWISE_AND_OPERATOR || ((LA632_81 >= BITWISE_OR_OPERATOR) && (LA632_81 <= BITWISE_XOR_OPERATOR)) || ((LA632_81 >= CLOSE_CURLY_SYMBOL) && (LA632_81 <= COLLATE_SYMBOL)) || LA632_81 == COMMA_SYMBOL || LA632_81 == CONCAT_PIPES_SYMBOL || LA632_81 == CROSS_SYMBOL || ((LA632_81 >= DAY_HOUR_SYMBOL) && (LA632_81 <= DAY_SECOND_SYMBOL)) || LA632_81 == DESC_SYMBOL || ((LA632_81 >= DIV_OPERATOR) && (LA632_81 <= DIV_SYMBOL)) || LA632_81 == DOUBLE_QUOTED_TEXT || LA632_81 == ELSE_SYMBOL || LA632_81 == EQUAL_OPERATOR || ((LA632_81 >= FOR_SYMBOL) && (LA632_81 <= FROM_SYMBOL)) || ((LA632_81 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_81 <= GREATER_THAN_OPERATOR)) || ((LA632_81 >= GROUP_SYMBOL) && (LA632_81 <= HAVING_SYMBOL)) || ((LA632_81 >= HOUR_MICROSECOND_SYMBOL) && (LA632_81 <= IDENTIFIER)) || LA632_81 == INNER_SYMBOL || LA632_81 == INTO_SYMBOL || LA632_81 == IN_SYMBOL || LA632_81 == IS_SYMBOL || LA632_81 == JOIN_SYMBOL || ((LA632_81 >= LEFT_SYMBOL) && (LA632_81 <= LESS_THAN_OPERATOR)) || ((LA632_81 >= LIKE_SYMBOL) && (LA632_81 <= LIMIT_SYMBOL)) || LA632_81 == LOCK_SYMBOL || LA632_81 == LOGICAL_AND_OPERATOR || LA632_81 == LOGICAL_OR_OPERATOR || ((LA632_81 >= MINUS_OPERATOR) && (LA632_81 <= MINUTE_SECOND_SYMBOL)) || ((LA632_81 >= MOD_OPERATOR) && (LA632_81 <= MOD_SYMBOL)) || ((LA632_81 >= MULT_OPERATOR) && (LA632_81 <= NATURAL_SYMBOL)) || ((LA632_81 >= NOT_EQUAL2_OPERATOR) && (LA632_81 <= NOT_SYMBOL)) || LA632_81 == NULL_SAFE_EQUAL_OPERATOR || LA632_81 == ON_SYMBOL || ((LA632_81 >= ORDER_SYMBOL) && (LA632_81 <= OR_SYMBOL)) || LA632_81 == PLUS_OPERATOR || LA632_81 == PROCEDURE_SYMBOL || LA632_81 == REGEXP_SYMBOL || LA632_81 == RENAME_SYMBOL || LA632_81 == RIGHT_SYMBOL || LA632_81 == SECOND_MICROSECOND_SYMBOL || LA632_81 == SEMICOLON_SYMBOL || LA632_81 == SEPARATOR_SYMBOL || LA632_81 == SET_SYMBOL || ((LA632_81 >= SHIFT_LEFT_OPERATOR) && (LA632_81 <= SHIFT_RIGHT_OPERATOR)) || LA632_81 == SINGLE_QUOTED_TEXT || LA632_81 == STRAIGHT_JOIN_SYMBOL || LA632_81 == THEN_SYMBOL || LA632_81 == UNION_SYMBOL || LA632_81 == USING_SYMBOL || ((LA632_81 >= WHEN_SYMBOL) && (LA632_81 <= WHERE_SYMBOL)) || LA632_81 == WITH_SYMBOL || ((LA632_81 >= XOR_SYMBOL) && (LA632_81 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 81;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == BACK_TICK_QUOTED_ID))
                    {
                        {
                            int LA632_82 = LA(2);
                            if ( (LA632_82 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3519 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt632=3;
                                    }
                                    else if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3519;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_82 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3520 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3520;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_82 == EOF || ((LA632_82 >= ASCII_SYMBOL) && (LA632_82 <= YEAR_SYMBOL)) || ((LA632_82 >= AND_SYMBOL) && (LA632_82 <= ASC_SYMBOL)) || LA632_82 == AS_SYMBOL || LA632_82 == BACK_TICK_QUOTED_ID || LA632_82 == BETWEEN_SYMBOL || LA632_82 == BITWISE_AND_OPERATOR || ((LA632_82 >= BITWISE_OR_OPERATOR) && (LA632_82 <= BITWISE_XOR_OPERATOR)) || ((LA632_82 >= CLOSE_CURLY_SYMBOL) && (LA632_82 <= COLLATE_SYMBOL)) || LA632_82 == COMMA_SYMBOL || LA632_82 == CONCAT_PIPES_SYMBOL || LA632_82 == CROSS_SYMBOL || ((LA632_82 >= DAY_HOUR_SYMBOL) && (LA632_82 <= DAY_SECOND_SYMBOL)) || LA632_82 == DESC_SYMBOL || ((LA632_82 >= DIV_OPERATOR) && (LA632_82 <= DIV_SYMBOL)) || LA632_82 == DOUBLE_QUOTED_TEXT || LA632_82 == ELSE_SYMBOL || LA632_82 == EQUAL_OPERATOR || ((LA632_82 >= FOR_SYMBOL) && (LA632_82 <= FROM_SYMBOL)) || ((LA632_82 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_82 <= GREATER_THAN_OPERATOR)) || ((LA632_82 >= GROUP_SYMBOL) && (LA632_82 <= HAVING_SYMBOL)) || ((LA632_82 >= HOUR_MICROSECOND_SYMBOL) && (LA632_82 <= IDENTIFIER)) || LA632_82 == INNER_SYMBOL || LA632_82 == INTO_SYMBOL || LA632_82 == IN_SYMBOL || LA632_82 == IS_SYMBOL || LA632_82 == JOIN_SYMBOL || ((LA632_82 >= LEFT_SYMBOL) && (LA632_82 <= LESS_THAN_OPERATOR)) || ((LA632_82 >= LIKE_SYMBOL) && (LA632_82 <= LIMIT_SYMBOL)) || LA632_82 == LOCK_SYMBOL || LA632_82 == LOGICAL_AND_OPERATOR || LA632_82 == LOGICAL_OR_OPERATOR || ((LA632_82 >= MINUS_OPERATOR) && (LA632_82 <= MINUTE_SECOND_SYMBOL)) || ((LA632_82 >= MOD_OPERATOR) && (LA632_82 <= MOD_SYMBOL)) || ((LA632_82 >= MULT_OPERATOR) && (LA632_82 <= NATURAL_SYMBOL)) || ((LA632_82 >= NOT_EQUAL2_OPERATOR) && (LA632_82 <= NOT_SYMBOL)) || LA632_82 == NULL_SAFE_EQUAL_OPERATOR || LA632_82 == ON_SYMBOL || ((LA632_82 >= ORDER_SYMBOL) && (LA632_82 <= OR_SYMBOL)) || LA632_82 == PLUS_OPERATOR || LA632_82 == PROCEDURE_SYMBOL || LA632_82 == REGEXP_SYMBOL || LA632_82 == RENAME_SYMBOL || LA632_82 == RIGHT_SYMBOL || LA632_82 == SECOND_MICROSECOND_SYMBOL || LA632_82 == SEMICOLON_SYMBOL || LA632_82 == SEPARATOR_SYMBOL || LA632_82 == SET_SYMBOL || ((LA632_82 >= SHIFT_LEFT_OPERATOR) && (LA632_82 <= SHIFT_RIGHT_OPERATOR)) || LA632_82 == SINGLE_QUOTED_TEXT || LA632_82 == STRAIGHT_JOIN_SYMBOL || LA632_82 == THEN_SYMBOL || LA632_82 == UNION_SYMBOL || LA632_82 == USING_SYMBOL || ((LA632_82 >= WHEN_SYMBOL) && (LA632_82 <= WHERE_SYMBOL)) || LA632_82 == WITH_SYMBOL || ((LA632_82 >= XOR_SYMBOL) && (LA632_82 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 82;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == ROW_SYMBOL))
                    {
                        {
                            int LA632_83 = LA(2);
                            if ( (LA632_83 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA632_3609 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=9;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3609;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_83 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3610 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3610;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA632_83 == EOF || ((LA632_83 >= ASCII_SYMBOL) && (LA632_83 <= YEAR_SYMBOL)) || ((LA632_83 >= AND_SYMBOL) && (LA632_83 <= ASC_SYMBOL)) || LA632_83 == AS_SYMBOL || LA632_83 == BACK_TICK_QUOTED_ID || LA632_83 == BETWEEN_SYMBOL || LA632_83 == BITWISE_AND_OPERATOR || ((LA632_83 >= BITWISE_OR_OPERATOR) && (LA632_83 <= BITWISE_XOR_OPERATOR)) || ((LA632_83 >= CLOSE_CURLY_SYMBOL) && (LA632_83 <= COLLATE_SYMBOL)) || LA632_83 == COMMA_SYMBOL || LA632_83 == CONCAT_PIPES_SYMBOL || LA632_83 == CROSS_SYMBOL || ((LA632_83 >= DAY_HOUR_SYMBOL) && (LA632_83 <= DAY_SECOND_SYMBOL)) || LA632_83 == DESC_SYMBOL || ((LA632_83 >= DIV_OPERATOR) && (LA632_83 <= DIV_SYMBOL)) || LA632_83 == DOUBLE_QUOTED_TEXT || LA632_83 == ELSE_SYMBOL || LA632_83 == EQUAL_OPERATOR || ((LA632_83 >= FOR_SYMBOL) && (LA632_83 <= FROM_SYMBOL)) || ((LA632_83 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_83 <= GREATER_THAN_OPERATOR)) || ((LA632_83 >= GROUP_SYMBOL) && (LA632_83 <= HAVING_SYMBOL)) || ((LA632_83 >= HOUR_MICROSECOND_SYMBOL) && (LA632_83 <= IDENTIFIER)) || LA632_83 == INNER_SYMBOL || LA632_83 == INTO_SYMBOL || LA632_83 == IN_SYMBOL || LA632_83 == IS_SYMBOL || LA632_83 == JOIN_SYMBOL || ((LA632_83 >= LEFT_SYMBOL) && (LA632_83 <= LESS_THAN_OPERATOR)) || ((LA632_83 >= LIKE_SYMBOL) && (LA632_83 <= LIMIT_SYMBOL)) || LA632_83 == LOCK_SYMBOL || LA632_83 == LOGICAL_AND_OPERATOR || LA632_83 == LOGICAL_OR_OPERATOR || ((LA632_83 >= MINUS_OPERATOR) && (LA632_83 <= MINUTE_SECOND_SYMBOL)) || ((LA632_83 >= MOD_OPERATOR) && (LA632_83 <= MOD_SYMBOL)) || ((LA632_83 >= MULT_OPERATOR) && (LA632_83 <= NATURAL_SYMBOL)) || ((LA632_83 >= NOT_EQUAL2_OPERATOR) && (LA632_83 <= NOT_SYMBOL)) || LA632_83 == NULL_SAFE_EQUAL_OPERATOR || LA632_83 == ON_SYMBOL || ((LA632_83 >= ORDER_SYMBOL) && (LA632_83 <= OR_SYMBOL)) || LA632_83 == PLUS_OPERATOR || LA632_83 == PROCEDURE_SYMBOL || LA632_83 == REGEXP_SYMBOL || LA632_83 == RENAME_SYMBOL || LA632_83 == RIGHT_SYMBOL || LA632_83 == SECOND_MICROSECOND_SYMBOL || LA632_83 == SEMICOLON_SYMBOL || LA632_83 == SEPARATOR_SYMBOL || LA632_83 == SET_SYMBOL || ((LA632_83 >= SHIFT_LEFT_OPERATOR) && (LA632_83 <= SHIFT_RIGHT_OPERATOR)) || LA632_83 == SINGLE_QUOTED_TEXT || LA632_83 == STRAIGHT_JOIN_SYMBOL || LA632_83 == THEN_SYMBOL || LA632_83 == UNION_SYMBOL || LA632_83 == USING_SYMBOL || ((LA632_83 >= WHEN_SYMBOL) && (LA632_83 <= WHERE_SYMBOL)) || LA632_83 == WITH_SYMBOL || ((LA632_83 >= XOR_SYMBOL) && (LA632_83 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 83;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA632_0 >= BACKUP_SYMBOL) && (LA632_0 <= CACHE_SYMBOL)) || ((LA632_0 >= CHECKSUM_SYMBOL) && (LA632_0 <= COMMIT_SYMBOL)) || ((LA632_0 >= DEALLOCATE_SYMBOL) && (LA632_0 <= FOLLOWS_SYMBOL)) || ((LA632_0 >= HANDLER_SYMBOL) && (LA632_0 <= STOP_SYMBOL)) || ((LA632_0 >= UNICODE_SYMBOL) && (LA632_0 <= XA_SYMBOL))))
                    {
                        {
                            int LA632_84 = LA(2);
                            if ( (LA632_84 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3699 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3699;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (synpred2_MySQL(ctx)) && (LA632_84 == OPEN_PAR_SYMBOL))
                            {
                                alt632=4;
                            }
                            else if ( (LA632_84 == EOF || ((LA632_84 >= ASCII_SYMBOL) && (LA632_84 <= YEAR_SYMBOL)) || ((LA632_84 >= AND_SYMBOL) && (LA632_84 <= ASC_SYMBOL)) || LA632_84 == AS_SYMBOL || LA632_84 == BACK_TICK_QUOTED_ID || LA632_84 == BETWEEN_SYMBOL || LA632_84 == BITWISE_AND_OPERATOR || ((LA632_84 >= BITWISE_OR_OPERATOR) && (LA632_84 <= BITWISE_XOR_OPERATOR)) || ((LA632_84 >= CLOSE_CURLY_SYMBOL) && (LA632_84 <= COLLATE_SYMBOL)) || LA632_84 == COMMA_SYMBOL || LA632_84 == CONCAT_PIPES_SYMBOL || LA632_84 == CROSS_SYMBOL || ((LA632_84 >= DAY_HOUR_SYMBOL) && (LA632_84 <= DAY_SECOND_SYMBOL)) || LA632_84 == DESC_SYMBOL || ((LA632_84 >= DIV_OPERATOR) && (LA632_84 <= DIV_SYMBOL)) || LA632_84 == DOUBLE_QUOTED_TEXT || LA632_84 == ELSE_SYMBOL || LA632_84 == EQUAL_OPERATOR || ((LA632_84 >= FOR_SYMBOL) && (LA632_84 <= FROM_SYMBOL)) || ((LA632_84 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_84 <= GREATER_THAN_OPERATOR)) || ((LA632_84 >= GROUP_SYMBOL) && (LA632_84 <= HAVING_SYMBOL)) || ((LA632_84 >= HOUR_MICROSECOND_SYMBOL) && (LA632_84 <= IDENTIFIER)) || LA632_84 == INNER_SYMBOL || LA632_84 == INTO_SYMBOL || LA632_84 == IN_SYMBOL || LA632_84 == IS_SYMBOL || LA632_84 == JOIN_SYMBOL || ((LA632_84 >= LEFT_SYMBOL) && (LA632_84 <= LESS_THAN_OPERATOR)) || ((LA632_84 >= LIKE_SYMBOL) && (LA632_84 <= LIMIT_SYMBOL)) || LA632_84 == LOCK_SYMBOL || LA632_84 == LOGICAL_AND_OPERATOR || LA632_84 == LOGICAL_OR_OPERATOR || ((LA632_84 >= MINUS_OPERATOR) && (LA632_84 <= MINUTE_SECOND_SYMBOL)) || ((LA632_84 >= MOD_OPERATOR) && (LA632_84 <= MOD_SYMBOL)) || ((LA632_84 >= MULT_OPERATOR) && (LA632_84 <= NATURAL_SYMBOL)) || ((LA632_84 >= NOT_EQUAL2_OPERATOR) && (LA632_84 <= NOT_SYMBOL)) || LA632_84 == NULL_SAFE_EQUAL_OPERATOR || LA632_84 == ON_SYMBOL || ((LA632_84 >= ORDER_SYMBOL) && (LA632_84 <= OR_SYMBOL)) || LA632_84 == PLUS_OPERATOR || LA632_84 == PROCEDURE_SYMBOL || LA632_84 == REGEXP_SYMBOL || LA632_84 == RENAME_SYMBOL || LA632_84 == RIGHT_SYMBOL || LA632_84 == SECOND_MICROSECOND_SYMBOL || LA632_84 == SEMICOLON_SYMBOL || LA632_84 == SEPARATOR_SYMBOL || LA632_84 == SET_SYMBOL || ((LA632_84 >= SHIFT_LEFT_OPERATOR) && (LA632_84 <= SHIFT_RIGHT_OPERATOR)) || LA632_84 == SINGLE_QUOTED_TEXT || LA632_84 == STRAIGHT_JOIN_SYMBOL || LA632_84 == THEN_SYMBOL || LA632_84 == UNION_SYMBOL || LA632_84 == USING_SYMBOL || ((LA632_84 >= WHEN_SYMBOL) && (LA632_84 <= WHERE_SYMBOL)) || LA632_84 == WITH_SYMBOL || ((LA632_84 >= XOR_SYMBOL) && (LA632_84 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 84;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == PARAM_MARKER))
                    {
                        alt632=6;
                    }
                    else if ( (((LA632_0 >= AT_AT_SIGN_SYMBOL) && (LA632_0 <= AT_TEXT_SUFFIX))))
                    {
                        alt632=7;
                    }
                    else if ( (LA632_0 == EXISTS_SYMBOL))
                    {
                        alt632=8;
                    }
                    else if ( (LA632_0 == OPEN_PAR_SYMBOL))
                    {
                        alt632=9;
                    }
                    else if ( (LA632_0 == ACTION_SYMBOL || ((LA632_0 >= AFTER_SYMBOL) && (LA632_0 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA632_0 >= BINLOG_SYMBOL) && (LA632_0 <= CLASS_ORIGIN_SYMBOL)) || LA632_0 == CODE_SYMBOL || ((LA632_0 >= COLUMN_NAME_SYMBOL) && (LA632_0 <= DATETIME_SYMBOL)) || ((LA632_0 >= DEFAULT_AUTH_SYMBOL) && (LA632_0 <= GEOMETRY_SYMBOL)) || ((LA632_0 >= GRANTS_SYMBOL) && (LA632_0 <= HOSTS_SYMBOL)) || ((LA632_0 >= IDENTIFIED_SYMBOL) && (LA632_0 <= LEVEL_SYMBOL)) || ((LA632_0 >= LIST_SYMBOL) && (LA632_0 <= MESSAGE_TEXT_SYMBOL)) || LA632_0 == MIGRATE_SYMBOL || ((LA632_0 >= MIN_ROWS_SYMBOL) && (LA632_0 <= MODE_SYMBOL)) || ((LA632_0 >= MUTEX_SYMBOL) && (LA632_0 <= OFFSET_SYMBOL)) || ((LA632_0 >= ONE_SHOT_SYMBOL) && (LA632_0 <= PARTITIONS_SYMBOL)) || ((LA632_0 >= PHASE_SYMBOL) && (LA632_0 <= PLUGINS_SYMBOL)) || ((LA632_0 >= PRESERVE_SYMBOL) && (LA632_0 <= PROXY_SYMBOL)) || ((LA632_0 >= QUERY_SYMBOL) && (LA632_0 <= RETURNS_SYMBOL)) || ((LA632_0 >= ROLLUP_SYMBOL) && (LA632_0 <= ROWS_SYMBOL)) || LA632_0 == ROW_FORMAT_SYMBOL || ((LA632_0 >= RTREE_SYMBOL) && (LA632_0 <= SCHEMA_NAME_SYMBOL)) || ((LA632_0 >= SERIAL_SYMBOL) && (LA632_0 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA632_0 >= SUBJECT_SYMBOL) && (LA632_0 <= TRIGGERS_SYMBOL)) || ((LA632_0 >= TYPES_SYMBOL) && (LA632_0 <= USER_RESOURCES_SYMBOL)) || ((LA632_0 >= USE_FRM_SYMBOL) && (LA632_0 <= WAIT_SYMBOL)) || LA632_0 == WORK_SYMBOL || ((LA632_0 >= X509_SYMBOL) && (LA632_0 <= XML_SYMBOL))))
                    {
                        {
                            int LA632_91 = LA(2);
                            if ( (LA632_91 == DOT_SYMBOL))
                            {
                                {
                                    int LA632_3789 = LA(3);
                                    if ( (synpred2_MySQL(ctx)))
                                    {
                                        alt632=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt632=5;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 632;
                                        EXCEPTION->state        = 3789;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (synpred2_MySQL(ctx)) && (LA632_91 == OPEN_PAR_SYMBOL))
                            {
                                alt632=4;
                            }
                            else if ( (LA632_91 == EOF || ((LA632_91 >= ASCII_SYMBOL) && (LA632_91 <= YEAR_SYMBOL)) || ((LA632_91 >= AND_SYMBOL) && (LA632_91 <= ASC_SYMBOL)) || LA632_91 == AS_SYMBOL || LA632_91 == BACK_TICK_QUOTED_ID || LA632_91 == BETWEEN_SYMBOL || LA632_91 == BITWISE_AND_OPERATOR || ((LA632_91 >= BITWISE_OR_OPERATOR) && (LA632_91 <= BITWISE_XOR_OPERATOR)) || ((LA632_91 >= CLOSE_CURLY_SYMBOL) && (LA632_91 <= COLLATE_SYMBOL)) || LA632_91 == COMMA_SYMBOL || LA632_91 == CONCAT_PIPES_SYMBOL || LA632_91 == CROSS_SYMBOL || ((LA632_91 >= DAY_HOUR_SYMBOL) && (LA632_91 <= DAY_SECOND_SYMBOL)) || LA632_91 == DESC_SYMBOL || ((LA632_91 >= DIV_OPERATOR) && (LA632_91 <= DIV_SYMBOL)) || LA632_91 == DOUBLE_QUOTED_TEXT || LA632_91 == ELSE_SYMBOL || LA632_91 == EQUAL_OPERATOR || ((LA632_91 >= FOR_SYMBOL) && (LA632_91 <= FROM_SYMBOL)) || ((LA632_91 >= GREATER_OR_EQUAL_OPERATOR) && (LA632_91 <= GREATER_THAN_OPERATOR)) || ((LA632_91 >= GROUP_SYMBOL) && (LA632_91 <= HAVING_SYMBOL)) || ((LA632_91 >= HOUR_MICROSECOND_SYMBOL) && (LA632_91 <= IDENTIFIER)) || LA632_91 == INNER_SYMBOL || LA632_91 == INTO_SYMBOL || LA632_91 == IN_SYMBOL || LA632_91 == IS_SYMBOL || LA632_91 == JOIN_SYMBOL || ((LA632_91 >= LEFT_SYMBOL) && (LA632_91 <= LESS_THAN_OPERATOR)) || ((LA632_91 >= LIKE_SYMBOL) && (LA632_91 <= LIMIT_SYMBOL)) || LA632_91 == LOCK_SYMBOL || LA632_91 == LOGICAL_AND_OPERATOR || LA632_91 == LOGICAL_OR_OPERATOR || ((LA632_91 >= MINUS_OPERATOR) && (LA632_91 <= MINUTE_SECOND_SYMBOL)) || ((LA632_91 >= MOD_OPERATOR) && (LA632_91 <= MOD_SYMBOL)) || ((LA632_91 >= MULT_OPERATOR) && (LA632_91 <= NATURAL_SYMBOL)) || ((LA632_91 >= NOT_EQUAL2_OPERATOR) && (LA632_91 <= NOT_SYMBOL)) || LA632_91 == NULL_SAFE_EQUAL_OPERATOR || LA632_91 == ON_SYMBOL || ((LA632_91 >= ORDER_SYMBOL) && (LA632_91 <= OR_SYMBOL)) || LA632_91 == PLUS_OPERATOR || LA632_91 == PROCEDURE_SYMBOL || LA632_91 == REGEXP_SYMBOL || LA632_91 == RENAME_SYMBOL || LA632_91 == RIGHT_SYMBOL || LA632_91 == SECOND_MICROSECOND_SYMBOL || LA632_91 == SEMICOLON_SYMBOL || LA632_91 == SEPARATOR_SYMBOL || LA632_91 == SET_SYMBOL || ((LA632_91 >= SHIFT_LEFT_OPERATOR) && (LA632_91 <= SHIFT_RIGHT_OPERATOR)) || LA632_91 == SINGLE_QUOTED_TEXT || LA632_91 == STRAIGHT_JOIN_SYMBOL || LA632_91 == THEN_SYMBOL || LA632_91 == UNION_SYMBOL || LA632_91 == USING_SYMBOL || ((LA632_91 >= WHEN_SYMBOL) && (LA632_91 <= WHERE_SYMBOL)) || LA632_91 == WITH_SYMBOL || ((LA632_91 >= XOR_SYMBOL) && (LA632_91 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt632=5;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 632;
                                EXCEPTION->state        = 91;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA632_0 == OPEN_CURLY_SYMBOL))
                    {
                        alt632=10;
                    }
                    else if ( (LA632_0 == MATCH_SYMBOL))
                    {
                        alt632=11;
                    }
                    else if ( (LA632_0 == CASE_SYMBOL))
                    {
                        alt632=12;
                    }
                    else if ( (LA632_0 == BINARY_SYMBOL || LA632_0 == CAST_SYMBOL || LA632_0 == CONVERT_SYMBOL))
                    {
                        alt632=13;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 632;
                        EXCEPTION->state        = 0;


                        goto ruleprimaryEx;

                    }
                }
                switch (alt632)
                {
            	case 1:
            	    // MySQL.g:2023:3: literal
            	    {
            	        FOLLOWPUSH(FOLLOW_literal_in_primary11132);
            	        literal2033=literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal2033.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2024:5: runtime_function_call
            	    {
            	        FOLLOWPUSH(FOLLOW_runtime_function_call_in_primary11138);
            	        runtime_function_call2034=runtime_function_call(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, runtime_function_call2034.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2025:5: udf_call
            	    {
            	        FOLLOWPUSH(FOLLOW_udf_call_in_primary11145);
            	        udf_call2035=udf_call(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, udf_call2035.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:2026:5: ( stored_function_call )=> stored_function_call
            	    {
            	        FOLLOWPUSH(FOLLOW_stored_function_call_in_primary11157);
            	        stored_function_call2036=stored_function_call(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, stored_function_call2036.tree);

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:2027:5: column_ref
            	    {
            	        FOLLOWPUSH(FOLLOW_column_ref_in_primary11163);
            	        column_ref2037=column_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref2037.tree);

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:2028:5: PARAM_MARKER
            	    {
            	        PARAM_MARKER2038 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_primary11169);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PARAM_MARKER2038_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER2038));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER2038_tree);
            	        }

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:2029:5: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_primary11175);
            	        variable2039=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2039.tree);

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:2030:5: EXISTS_SYMBOL subquery
            	    {
            	        EXISTS_SYMBOL2040 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_primary11181);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EXISTS_SYMBOL2040_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL2040));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL2040_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_subquery_in_primary11183);
            	        subquery2041=subquery(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery2041.tree);

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:2031:5: expression_with_nested_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_with_nested_parentheses_in_primary11189);
            	        expression_with_nested_parentheses2042=expression_with_nested_parentheses(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_with_nested_parentheses2042.tree);

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:2032:5: OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL
            	    {
            	        OPEN_CURLY_SYMBOL2043 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_CURLY_SYMBOL, &FOLLOW_OPEN_CURLY_SYMBOL_in_primary11195);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_CURLY_SYMBOL2043_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_CURLY_SYMBOL2043));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_CURLY_SYMBOL2043_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_primary11197);
            	        identifier2044=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2044.tree);

            	        FOLLOWPUSH(FOLLOW_expression_in_primary11199);
            	        expression2045=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2045.tree);

            	        CLOSE_CURLY_SYMBOL2046 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_CURLY_SYMBOL, &FOLLOW_CLOSE_CURLY_SYMBOL_in_primary11201);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_CURLY_SYMBOL2046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_CURLY_SYMBOL2046));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_CURLY_SYMBOL2046_tree);
            	        }

            	    }
            	    break;
            	case 11:
            	    // MySQL.g:2033:5: match_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_match_expression_in_primary11207);
            	        match_expression2047=match_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, match_expression2047.tree);

            	    }
            	    break;
            	case 12:
            	    // MySQL.g:2034:5: case_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_case_expression_in_primary11213);
            	        case_expression2048=case_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, case_expression2048.tree);

            	    }
            	    break;
            	case 13:
            	    // MySQL.g:2035:5: cast_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_cast_expression_in_primary11219);
            	        cast_expression2049=cast_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_expression2049.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2038:2: ( options {greedy=true; } : COLLATE_SYMBOL text_or_identifier )*

            for (;;)
            {
                int alt633=2;
                switch ( LA(1) )
                {
                case COLLATE_SYMBOL:
                	{
                		alt633=1;
                	}
                    break;

                }

                switch (alt633)
                {
            	case 1:
            	    // MySQL.g:2038:32: COLLATE_SYMBOL text_or_identifier
            	    {
            	        COLLATE_SYMBOL2050 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_primary11241);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATE_SYMBOL2050_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2050));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2050_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_primary11243);
            	        text_or_identifier2051=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2051.tree);

            	    }
            	    break;

            	default:
            	    goto loop633;	/* break out of the loop */
            	    break;
                }
            }
            loop633: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprimaryEx; /* Prevent compiler warnings */
    ruleprimaryEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end primary */

/**
 * $ANTLR start expression_with_nested_parentheses
 * MySQL.g:2043:1: expression_with_nested_parentheses : ({...}? => subquery | expression_list_with_parentheses | ROW_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL );
 */
static MySQLParser_expression_with_nested_parentheses_return
expression_with_nested_parentheses(pMySQLParser ctx)
{
    MySQLParser_expression_with_nested_parentheses_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ROW_SYMBOL2054;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2055;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2057;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2059;
    MySQLParser_subquery_return subquery2052;
    #undef	RETURN_TYPE_subquery2052
    #define	RETURN_TYPE_subquery2052 MySQLParser_subquery_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2053;
    #undef	RETURN_TYPE_expression_list_with_parentheses2053
    #define	RETURN_TYPE_expression_list_with_parentheses2053 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression2056;
    #undef	RETURN_TYPE_expression2056
    #define	RETURN_TYPE_expression2056 MySQLParser_expression_return

    MySQLParser_expression_return expression2058;
    #undef	RETURN_TYPE_expression2058
    #define	RETURN_TYPE_expression2058 MySQLParser_expression_return

    pANTLR3_BASE_TREE ROW_SYMBOL2054_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2055_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2057_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2059_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ROW_SYMBOL2054       = NULL;
    OPEN_PAR_SYMBOL2055       = NULL;
    COMMA_SYMBOL2057       = NULL;
    CLOSE_PAR_SYMBOL2059       = NULL;
    subquery2052.tree = NULL;

    expression_list_with_parentheses2053.tree = NULL;

    expression2056.tree = NULL;

    expression2058.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ROW_SYMBOL2054_tree   = NULL;
    OPEN_PAR_SYMBOL2055_tree   = NULL;
    COMMA_SYMBOL2057_tree   = NULL;
    CLOSE_PAR_SYMBOL2059_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2043:35: ({...}? => subquery | expression_list_with_parentheses | ROW_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt635;

            alt635=3;

            switch ( LA(1) )
            {
            case OPEN_PAR_SYMBOL:
            	{
            		{
            		    int LA635_1 = LA(2);
            		    if ( ((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)) && (LA635_1 == SELECT_SYMBOL))
            		    {
            		        alt635=1;
            		    }
            		    else if ( (LA635_1 == OPEN_PAR_SYMBOL))
            		    {
            		        {
            		            int LA635_4 = LA(3);
            		            if ( ((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)))
            		            {
            		                alt635=1;
            		            }
            		            else if ( (ANTLR3_TRUE))
            		            {
            		                alt635=2;
            		            }
            		            else
            		            {
            		                if (BACKTRACKING>0)
            		                {
            		                    FAILEDFLAG = ANTLR3_TRUE;
            		                    return retval;
            		                }


            		                CONSTRUCTEX();
            		                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		                EXCEPTION->message      = (void *)"";
            		                EXCEPTION->decisionNum  = 635;
            		                EXCEPTION->state        = 4;


            		                goto ruleexpression_with_nested_parenthesesEx;

            		            }
            		        }
            		    }
            		    else if ( (((LA635_1 >= ASCII_SYMBOL) && (LA635_1 <= YEAR_SYMBOL)) || ((LA635_1 >= AT_AT_SIGN_SYMBOL) && (LA635_1 <= AT_TEXT_SUFFIX)) || LA635_1 == BACK_TICK_QUOTED_ID || LA635_1 == BINARY_SYMBOL || ((LA635_1 >= BITNUMBER) && (LA635_1 <= BITSTRING)) || LA635_1 == BITWISE_NOT_OPERATOR || ((LA635_1 >= BIT_AND_SYMBOL) && (LA635_1 <= BIT_XOR_SYMBOL)) || ((LA635_1 >= CASE_SYMBOL) && (LA635_1 <= CAST_SYMBOL)) || LA635_1 == CHAR_SYMBOL || ((LA635_1 >= CONVERT_SYMBOL) && (LA635_1 <= COUNT_SYMBOL)) || LA635_1 == CURDATE_SYMBOL || LA635_1 == CURRENT_USER_SYMBOL || LA635_1 == CURTIME_SYMBOL || LA635_1 == DATABASE_SYMBOL || LA635_1 == DATE_ADD_SYMBOL || LA635_1 == DATE_SUB_SYMBOL || LA635_1 == DOUBLE_QUOTED_TEXT || LA635_1 == EXISTS_SYMBOL || ((LA635_1 >= EXTRACT_SYMBOL) && (LA635_1 <= FALSE_SYMBOL)) || LA635_1 == FLOAT || LA635_1 == GROUP_CONCAT_SYMBOL || ((LA635_1 >= HEXNUMBER) && (LA635_1 <= HEXSTRING)) || ((LA635_1 >= IDENTIFIER) && (LA635_1 <= IF_SYMBOL)) || LA635_1 == INSERT_SYMBOL || LA635_1 == INTEGER || LA635_1 == INTERVAL_SYMBOL || LA635_1 == LEFT_SYMBOL || LA635_1 == LOGICAL_NOT_OPERATOR || LA635_1 == MATCH_SYMBOL || LA635_1 == MAX_SYMBOL || LA635_1 == MINUS_OPERATOR || LA635_1 == MIN_SYMBOL || LA635_1 == MOD_SYMBOL || LA635_1 == NCHAR_TEXT || LA635_1 == NOT2_SYMBOL || ((LA635_1 >= NOT_SYMBOL) && (LA635_1 <= NOW_SYMBOL)) || LA635_1 == NULL2_SYMBOL || LA635_1 == NULL_SYMBOL || LA635_1 == OPEN_CURLY_SYMBOL || LA635_1 == PARAM_MARKER || ((LA635_1 >= PLUS_OPERATOR) && (LA635_1 <= POSITION_SYMBOL)) || ((LA635_1 >= REPEAT_SYMBOL) && (LA635_1 <= REPLACE_SYMBOL)) || LA635_1 == RIGHT_SYMBOL || LA635_1 == SINGLE_QUOTED_TEXT || LA635_1 == STDDEV_SAMP_SYMBOL || LA635_1 == STD_SYMBOL || LA635_1 == SUBSTRING_SYMBOL || ((LA635_1 >= SUM_SYMBOL) && (LA635_1 <= SYSDATE_SYMBOL)) || ((LA635_1 >= TRIM_SYMBOL) && (LA635_1 <= TRUE_SYMBOL)) || LA635_1 == UNDERSCORE_CHARSET || ((LA635_1 >= UTC_DATE_SYMBOL) && (LA635_1 <= UTC_TIME_SYMBOL)) || LA635_1 == VALUES_SYMBOL || LA635_1 == VARIANCE_SYMBOL || LA635_1 == VAR_SAMP_SYMBOL))
            		    {
            		        alt635=2;
            		    }
            		    else
            		    {
            		        if (BACKTRACKING>0)
            		        {
            		            FAILEDFLAG = ANTLR3_TRUE;
            		            return retval;
            		        }


            		        CONSTRUCTEX();
            		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		        EXCEPTION->message      = (void *)"";
            		        EXCEPTION->decisionNum  = 635;
            		        EXCEPTION->state        = 1;


            		        goto ruleexpression_with_nested_parenthesesEx;

            		    }
            		}
            	}
                break;
            case ROW_SYMBOL:
            	{
            		alt635=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 635;
                EXCEPTION->state        = 0;


                goto ruleexpression_with_nested_parenthesesEx;

            }

            switch (alt635)
            {
        	case 1:
        	    // MySQL.g:2044:2: {...}? => subquery
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == OPEN_PAR_SYMBOL && LA(2) == SELECT_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"expression_with_nested_parentheses";


        	        }

        	        FOLLOWPUSH(FOLLOW_subquery_in_expression_with_nested_parentheses11260);
        	        subquery2052=subquery(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexpression_with_nested_parenthesesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery2052.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2045:4: expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_expression_with_nested_parentheses11265);
        	        expression_list_with_parentheses2053=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexpression_with_nested_parenthesesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2053.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2046:4: ROW_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ROW_SYMBOL2054 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_SYMBOL, &FOLLOW_ROW_SYMBOL_in_expression_with_nested_parentheses11270);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexpression_with_nested_parenthesesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_SYMBOL2054_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_SYMBOL2054));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_SYMBOL2054_tree);
        	        }

        	        OPEN_PAR_SYMBOL2055 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_expression_with_nested_parentheses11272);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexpression_with_nested_parenthesesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2055_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2055));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2055_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_expression_with_nested_parentheses11274);
        	        expression2056=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexpression_with_nested_parenthesesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2056.tree);

        	        // MySQL.g:2046:42: ( COMMA_SYMBOL expression )+
        	        {
        	            int cnt634=0;

        	            for (;;)
        	            {
        	                int alt634=2;
        	        	switch ( LA(1) )
        	        	{
        	        	case COMMA_SYMBOL:
        	        		{
        	        			alt634=1;
        	        		}
        	        	    break;

        	        	}

        	        	switch (alt634)
        	        	{
        	        	    case 1:
        	        	        // MySQL.g:2046:43: COMMA_SYMBOL expression
        	        	        {
        	        	            COMMA_SYMBOL2057 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_with_nested_parentheses11277);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto ruleexpression_with_nested_parenthesesEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            COMMA_SYMBOL2057_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2057));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2057_tree);
        	        	            }

        	        	            FOLLOWPUSH(FOLLOW_expression_in_expression_with_nested_parentheses11279);
        	        	            expression2058=expression(ctx);

        	        	            FOLLOWPOP();
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto ruleexpression_with_nested_parenthesesEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2058.tree);

        	        	        }
        	        	        break;

        	        	    default:

        	        		if ( cnt634 >= 1 )
        	        		{
        	        		    goto loop634;
        	        		}
        	        		if (BACKTRACKING>0)
        	        		{
        	        		    FAILEDFLAG = ANTLR3_TRUE;
        	        		    return retval;
        	        		}

        	        		/* mismatchedSetEx()
        	        		 */
        	        		CONSTRUCTEX();
        	        		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
        	        		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


        	        		goto ruleexpression_with_nested_parenthesesEx;
        	        	}
        	        	cnt634++;
        	            }
        	            loop634: ;	/* Jump to here if this rule does not match */
        	        }

        	        CLOSE_PAR_SYMBOL2059 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_expression_with_nested_parentheses11283);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexpression_with_nested_parenthesesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2059));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2059_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleexpression_with_nested_parenthesesEx; /* Prevent compiler warnings */
    ruleexpression_with_nested_parenthesesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end expression_with_nested_parentheses */

/**
 * $ANTLR start comparison_operator
 * MySQL.g:2049:1: comparison_operator : ( EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | LESS_THAN_OPERATOR | NOT_EQUAL_OPERATOR | NOT_EQUAL2_OPERATOR | NULL_SAFE_EQUAL_OPERATOR );
 */
static MySQLParser_comparison_operator_return
comparison_operator(pMySQLParser ctx)
{
    MySQLParser_comparison_operator_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2060;

    pANTLR3_BASE_TREE set2060_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2060       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2060_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2049:20: ( EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | LESS_THAN_OPERATOR | NOT_EQUAL_OPERATOR | NOT_EQUAL2_OPERATOR | NULL_SAFE_EQUAL_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2060=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == EQUAL_OPERATOR || ((LA(1) >= GREATER_OR_EQUAL_OPERATOR) && (LA(1) <= GREATER_THAN_OPERATOR)) || ((LA(1) >= LESS_OR_EQUAL_OPERATOR) && (LA(1) <= LESS_THAN_OPERATOR)) || ((LA(1) >= NOT_EQUAL2_OPERATOR) && (LA(1) <= NOT_EQUAL_OPERATOR)) || LA(1) == NULL_SAFE_EQUAL_OPERATOR )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2060))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulecomparison_operatorEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulecomparison_operatorEx; /* Prevent compiler warnings */
    rulecomparison_operatorEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end comparison_operator */

/**
 * $ANTLR start multiplication_operator
 * MySQL.g:2054:1: multiplication_operator : ( MULT_OPERATOR | DIV_OPERATOR | DIV_SYMBOL | MOD_OPERATOR | MOD_SYMBOL );
 */
static MySQLParser_multiplication_operator_return
multiplication_operator(pMySQLParser ctx)
{
    MySQLParser_multiplication_operator_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2061;

    pANTLR3_BASE_TREE set2061_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2061       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2061_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2054:24: ( MULT_OPERATOR | DIV_OPERATOR | DIV_SYMBOL | MOD_OPERATOR | MOD_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2061=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= DIV_OPERATOR) && (LA(1) <= DIV_SYMBOL)) || ((LA(1) >= MOD_OPERATOR) && (LA(1) <= MOD_SYMBOL)) || LA(1) == MULT_OPERATOR )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2061))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulemultiplication_operatorEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulemultiplication_operatorEx; /* Prevent compiler warnings */
    rulemultiplication_operatorEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end multiplication_operator */

/**
 * $ANTLR start runtime_function_call
 * MySQL.g:2058:1: runtime_function_call : runtime_function_call_expression -> ^( RUNTIME_FUNCTION_TOKEN runtime_function_call_expression ) ;
 */
static MySQLParser_runtime_function_call_return
runtime_function_call(pMySQLParser ctx)
{
    MySQLParser_runtime_function_call_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_runtime_function_call_expression_return runtime_function_call_expression2062;
    #undef	RETURN_TYPE_runtime_function_call_expression2062
    #define	RETURN_TYPE_runtime_function_call_expression2062 MySQLParser_runtime_function_call_expression_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_runtime_function_call_expression;
    /* Initialize rule variables
     */

    root_0 = NULL;

    runtime_function_call_expression2062.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_runtime_function_call_expression   = NULL;
    #define CREATE_stream_runtime_function_call_expression  if (stream_runtime_function_call_expression == NULL) {stream_runtime_function_call_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule runtime_function_call_expression"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2058:22: ( runtime_function_call_expression -> ^( RUNTIME_FUNCTION_TOKEN runtime_function_call_expression ) )
        // MySQL.g:2059:2: runtime_function_call_expression
        {
            FOLLOWPUSH(FOLLOW_runtime_function_call_expression_in_runtime_function_call11356);
            runtime_function_call_expression2062=runtime_function_call_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleruntime_function_callEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_runtime_function_call_expression; stream_runtime_function_call_expression->add(stream_runtime_function_call_expression, runtime_function_call_expression2062.tree, NULL); }

            /* AST REWRITE
             * elements          : runtime_function_call_expression
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2059:35: -> ^( RUNTIME_FUNCTION_TOKEN runtime_function_call_expression )
            	{
            	    // MySQL.g:2059:38: ^( RUNTIME_FUNCTION_TOKEN runtime_function_call_expression )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, RUNTIME_FUNCTION_TOKEN, (pANTLR3_UINT8)"RUNTIME_FUNCTION_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_runtime_function_call_expression == NULL ? NULL : stream_runtime_function_call_expression->nextTree(stream_runtime_function_call_expression));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleruntime_function_callEx; /* Prevent compiler warnings */
    ruleruntime_function_callEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_runtime_function_call_expression != NULL) stream_runtime_function_call_expression->free(stream_runtime_function_call_expression);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end runtime_function_call */

/**
 * $ANTLR start runtime_function_call_expression
 * MySQL.g:2062:1: runtime_function_call_expression : ( CHAR_SYMBOL OPEN_PAR_SYMBOL expression_list ( USING_SYMBOL charset_name )? CLOSE_PAR_SYMBOL | CURRENT_USER_SYMBOL ( parentheses )? | DATE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | DAY_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | HOUR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | INSERT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | LEFT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | MINUTE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | MONTH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | RIGHT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | SECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | TIME_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | TIMESTAMP_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL | trim_function | USER_SYMBOL parentheses | VALUES_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | YEAR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( ADDDATE_SYMBOL | SUBDATE_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | CURDATE_SYMBOL ( parentheses )? | CURTIME_SYMBOL ( time_function_parameters )? | ( DATE_ADD_SYMBOL | DATE_SUB_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTERVAL_SYMBOL interval CLOSE_PAR_SYMBOL | EXTRACT_SYMBOL OPEN_PAR_SYMBOL interval_unit FROM_SYMBOL expression CLOSE_PAR_SYMBOL | GET_FORMAT_SYMBOL OPEN_PAR_SYMBOL date_time_type COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | NOW_SYMBOL ( time_function_parameters )? | POSITION_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression IN_SYMBOL expression CLOSE_PAR_SYMBOL | substring_function | SYSDATE_SYMBOL ( time_function_parameters )? | ( TIMESTAMP_ADD_SYMBOL | TIMESTAMP_DIFF_SYMBOL ) OPEN_PAR_SYMBOL interval_timestamp_unit COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | UTC_DATE_SYMBOL ( parentheses )? | UTC_TIME_SYMBOL ( time_function_parameters )? | UTC_TIMESTAMP_SYMBOL ( time_function_parameters )? | ASCII_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | CHARSET_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | COALESCE_SYMBOL expression_list_with_parentheses | COLLATION_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | DATABASE_SYMBOL parentheses | IF_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | FORMAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL | MICROSECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | MOD_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL | PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | QUARTER_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | REPEAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | REPLACE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | REVERSE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ROW_COUNT_SYMBOL parentheses | TRUNCATE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | WEEK_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL |{...}? => WEIGHT_STRING_SYMBOL OPEN_PAR_SYMBOL expression ( ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )? | AS_SYMBOL BINARY_SYMBOL field_length | COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER ) CLOSE_PAR_SYMBOL | geometry_function | aggregate_function );
 */
static MySQLParser_runtime_function_call_expression_return
runtime_function_call_expression(pMySQLParser ctx)
{
    MySQLParser_runtime_function_call_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2063;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2064;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL2066;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2068;
    pANTLR3_COMMON_TOKEN    CURRENT_USER_SYMBOL2069;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2071;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2072;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2074;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL2075;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2076;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2078;
    pANTLR3_COMMON_TOKEN    HOUR_SYMBOL2079;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2080;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2082;
    pANTLR3_COMMON_TOKEN    INSERT_SYMBOL2083;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2084;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2086;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2088;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2090;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2092;
    pANTLR3_COMMON_TOKEN    LEFT_SYMBOL2093;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2094;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2096;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2098;
    pANTLR3_COMMON_TOKEN    MINUTE_SYMBOL2099;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2100;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2102;
    pANTLR3_COMMON_TOKEN    MONTH_SYMBOL2103;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2104;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2106;
    pANTLR3_COMMON_TOKEN    RIGHT_SYMBOL2107;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2108;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2110;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2112;
    pANTLR3_COMMON_TOKEN    SECOND_SYMBOL2113;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2114;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2116;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2117;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2118;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2120;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL2121;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2122;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2124;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2126;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL2128;
    pANTLR3_COMMON_TOKEN    VALUES_SYMBOL2130;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2131;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2133;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2134;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2135;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2137;
    pANTLR3_COMMON_TOKEN    set2138;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2139;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2141;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2143;
    pANTLR3_COMMON_TOKEN    CURDATE_SYMBOL2144;
    pANTLR3_COMMON_TOKEN    CURTIME_SYMBOL2146;
    pANTLR3_COMMON_TOKEN    set2148;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2149;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2151;
    pANTLR3_COMMON_TOKEN    INTERVAL_SYMBOL2152;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2154;
    pANTLR3_COMMON_TOKEN    EXTRACT_SYMBOL2155;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2156;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2158;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2160;
    pANTLR3_COMMON_TOKEN    GET_FORMAT_SYMBOL2161;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2162;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2164;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2166;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2167;
    pANTLR3_COMMON_TOKEN    POSITION_SYMBOL2169;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2170;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2172;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2174;
    pANTLR3_COMMON_TOKEN    SYSDATE_SYMBOL2176;
    pANTLR3_COMMON_TOKEN    set2178;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2179;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2181;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2183;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2185;
    pANTLR3_COMMON_TOKEN    UTC_DATE_SYMBOL2186;
    pANTLR3_COMMON_TOKEN    UTC_TIME_SYMBOL2188;
    pANTLR3_COMMON_TOKEN    UTC_TIMESTAMP_SYMBOL2190;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2192;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2193;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2195;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL2196;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2197;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2199;
    pANTLR3_COMMON_TOKEN    COALESCE_SYMBOL2200;
    pANTLR3_COMMON_TOKEN    COLLATION_SYMBOL2202;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2203;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2205;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL2206;
    pANTLR3_COMMON_TOKEN    IF_SYMBOL2208;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2209;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2211;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2213;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2215;
    pANTLR3_COMMON_TOKEN    FORMAT_SYMBOL2216;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2217;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2219;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2221;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2223;
    pANTLR3_COMMON_TOKEN    MICROSECOND_SYMBOL2224;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2225;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2227;
    pANTLR3_COMMON_TOKEN    MOD_SYMBOL2228;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2229;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2231;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2233;
    pANTLR3_COMMON_TOKEN    OLD_PASSWORD_SYMBOL2234;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2235;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2237;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2238;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2239;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2241;
    pANTLR3_COMMON_TOKEN    QUARTER_SYMBOL2242;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2243;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2245;
    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2246;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2247;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2249;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2251;
    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL2252;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2253;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2255;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2257;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2259;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2260;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2261;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2263;
    pANTLR3_COMMON_TOKEN    ROW_COUNT_SYMBOL2264;
    pANTLR3_COMMON_TOKEN    TRUNCATE_SYMBOL2266;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2267;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2269;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2271;
    pANTLR3_COMMON_TOKEN    WEEK_SYMBOL2272;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2273;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2275;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2277;
    pANTLR3_COMMON_TOKEN    WEIGHT_STRING_SYMBOL2278;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2279;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2281;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2282;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2285;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2286;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2288;
    pANTLR3_COMMON_TOKEN    INTEGER2289;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2290;
    pANTLR3_COMMON_TOKEN    INTEGER2291;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2292;
    pANTLR3_COMMON_TOKEN    INTEGER2293;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2294;
    MySQLParser_expression_list_return expression_list2065;
    #undef	RETURN_TYPE_expression_list2065
    #define	RETURN_TYPE_expression_list2065 MySQLParser_expression_list_return

    MySQLParser_charset_name_return charset_name2067;
    #undef	RETURN_TYPE_charset_name2067
    #define	RETURN_TYPE_charset_name2067 MySQLParser_charset_name_return

    MySQLParser_parentheses_return parentheses2070;
    #undef	RETURN_TYPE_parentheses2070
    #define	RETURN_TYPE_parentheses2070 MySQLParser_parentheses_return

    MySQLParser_expression_return expression2073;
    #undef	RETURN_TYPE_expression2073
    #define	RETURN_TYPE_expression2073 MySQLParser_expression_return

    MySQLParser_expression_return expression2077;
    #undef	RETURN_TYPE_expression2077
    #define	RETURN_TYPE_expression2077 MySQLParser_expression_return

    MySQLParser_expression_return expression2081;
    #undef	RETURN_TYPE_expression2081
    #define	RETURN_TYPE_expression2081 MySQLParser_expression_return

    MySQLParser_expression_return expression2085;
    #undef	RETURN_TYPE_expression2085
    #define	RETURN_TYPE_expression2085 MySQLParser_expression_return

    MySQLParser_expression_return expression2087;
    #undef	RETURN_TYPE_expression2087
    #define	RETURN_TYPE_expression2087 MySQLParser_expression_return

    MySQLParser_expression_return expression2089;
    #undef	RETURN_TYPE_expression2089
    #define	RETURN_TYPE_expression2089 MySQLParser_expression_return

    MySQLParser_expression_return expression2091;
    #undef	RETURN_TYPE_expression2091
    #define	RETURN_TYPE_expression2091 MySQLParser_expression_return

    MySQLParser_expression_return expression2095;
    #undef	RETURN_TYPE_expression2095
    #define	RETURN_TYPE_expression2095 MySQLParser_expression_return

    MySQLParser_expression_return expression2097;
    #undef	RETURN_TYPE_expression2097
    #define	RETURN_TYPE_expression2097 MySQLParser_expression_return

    MySQLParser_expression_return expression2101;
    #undef	RETURN_TYPE_expression2101
    #define	RETURN_TYPE_expression2101 MySQLParser_expression_return

    MySQLParser_expression_return expression2105;
    #undef	RETURN_TYPE_expression2105
    #define	RETURN_TYPE_expression2105 MySQLParser_expression_return

    MySQLParser_expression_return expression2109;
    #undef	RETURN_TYPE_expression2109
    #define	RETURN_TYPE_expression2109 MySQLParser_expression_return

    MySQLParser_expression_return expression2111;
    #undef	RETURN_TYPE_expression2111
    #define	RETURN_TYPE_expression2111 MySQLParser_expression_return

    MySQLParser_expression_return expression2115;
    #undef	RETURN_TYPE_expression2115
    #define	RETURN_TYPE_expression2115 MySQLParser_expression_return

    MySQLParser_expression_return expression2119;
    #undef	RETURN_TYPE_expression2119
    #define	RETURN_TYPE_expression2119 MySQLParser_expression_return

    MySQLParser_expression_return expression2123;
    #undef	RETURN_TYPE_expression2123
    #define	RETURN_TYPE_expression2123 MySQLParser_expression_return

    MySQLParser_expression_return expression2125;
    #undef	RETURN_TYPE_expression2125
    #define	RETURN_TYPE_expression2125 MySQLParser_expression_return

    MySQLParser_trim_function_return trim_function2127;
    #undef	RETURN_TYPE_trim_function2127
    #define	RETURN_TYPE_trim_function2127 MySQLParser_trim_function_return

    MySQLParser_parentheses_return parentheses2129;
    #undef	RETURN_TYPE_parentheses2129
    #define	RETURN_TYPE_parentheses2129 MySQLParser_parentheses_return

    MySQLParser_expression_return expression2132;
    #undef	RETURN_TYPE_expression2132
    #define	RETURN_TYPE_expression2132 MySQLParser_expression_return

    MySQLParser_expression_return expression2136;
    #undef	RETURN_TYPE_expression2136
    #define	RETURN_TYPE_expression2136 MySQLParser_expression_return

    MySQLParser_expression_return expression2140;
    #undef	RETURN_TYPE_expression2140
    #define	RETURN_TYPE_expression2140 MySQLParser_expression_return

    MySQLParser_expression_return expression2142;
    #undef	RETURN_TYPE_expression2142
    #define	RETURN_TYPE_expression2142 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses2145;
    #undef	RETURN_TYPE_parentheses2145
    #define	RETURN_TYPE_parentheses2145 MySQLParser_parentheses_return

    MySQLParser_time_function_parameters_return time_function_parameters2147;
    #undef	RETURN_TYPE_time_function_parameters2147
    #define	RETURN_TYPE_time_function_parameters2147 MySQLParser_time_function_parameters_return

    MySQLParser_expression_return expression2150;
    #undef	RETURN_TYPE_expression2150
    #define	RETURN_TYPE_expression2150 MySQLParser_expression_return

    MySQLParser_interval_return interval2153;
    #undef	RETURN_TYPE_interval2153
    #define	RETURN_TYPE_interval2153 MySQLParser_interval_return

    MySQLParser_interval_unit_return interval_unit2157;
    #undef	RETURN_TYPE_interval_unit2157
    #define	RETURN_TYPE_interval_unit2157 MySQLParser_interval_unit_return

    MySQLParser_expression_return expression2159;
    #undef	RETURN_TYPE_expression2159
    #define	RETURN_TYPE_expression2159 MySQLParser_expression_return

    MySQLParser_date_time_type_return date_time_type2163;
    #undef	RETURN_TYPE_date_time_type2163
    #define	RETURN_TYPE_date_time_type2163 MySQLParser_date_time_type_return

    MySQLParser_expression_return expression2165;
    #undef	RETURN_TYPE_expression2165
    #define	RETURN_TYPE_expression2165 MySQLParser_expression_return

    MySQLParser_time_function_parameters_return time_function_parameters2168;
    #undef	RETURN_TYPE_time_function_parameters2168
    #define	RETURN_TYPE_time_function_parameters2168 MySQLParser_time_function_parameters_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression2171;
    #undef	RETURN_TYPE_bitwise_or_expression2171
    #define	RETURN_TYPE_bitwise_or_expression2171 MySQLParser_bitwise_or_expression_return

    MySQLParser_expression_return expression2173;
    #undef	RETURN_TYPE_expression2173
    #define	RETURN_TYPE_expression2173 MySQLParser_expression_return

    MySQLParser_substring_function_return substring_function2175;
    #undef	RETURN_TYPE_substring_function2175
    #define	RETURN_TYPE_substring_function2175 MySQLParser_substring_function_return

    MySQLParser_time_function_parameters_return time_function_parameters2177;
    #undef	RETURN_TYPE_time_function_parameters2177
    #define	RETURN_TYPE_time_function_parameters2177 MySQLParser_time_function_parameters_return

    MySQLParser_interval_timestamp_unit_return interval_timestamp_unit2180;
    #undef	RETURN_TYPE_interval_timestamp_unit2180
    #define	RETURN_TYPE_interval_timestamp_unit2180 MySQLParser_interval_timestamp_unit_return

    MySQLParser_expression_return expression2182;
    #undef	RETURN_TYPE_expression2182
    #define	RETURN_TYPE_expression2182 MySQLParser_expression_return

    MySQLParser_expression_return expression2184;
    #undef	RETURN_TYPE_expression2184
    #define	RETURN_TYPE_expression2184 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses2187;
    #undef	RETURN_TYPE_parentheses2187
    #define	RETURN_TYPE_parentheses2187 MySQLParser_parentheses_return

    MySQLParser_time_function_parameters_return time_function_parameters2189;
    #undef	RETURN_TYPE_time_function_parameters2189
    #define	RETURN_TYPE_time_function_parameters2189 MySQLParser_time_function_parameters_return

    MySQLParser_time_function_parameters_return time_function_parameters2191;
    #undef	RETURN_TYPE_time_function_parameters2191
    #define	RETURN_TYPE_time_function_parameters2191 MySQLParser_time_function_parameters_return

    MySQLParser_expression_return expression2194;
    #undef	RETURN_TYPE_expression2194
    #define	RETURN_TYPE_expression2194 MySQLParser_expression_return

    MySQLParser_expression_return expression2198;
    #undef	RETURN_TYPE_expression2198
    #define	RETURN_TYPE_expression2198 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2201;
    #undef	RETURN_TYPE_expression_list_with_parentheses2201
    #define	RETURN_TYPE_expression_list_with_parentheses2201 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression2204;
    #undef	RETURN_TYPE_expression2204
    #define	RETURN_TYPE_expression2204 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses2207;
    #undef	RETURN_TYPE_parentheses2207
    #define	RETURN_TYPE_parentheses2207 MySQLParser_parentheses_return

    MySQLParser_expression_return expression2210;
    #undef	RETURN_TYPE_expression2210
    #define	RETURN_TYPE_expression2210 MySQLParser_expression_return

    MySQLParser_expression_return expression2212;
    #undef	RETURN_TYPE_expression2212
    #define	RETURN_TYPE_expression2212 MySQLParser_expression_return

    MySQLParser_expression_return expression2214;
    #undef	RETURN_TYPE_expression2214
    #define	RETURN_TYPE_expression2214 MySQLParser_expression_return

    MySQLParser_expression_return expression2218;
    #undef	RETURN_TYPE_expression2218
    #define	RETURN_TYPE_expression2218 MySQLParser_expression_return

    MySQLParser_expression_return expression2220;
    #undef	RETURN_TYPE_expression2220
    #define	RETURN_TYPE_expression2220 MySQLParser_expression_return

    MySQLParser_expression_return expression2222;
    #undef	RETURN_TYPE_expression2222
    #define	RETURN_TYPE_expression2222 MySQLParser_expression_return

    MySQLParser_expression_return expression2226;
    #undef	RETURN_TYPE_expression2226
    #define	RETURN_TYPE_expression2226 MySQLParser_expression_return

    MySQLParser_expression_return expression2230;
    #undef	RETURN_TYPE_expression2230
    #define	RETURN_TYPE_expression2230 MySQLParser_expression_return

    MySQLParser_expression_return expression2232;
    #undef	RETURN_TYPE_expression2232
    #define	RETURN_TYPE_expression2232 MySQLParser_expression_return

    MySQLParser_string_literal_return string_literal2236;
    #undef	RETURN_TYPE_string_literal2236
    #define	RETURN_TYPE_string_literal2236 MySQLParser_string_literal_return

    MySQLParser_expression_return expression2240;
    #undef	RETURN_TYPE_expression2240
    #define	RETURN_TYPE_expression2240 MySQLParser_expression_return

    MySQLParser_expression_return expression2244;
    #undef	RETURN_TYPE_expression2244
    #define	RETURN_TYPE_expression2244 MySQLParser_expression_return

    MySQLParser_expression_return expression2248;
    #undef	RETURN_TYPE_expression2248
    #define	RETURN_TYPE_expression2248 MySQLParser_expression_return

    MySQLParser_expression_return expression2250;
    #undef	RETURN_TYPE_expression2250
    #define	RETURN_TYPE_expression2250 MySQLParser_expression_return

    MySQLParser_expression_return expression2254;
    #undef	RETURN_TYPE_expression2254
    #define	RETURN_TYPE_expression2254 MySQLParser_expression_return

    MySQLParser_expression_return expression2256;
    #undef	RETURN_TYPE_expression2256
    #define	RETURN_TYPE_expression2256 MySQLParser_expression_return

    MySQLParser_expression_return expression2258;
    #undef	RETURN_TYPE_expression2258
    #define	RETURN_TYPE_expression2258 MySQLParser_expression_return

    MySQLParser_expression_return expression2262;
    #undef	RETURN_TYPE_expression2262
    #define	RETURN_TYPE_expression2262 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses2265;
    #undef	RETURN_TYPE_parentheses2265
    #define	RETURN_TYPE_parentheses2265 MySQLParser_parentheses_return

    MySQLParser_expression_return expression2268;
    #undef	RETURN_TYPE_expression2268
    #define	RETURN_TYPE_expression2268 MySQLParser_expression_return

    MySQLParser_expression_return expression2270;
    #undef	RETURN_TYPE_expression2270
    #define	RETURN_TYPE_expression2270 MySQLParser_expression_return

    MySQLParser_expression_return expression2274;
    #undef	RETURN_TYPE_expression2274
    #define	RETURN_TYPE_expression2274 MySQLParser_expression_return

    MySQLParser_expression_return expression2276;
    #undef	RETURN_TYPE_expression2276
    #define	RETURN_TYPE_expression2276 MySQLParser_expression_return

    MySQLParser_expression_return expression2280;
    #undef	RETURN_TYPE_expression2280
    #define	RETURN_TYPE_expression2280 MySQLParser_expression_return

    MySQLParser_field_length_return field_length2283;
    #undef	RETURN_TYPE_field_length2283
    #define	RETURN_TYPE_field_length2283 MySQLParser_field_length_return

    MySQLParser_weight_string_levels_return weight_string_levels2284;
    #undef	RETURN_TYPE_weight_string_levels2284
    #define	RETURN_TYPE_weight_string_levels2284 MySQLParser_weight_string_levels_return

    MySQLParser_field_length_return field_length2287;
    #undef	RETURN_TYPE_field_length2287
    #define	RETURN_TYPE_field_length2287 MySQLParser_field_length_return

    MySQLParser_geometry_function_return geometry_function2295;
    #undef	RETURN_TYPE_geometry_function2295
    #define	RETURN_TYPE_geometry_function2295 MySQLParser_geometry_function_return

    MySQLParser_aggregate_function_return aggregate_function2296;
    #undef	RETURN_TYPE_aggregate_function2296
    #define	RETURN_TYPE_aggregate_function2296 MySQLParser_aggregate_function_return

    pANTLR3_BASE_TREE CHAR_SYMBOL2063_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2064_tree;
    pANTLR3_BASE_TREE USING_SYMBOL2066_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2068_tree;
    pANTLR3_BASE_TREE CURRENT_USER_SYMBOL2069_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2071_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2072_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2074_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL2075_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2076_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2078_tree;
    pANTLR3_BASE_TREE HOUR_SYMBOL2079_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2080_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2082_tree;
    pANTLR3_BASE_TREE INSERT_SYMBOL2083_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2084_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2086_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2088_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2090_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2092_tree;
    pANTLR3_BASE_TREE LEFT_SYMBOL2093_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2094_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2096_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2098_tree;
    pANTLR3_BASE_TREE MINUTE_SYMBOL2099_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2100_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2102_tree;
    pANTLR3_BASE_TREE MONTH_SYMBOL2103_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2104_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2106_tree;
    pANTLR3_BASE_TREE RIGHT_SYMBOL2107_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2108_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2110_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2112_tree;
    pANTLR3_BASE_TREE SECOND_SYMBOL2113_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2114_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2116_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2117_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2118_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2120_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL2121_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2122_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2124_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2126_tree;
    pANTLR3_BASE_TREE USER_SYMBOL2128_tree;
    pANTLR3_BASE_TREE VALUES_SYMBOL2130_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2131_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2133_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2134_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2135_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2137_tree;
    pANTLR3_BASE_TREE set2138_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2139_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2141_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2143_tree;
    pANTLR3_BASE_TREE CURDATE_SYMBOL2144_tree;
    pANTLR3_BASE_TREE CURTIME_SYMBOL2146_tree;
    pANTLR3_BASE_TREE set2148_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2149_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2151_tree;
    pANTLR3_BASE_TREE INTERVAL_SYMBOL2152_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2154_tree;
    pANTLR3_BASE_TREE EXTRACT_SYMBOL2155_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2156_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2158_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2160_tree;
    pANTLR3_BASE_TREE GET_FORMAT_SYMBOL2161_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2162_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2164_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2166_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2167_tree;
    pANTLR3_BASE_TREE POSITION_SYMBOL2169_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2170_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2172_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2174_tree;
    pANTLR3_BASE_TREE SYSDATE_SYMBOL2176_tree;
    pANTLR3_BASE_TREE set2178_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2179_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2181_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2183_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2185_tree;
    pANTLR3_BASE_TREE UTC_DATE_SYMBOL2186_tree;
    pANTLR3_BASE_TREE UTC_TIME_SYMBOL2188_tree;
    pANTLR3_BASE_TREE UTC_TIMESTAMP_SYMBOL2190_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2192_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2193_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2195_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL2196_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2197_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2199_tree;
    pANTLR3_BASE_TREE COALESCE_SYMBOL2200_tree;
    pANTLR3_BASE_TREE COLLATION_SYMBOL2202_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2203_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2205_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL2206_tree;
    pANTLR3_BASE_TREE IF_SYMBOL2208_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2209_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2211_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2213_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2215_tree;
    pANTLR3_BASE_TREE FORMAT_SYMBOL2216_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2217_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2219_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2221_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2223_tree;
    pANTLR3_BASE_TREE MICROSECOND_SYMBOL2224_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2225_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2227_tree;
    pANTLR3_BASE_TREE MOD_SYMBOL2228_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2229_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2231_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2233_tree;
    pANTLR3_BASE_TREE OLD_PASSWORD_SYMBOL2234_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2235_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2237_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2238_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2239_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2241_tree;
    pANTLR3_BASE_TREE QUARTER_SYMBOL2242_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2243_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2245_tree;
    pANTLR3_BASE_TREE REPEAT_SYMBOL2246_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2247_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2249_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2251_tree;
    pANTLR3_BASE_TREE REPLACE_SYMBOL2252_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2253_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2255_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2257_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2259_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2260_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2261_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2263_tree;
    pANTLR3_BASE_TREE ROW_COUNT_SYMBOL2264_tree;
    pANTLR3_BASE_TREE TRUNCATE_SYMBOL2266_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2267_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2269_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2271_tree;
    pANTLR3_BASE_TREE WEEK_SYMBOL2272_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2273_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2275_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2277_tree;
    pANTLR3_BASE_TREE WEIGHT_STRING_SYMBOL2278_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2279_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2281_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2282_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2285_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2286_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2288_tree;
    pANTLR3_BASE_TREE INTEGER2289_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2290_tree;
    pANTLR3_BASE_TREE INTEGER2291_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2292_tree;
    pANTLR3_BASE_TREE INTEGER2293_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2294_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL2063       = NULL;
    OPEN_PAR_SYMBOL2064       = NULL;
    USING_SYMBOL2066       = NULL;
    CLOSE_PAR_SYMBOL2068       = NULL;
    CURRENT_USER_SYMBOL2069       = NULL;
    DATE_SYMBOL2071       = NULL;
    OPEN_PAR_SYMBOL2072       = NULL;
    CLOSE_PAR_SYMBOL2074       = NULL;
    DAY_SYMBOL2075       = NULL;
    OPEN_PAR_SYMBOL2076       = NULL;
    CLOSE_PAR_SYMBOL2078       = NULL;
    HOUR_SYMBOL2079       = NULL;
    OPEN_PAR_SYMBOL2080       = NULL;
    CLOSE_PAR_SYMBOL2082       = NULL;
    INSERT_SYMBOL2083       = NULL;
    OPEN_PAR_SYMBOL2084       = NULL;
    COMMA_SYMBOL2086       = NULL;
    COMMA_SYMBOL2088       = NULL;
    COMMA_SYMBOL2090       = NULL;
    CLOSE_PAR_SYMBOL2092       = NULL;
    LEFT_SYMBOL2093       = NULL;
    OPEN_PAR_SYMBOL2094       = NULL;
    COMMA_SYMBOL2096       = NULL;
    CLOSE_PAR_SYMBOL2098       = NULL;
    MINUTE_SYMBOL2099       = NULL;
    OPEN_PAR_SYMBOL2100       = NULL;
    CLOSE_PAR_SYMBOL2102       = NULL;
    MONTH_SYMBOL2103       = NULL;
    OPEN_PAR_SYMBOL2104       = NULL;
    CLOSE_PAR_SYMBOL2106       = NULL;
    RIGHT_SYMBOL2107       = NULL;
    OPEN_PAR_SYMBOL2108       = NULL;
    COMMA_SYMBOL2110       = NULL;
    CLOSE_PAR_SYMBOL2112       = NULL;
    SECOND_SYMBOL2113       = NULL;
    OPEN_PAR_SYMBOL2114       = NULL;
    CLOSE_PAR_SYMBOL2116       = NULL;
    TIME_SYMBOL2117       = NULL;
    OPEN_PAR_SYMBOL2118       = NULL;
    CLOSE_PAR_SYMBOL2120       = NULL;
    TIMESTAMP_SYMBOL2121       = NULL;
    OPEN_PAR_SYMBOL2122       = NULL;
    COMMA_SYMBOL2124       = NULL;
    CLOSE_PAR_SYMBOL2126       = NULL;
    USER_SYMBOL2128       = NULL;
    VALUES_SYMBOL2130       = NULL;
    OPEN_PAR_SYMBOL2131       = NULL;
    CLOSE_PAR_SYMBOL2133       = NULL;
    YEAR_SYMBOL2134       = NULL;
    OPEN_PAR_SYMBOL2135       = NULL;
    CLOSE_PAR_SYMBOL2137       = NULL;
    set2138       = NULL;
    OPEN_PAR_SYMBOL2139       = NULL;
    COMMA_SYMBOL2141       = NULL;
    CLOSE_PAR_SYMBOL2143       = NULL;
    CURDATE_SYMBOL2144       = NULL;
    CURTIME_SYMBOL2146       = NULL;
    set2148       = NULL;
    OPEN_PAR_SYMBOL2149       = NULL;
    COMMA_SYMBOL2151       = NULL;
    INTERVAL_SYMBOL2152       = NULL;
    CLOSE_PAR_SYMBOL2154       = NULL;
    EXTRACT_SYMBOL2155       = NULL;
    OPEN_PAR_SYMBOL2156       = NULL;
    FROM_SYMBOL2158       = NULL;
    CLOSE_PAR_SYMBOL2160       = NULL;
    GET_FORMAT_SYMBOL2161       = NULL;
    OPEN_PAR_SYMBOL2162       = NULL;
    COMMA_SYMBOL2164       = NULL;
    CLOSE_PAR_SYMBOL2166       = NULL;
    NOW_SYMBOL2167       = NULL;
    POSITION_SYMBOL2169       = NULL;
    OPEN_PAR_SYMBOL2170       = NULL;
    IN_SYMBOL2172       = NULL;
    CLOSE_PAR_SYMBOL2174       = NULL;
    SYSDATE_SYMBOL2176       = NULL;
    set2178       = NULL;
    OPEN_PAR_SYMBOL2179       = NULL;
    COMMA_SYMBOL2181       = NULL;
    COMMA_SYMBOL2183       = NULL;
    CLOSE_PAR_SYMBOL2185       = NULL;
    UTC_DATE_SYMBOL2186       = NULL;
    UTC_TIME_SYMBOL2188       = NULL;
    UTC_TIMESTAMP_SYMBOL2190       = NULL;
    ASCII_SYMBOL2192       = NULL;
    OPEN_PAR_SYMBOL2193       = NULL;
    CLOSE_PAR_SYMBOL2195       = NULL;
    CHARSET_SYMBOL2196       = NULL;
    OPEN_PAR_SYMBOL2197       = NULL;
    CLOSE_PAR_SYMBOL2199       = NULL;
    COALESCE_SYMBOL2200       = NULL;
    COLLATION_SYMBOL2202       = NULL;
    OPEN_PAR_SYMBOL2203       = NULL;
    CLOSE_PAR_SYMBOL2205       = NULL;
    DATABASE_SYMBOL2206       = NULL;
    IF_SYMBOL2208       = NULL;
    OPEN_PAR_SYMBOL2209       = NULL;
    COMMA_SYMBOL2211       = NULL;
    COMMA_SYMBOL2213       = NULL;
    CLOSE_PAR_SYMBOL2215       = NULL;
    FORMAT_SYMBOL2216       = NULL;
    OPEN_PAR_SYMBOL2217       = NULL;
    COMMA_SYMBOL2219       = NULL;
    COMMA_SYMBOL2221       = NULL;
    CLOSE_PAR_SYMBOL2223       = NULL;
    MICROSECOND_SYMBOL2224       = NULL;
    OPEN_PAR_SYMBOL2225       = NULL;
    CLOSE_PAR_SYMBOL2227       = NULL;
    MOD_SYMBOL2228       = NULL;
    OPEN_PAR_SYMBOL2229       = NULL;
    COMMA_SYMBOL2231       = NULL;
    CLOSE_PAR_SYMBOL2233       = NULL;
    OLD_PASSWORD_SYMBOL2234       = NULL;
    OPEN_PAR_SYMBOL2235       = NULL;
    CLOSE_PAR_SYMBOL2237       = NULL;
    PASSWORD_SYMBOL2238       = NULL;
    OPEN_PAR_SYMBOL2239       = NULL;
    CLOSE_PAR_SYMBOL2241       = NULL;
    QUARTER_SYMBOL2242       = NULL;
    OPEN_PAR_SYMBOL2243       = NULL;
    CLOSE_PAR_SYMBOL2245       = NULL;
    REPEAT_SYMBOL2246       = NULL;
    OPEN_PAR_SYMBOL2247       = NULL;
    COMMA_SYMBOL2249       = NULL;
    CLOSE_PAR_SYMBOL2251       = NULL;
    REPLACE_SYMBOL2252       = NULL;
    OPEN_PAR_SYMBOL2253       = NULL;
    COMMA_SYMBOL2255       = NULL;
    COMMA_SYMBOL2257       = NULL;
    CLOSE_PAR_SYMBOL2259       = NULL;
    REVERSE_SYMBOL2260       = NULL;
    OPEN_PAR_SYMBOL2261       = NULL;
    CLOSE_PAR_SYMBOL2263       = NULL;
    ROW_COUNT_SYMBOL2264       = NULL;
    TRUNCATE_SYMBOL2266       = NULL;
    OPEN_PAR_SYMBOL2267       = NULL;
    COMMA_SYMBOL2269       = NULL;
    CLOSE_PAR_SYMBOL2271       = NULL;
    WEEK_SYMBOL2272       = NULL;
    OPEN_PAR_SYMBOL2273       = NULL;
    COMMA_SYMBOL2275       = NULL;
    CLOSE_PAR_SYMBOL2277       = NULL;
    WEIGHT_STRING_SYMBOL2278       = NULL;
    OPEN_PAR_SYMBOL2279       = NULL;
    AS_SYMBOL2281       = NULL;
    CHAR_SYMBOL2282       = NULL;
    AS_SYMBOL2285       = NULL;
    BINARY_SYMBOL2286       = NULL;
    COMMA_SYMBOL2288       = NULL;
    INTEGER2289       = NULL;
    COMMA_SYMBOL2290       = NULL;
    INTEGER2291       = NULL;
    COMMA_SYMBOL2292       = NULL;
    INTEGER2293       = NULL;
    CLOSE_PAR_SYMBOL2294       = NULL;
    expression_list2065.tree = NULL;

    charset_name2067.tree = NULL;

    parentheses2070.tree = NULL;

    expression2073.tree = NULL;

    expression2077.tree = NULL;

    expression2081.tree = NULL;

    expression2085.tree = NULL;

    expression2087.tree = NULL;

    expression2089.tree = NULL;

    expression2091.tree = NULL;

    expression2095.tree = NULL;

    expression2097.tree = NULL;

    expression2101.tree = NULL;

    expression2105.tree = NULL;

    expression2109.tree = NULL;

    expression2111.tree = NULL;

    expression2115.tree = NULL;

    expression2119.tree = NULL;

    expression2123.tree = NULL;

    expression2125.tree = NULL;

    trim_function2127.tree = NULL;

    parentheses2129.tree = NULL;

    expression2132.tree = NULL;

    expression2136.tree = NULL;

    expression2140.tree = NULL;

    expression2142.tree = NULL;

    parentheses2145.tree = NULL;

    time_function_parameters2147.tree = NULL;

    expression2150.tree = NULL;

    interval2153.tree = NULL;

    interval_unit2157.tree = NULL;

    expression2159.tree = NULL;

    date_time_type2163.tree = NULL;

    expression2165.tree = NULL;

    time_function_parameters2168.tree = NULL;

    bitwise_or_expression2171.tree = NULL;

    expression2173.tree = NULL;

    substring_function2175.tree = NULL;

    time_function_parameters2177.tree = NULL;

    interval_timestamp_unit2180.tree = NULL;

    expression2182.tree = NULL;

    expression2184.tree = NULL;

    parentheses2187.tree = NULL;

    time_function_parameters2189.tree = NULL;

    time_function_parameters2191.tree = NULL;

    expression2194.tree = NULL;

    expression2198.tree = NULL;

    expression_list_with_parentheses2201.tree = NULL;

    expression2204.tree = NULL;

    parentheses2207.tree = NULL;

    expression2210.tree = NULL;

    expression2212.tree = NULL;

    expression2214.tree = NULL;

    expression2218.tree = NULL;

    expression2220.tree = NULL;

    expression2222.tree = NULL;

    expression2226.tree = NULL;

    expression2230.tree = NULL;

    expression2232.tree = NULL;

    string_literal2236.tree = NULL;

    expression2240.tree = NULL;

    expression2244.tree = NULL;

    expression2248.tree = NULL;

    expression2250.tree = NULL;

    expression2254.tree = NULL;

    expression2256.tree = NULL;

    expression2258.tree = NULL;

    expression2262.tree = NULL;

    parentheses2265.tree = NULL;

    expression2268.tree = NULL;

    expression2270.tree = NULL;

    expression2274.tree = NULL;

    expression2276.tree = NULL;

    expression2280.tree = NULL;

    field_length2283.tree = NULL;

    weight_string_levels2284.tree = NULL;

    field_length2287.tree = NULL;

    geometry_function2295.tree = NULL;

    aggregate_function2296.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL2063_tree   = NULL;
    OPEN_PAR_SYMBOL2064_tree   = NULL;
    USING_SYMBOL2066_tree   = NULL;
    CLOSE_PAR_SYMBOL2068_tree   = NULL;
    CURRENT_USER_SYMBOL2069_tree   = NULL;
    DATE_SYMBOL2071_tree   = NULL;
    OPEN_PAR_SYMBOL2072_tree   = NULL;
    CLOSE_PAR_SYMBOL2074_tree   = NULL;
    DAY_SYMBOL2075_tree   = NULL;
    OPEN_PAR_SYMBOL2076_tree   = NULL;
    CLOSE_PAR_SYMBOL2078_tree   = NULL;
    HOUR_SYMBOL2079_tree   = NULL;
    OPEN_PAR_SYMBOL2080_tree   = NULL;
    CLOSE_PAR_SYMBOL2082_tree   = NULL;
    INSERT_SYMBOL2083_tree   = NULL;
    OPEN_PAR_SYMBOL2084_tree   = NULL;
    COMMA_SYMBOL2086_tree   = NULL;
    COMMA_SYMBOL2088_tree   = NULL;
    COMMA_SYMBOL2090_tree   = NULL;
    CLOSE_PAR_SYMBOL2092_tree   = NULL;
    LEFT_SYMBOL2093_tree   = NULL;
    OPEN_PAR_SYMBOL2094_tree   = NULL;
    COMMA_SYMBOL2096_tree   = NULL;
    CLOSE_PAR_SYMBOL2098_tree   = NULL;
    MINUTE_SYMBOL2099_tree   = NULL;
    OPEN_PAR_SYMBOL2100_tree   = NULL;
    CLOSE_PAR_SYMBOL2102_tree   = NULL;
    MONTH_SYMBOL2103_tree   = NULL;
    OPEN_PAR_SYMBOL2104_tree   = NULL;
    CLOSE_PAR_SYMBOL2106_tree   = NULL;
    RIGHT_SYMBOL2107_tree   = NULL;
    OPEN_PAR_SYMBOL2108_tree   = NULL;
    COMMA_SYMBOL2110_tree   = NULL;
    CLOSE_PAR_SYMBOL2112_tree   = NULL;
    SECOND_SYMBOL2113_tree   = NULL;
    OPEN_PAR_SYMBOL2114_tree   = NULL;
    CLOSE_PAR_SYMBOL2116_tree   = NULL;
    TIME_SYMBOL2117_tree   = NULL;
    OPEN_PAR_SYMBOL2118_tree   = NULL;
    CLOSE_PAR_SYMBOL2120_tree   = NULL;
    TIMESTAMP_SYMBOL2121_tree   = NULL;
    OPEN_PAR_SYMBOL2122_tree   = NULL;
    COMMA_SYMBOL2124_tree   = NULL;
    CLOSE_PAR_SYMBOL2126_tree   = NULL;
    USER_SYMBOL2128_tree   = NULL;
    VALUES_SYMBOL2130_tree   = NULL;
    OPEN_PAR_SYMBOL2131_tree   = NULL;
    CLOSE_PAR_SYMBOL2133_tree   = NULL;
    YEAR_SYMBOL2134_tree   = NULL;
    OPEN_PAR_SYMBOL2135_tree   = NULL;
    CLOSE_PAR_SYMBOL2137_tree   = NULL;
    set2138_tree   = NULL;
    OPEN_PAR_SYMBOL2139_tree   = NULL;
    COMMA_SYMBOL2141_tree   = NULL;
    CLOSE_PAR_SYMBOL2143_tree   = NULL;
    CURDATE_SYMBOL2144_tree   = NULL;
    CURTIME_SYMBOL2146_tree   = NULL;
    set2148_tree   = NULL;
    OPEN_PAR_SYMBOL2149_tree   = NULL;
    COMMA_SYMBOL2151_tree   = NULL;
    INTERVAL_SYMBOL2152_tree   = NULL;
    CLOSE_PAR_SYMBOL2154_tree   = NULL;
    EXTRACT_SYMBOL2155_tree   = NULL;
    OPEN_PAR_SYMBOL2156_tree   = NULL;
    FROM_SYMBOL2158_tree   = NULL;
    CLOSE_PAR_SYMBOL2160_tree   = NULL;
    GET_FORMAT_SYMBOL2161_tree   = NULL;
    OPEN_PAR_SYMBOL2162_tree   = NULL;
    COMMA_SYMBOL2164_tree   = NULL;
    CLOSE_PAR_SYMBOL2166_tree   = NULL;
    NOW_SYMBOL2167_tree   = NULL;
    POSITION_SYMBOL2169_tree   = NULL;
    OPEN_PAR_SYMBOL2170_tree   = NULL;
    IN_SYMBOL2172_tree   = NULL;
    CLOSE_PAR_SYMBOL2174_tree   = NULL;
    SYSDATE_SYMBOL2176_tree   = NULL;
    set2178_tree   = NULL;
    OPEN_PAR_SYMBOL2179_tree   = NULL;
    COMMA_SYMBOL2181_tree   = NULL;
    COMMA_SYMBOL2183_tree   = NULL;
    CLOSE_PAR_SYMBOL2185_tree   = NULL;
    UTC_DATE_SYMBOL2186_tree   = NULL;
    UTC_TIME_SYMBOL2188_tree   = NULL;
    UTC_TIMESTAMP_SYMBOL2190_tree   = NULL;
    ASCII_SYMBOL2192_tree   = NULL;
    OPEN_PAR_SYMBOL2193_tree   = NULL;
    CLOSE_PAR_SYMBOL2195_tree   = NULL;
    CHARSET_SYMBOL2196_tree   = NULL;
    OPEN_PAR_SYMBOL2197_tree   = NULL;
    CLOSE_PAR_SYMBOL2199_tree   = NULL;
    COALESCE_SYMBOL2200_tree   = NULL;
    COLLATION_SYMBOL2202_tree   = NULL;
    OPEN_PAR_SYMBOL2203_tree   = NULL;
    CLOSE_PAR_SYMBOL2205_tree   = NULL;
    DATABASE_SYMBOL2206_tree   = NULL;
    IF_SYMBOL2208_tree   = NULL;
    OPEN_PAR_SYMBOL2209_tree   = NULL;
    COMMA_SYMBOL2211_tree   = NULL;
    COMMA_SYMBOL2213_tree   = NULL;
    CLOSE_PAR_SYMBOL2215_tree   = NULL;
    FORMAT_SYMBOL2216_tree   = NULL;
    OPEN_PAR_SYMBOL2217_tree   = NULL;
    COMMA_SYMBOL2219_tree   = NULL;
    COMMA_SYMBOL2221_tree   = NULL;
    CLOSE_PAR_SYMBOL2223_tree   = NULL;
    MICROSECOND_SYMBOL2224_tree   = NULL;
    OPEN_PAR_SYMBOL2225_tree   = NULL;
    CLOSE_PAR_SYMBOL2227_tree   = NULL;
    MOD_SYMBOL2228_tree   = NULL;
    OPEN_PAR_SYMBOL2229_tree   = NULL;
    COMMA_SYMBOL2231_tree   = NULL;
    CLOSE_PAR_SYMBOL2233_tree   = NULL;
    OLD_PASSWORD_SYMBOL2234_tree   = NULL;
    OPEN_PAR_SYMBOL2235_tree   = NULL;
    CLOSE_PAR_SYMBOL2237_tree   = NULL;
    PASSWORD_SYMBOL2238_tree   = NULL;
    OPEN_PAR_SYMBOL2239_tree   = NULL;
    CLOSE_PAR_SYMBOL2241_tree   = NULL;
    QUARTER_SYMBOL2242_tree   = NULL;
    OPEN_PAR_SYMBOL2243_tree   = NULL;
    CLOSE_PAR_SYMBOL2245_tree   = NULL;
    REPEAT_SYMBOL2246_tree   = NULL;
    OPEN_PAR_SYMBOL2247_tree   = NULL;
    COMMA_SYMBOL2249_tree   = NULL;
    CLOSE_PAR_SYMBOL2251_tree   = NULL;
    REPLACE_SYMBOL2252_tree   = NULL;
    OPEN_PAR_SYMBOL2253_tree   = NULL;
    COMMA_SYMBOL2255_tree   = NULL;
    COMMA_SYMBOL2257_tree   = NULL;
    CLOSE_PAR_SYMBOL2259_tree   = NULL;
    REVERSE_SYMBOL2260_tree   = NULL;
    OPEN_PAR_SYMBOL2261_tree   = NULL;
    CLOSE_PAR_SYMBOL2263_tree   = NULL;
    ROW_COUNT_SYMBOL2264_tree   = NULL;
    TRUNCATE_SYMBOL2266_tree   = NULL;
    OPEN_PAR_SYMBOL2267_tree   = NULL;
    COMMA_SYMBOL2269_tree   = NULL;
    CLOSE_PAR_SYMBOL2271_tree   = NULL;
    WEEK_SYMBOL2272_tree   = NULL;
    OPEN_PAR_SYMBOL2273_tree   = NULL;
    COMMA_SYMBOL2275_tree   = NULL;
    CLOSE_PAR_SYMBOL2277_tree   = NULL;
    WEIGHT_STRING_SYMBOL2278_tree   = NULL;
    OPEN_PAR_SYMBOL2279_tree   = NULL;
    AS_SYMBOL2281_tree   = NULL;
    CHAR_SYMBOL2282_tree   = NULL;
    AS_SYMBOL2285_tree   = NULL;
    BINARY_SYMBOL2286_tree   = NULL;
    COMMA_SYMBOL2288_tree   = NULL;
    INTEGER2289_tree   = NULL;
    COMMA_SYMBOL2290_tree   = NULL;
    INTEGER2291_tree   = NULL;
    COMMA_SYMBOL2292_tree   = NULL;
    INTEGER2293_tree   = NULL;
    CLOSE_PAR_SYMBOL2294_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2062:33: ( CHAR_SYMBOL OPEN_PAR_SYMBOL expression_list ( USING_SYMBOL charset_name )? CLOSE_PAR_SYMBOL | CURRENT_USER_SYMBOL ( parentheses )? | DATE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | DAY_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | HOUR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | INSERT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | LEFT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | MINUTE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | MONTH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | RIGHT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | SECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | TIME_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | TIMESTAMP_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL | trim_function | USER_SYMBOL parentheses | VALUES_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | YEAR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( ADDDATE_SYMBOL | SUBDATE_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | CURDATE_SYMBOL ( parentheses )? | CURTIME_SYMBOL ( time_function_parameters )? | ( DATE_ADD_SYMBOL | DATE_SUB_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTERVAL_SYMBOL interval CLOSE_PAR_SYMBOL | EXTRACT_SYMBOL OPEN_PAR_SYMBOL interval_unit FROM_SYMBOL expression CLOSE_PAR_SYMBOL | GET_FORMAT_SYMBOL OPEN_PAR_SYMBOL date_time_type COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | NOW_SYMBOL ( time_function_parameters )? | POSITION_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression IN_SYMBOL expression CLOSE_PAR_SYMBOL | substring_function | SYSDATE_SYMBOL ( time_function_parameters )? | ( TIMESTAMP_ADD_SYMBOL | TIMESTAMP_DIFF_SYMBOL ) OPEN_PAR_SYMBOL interval_timestamp_unit COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | UTC_DATE_SYMBOL ( parentheses )? | UTC_TIME_SYMBOL ( time_function_parameters )? | UTC_TIMESTAMP_SYMBOL ( time_function_parameters )? | ASCII_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | CHARSET_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | COALESCE_SYMBOL expression_list_with_parentheses | COLLATION_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | DATABASE_SYMBOL parentheses | IF_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | FORMAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL | MICROSECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | MOD_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL | PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | QUARTER_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | REPEAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | REPLACE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | REVERSE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ROW_COUNT_SYMBOL parentheses | TRUNCATE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | WEEK_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL |{...}? => WEIGHT_STRING_SYMBOL OPEN_PAR_SYMBOL expression ( ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )? | AS_SYMBOL BINARY_SYMBOL field_length | COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER ) CLOSE_PAR_SYMBOL | geometry_function | aggregate_function )

            ANTLR3_UINT32 alt651;

            alt651=52;

            {
                int LA651_0 = LA(1);
                if ( (LA651_0 == CHAR_SYMBOL))
                {
                    alt651=1;
                }
                else if ( (LA651_0 == CURRENT_USER_SYMBOL))
                {
                    alt651=2;
                }
                else if ( (LA651_0 == DATE_SYMBOL))
                {
                    alt651=3;
                }
                else if ( (LA651_0 == DAY_SYMBOL))
                {
                    alt651=4;
                }
                else if ( (LA651_0 == HOUR_SYMBOL))
                {
                    alt651=5;
                }
                else if ( (LA651_0 == INSERT_SYMBOL))
                {
                    alt651=6;
                }
                else if ( (LA651_0 == LEFT_SYMBOL))
                {
                    alt651=7;
                }
                else if ( (LA651_0 == MINUTE_SYMBOL))
                {
                    alt651=8;
                }
                else if ( (LA651_0 == MONTH_SYMBOL))
                {
                    alt651=9;
                }
                else if ( (LA651_0 == RIGHT_SYMBOL))
                {
                    alt651=10;
                }
                else if ( (LA651_0 == SECOND_SYMBOL))
                {
                    alt651=11;
                }
                else if ( (LA651_0 == TIME_SYMBOL))
                {
                    alt651=12;
                }
                else if ( (LA651_0 == TIMESTAMP_SYMBOL))
                {
                    alt651=13;
                }
                else if ( (LA651_0 == TRIM_SYMBOL))
                {
                    alt651=14;
                }
                else if ( (LA651_0 == USER_SYMBOL))
                {
                    alt651=15;
                }
                else if ( (LA651_0 == VALUES_SYMBOL))
                {
                    alt651=16;
                }
                else if ( (LA651_0 == YEAR_SYMBOL))
                {
                    alt651=17;
                }
                else if ( (LA651_0 == ADDDATE_SYMBOL || LA651_0 == SUBDATE_SYMBOL))
                {
                    alt651=18;
                }
                else if ( (LA651_0 == CURDATE_SYMBOL))
                {
                    alt651=19;
                }
                else if ( (LA651_0 == CURTIME_SYMBOL))
                {
                    alt651=20;
                }
                else if ( (LA651_0 == DATE_ADD_SYMBOL || LA651_0 == DATE_SUB_SYMBOL))
                {
                    alt651=21;
                }
                else if ( (LA651_0 == EXTRACT_SYMBOL))
                {
                    alt651=22;
                }
                else if ( (LA651_0 == GET_FORMAT_SYMBOL))
                {
                    alt651=23;
                }
                else if ( (LA651_0 == NOW_SYMBOL))
                {
                    alt651=24;
                }
                else if ( (LA651_0 == POSITION_SYMBOL))
                {
                    alt651=25;
                }
                else if ( (LA651_0 == SUBSTRING_SYMBOL))
                {
                    alt651=26;
                }
                else if ( (LA651_0 == SYSDATE_SYMBOL))
                {
                    alt651=27;
                }
                else if ( (((LA651_0 >= TIMESTAMP_ADD_SYMBOL) && (LA651_0 <= TIMESTAMP_DIFF_SYMBOL))))
                {
                    alt651=28;
                }
                else if ( (LA651_0 == UTC_DATE_SYMBOL))
                {
                    alt651=29;
                }
                else if ( (LA651_0 == UTC_TIME_SYMBOL))
                {
                    alt651=30;
                }
                else if ( (LA651_0 == UTC_TIMESTAMP_SYMBOL))
                {
                    alt651=31;
                }
                else if ( (LA651_0 == ASCII_SYMBOL))
                {
                    alt651=32;
                }
                else if ( (LA651_0 == CHARSET_SYMBOL))
                {
                    alt651=33;
                }
                else if ( (LA651_0 == COALESCE_SYMBOL))
                {
                    alt651=34;
                }
                else if ( (LA651_0 == COLLATION_SYMBOL))
                {
                    alt651=35;
                }
                else if ( (LA651_0 == DATABASE_SYMBOL))
                {
                    alt651=36;
                }
                else if ( (LA651_0 == IF_SYMBOL))
                {
                    alt651=37;
                }
                else if ( (LA651_0 == FORMAT_SYMBOL))
                {
                    alt651=38;
                }
                else if ( (LA651_0 == MICROSECOND_SYMBOL))
                {
                    alt651=39;
                }
                else if ( (LA651_0 == MOD_SYMBOL))
                {
                    alt651=40;
                }
                else if ( ((SERVER_VERSION < 50607)) && (LA651_0 == OLD_PASSWORD_SYMBOL))
                {
                    alt651=41;
                }
                else if ( (LA651_0 == PASSWORD_SYMBOL))
                {
                    alt651=42;
                }
                else if ( (LA651_0 == QUARTER_SYMBOL))
                {
                    alt651=43;
                }
                else if ( (LA651_0 == REPEAT_SYMBOL))
                {
                    alt651=44;
                }
                else if ( (LA651_0 == REPLACE_SYMBOL))
                {
                    alt651=45;
                }
                else if ( (LA651_0 == REVERSE_SYMBOL))
                {
                    alt651=46;
                }
                else if ( (LA651_0 == ROW_COUNT_SYMBOL))
                {
                    alt651=47;
                }
                else if ( (LA651_0 == TRUNCATE_SYMBOL))
                {
                    alt651=48;
                }
                else if ( (LA651_0 == WEEK_SYMBOL))
                {
                    alt651=49;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA651_0 == WEIGHT_STRING_SYMBOL))
                {
                    alt651=50;
                }
                else if ( (LA651_0 == CONTAINS_SYMBOL || LA651_0 == GEOMETRYCOLLECTION_SYMBOL || LA651_0 == LINESTRING_SYMBOL || ((LA651_0 >= MULTILINESTRING_SYMBOL) && (LA651_0 <= MULTIPOLYGON_SYMBOL)) || ((LA651_0 >= POINT_SYMBOL) && (LA651_0 <= POLYGON_SYMBOL))))
                {
                    alt651=51;
                }
                else if ( (LA651_0 == AVG_SYMBOL || ((LA651_0 >= BIT_AND_SYMBOL) && (LA651_0 <= BIT_XOR_SYMBOL)) || LA651_0 == COUNT_SYMBOL || LA651_0 == GROUP_CONCAT_SYMBOL || LA651_0 == MAX_SYMBOL || LA651_0 == MIN_SYMBOL || LA651_0 == STDDEV_SAMP_SYMBOL || LA651_0 == STD_SYMBOL || LA651_0 == SUM_SYMBOL || LA651_0 == VARIANCE_SYMBOL || LA651_0 == VAR_SAMP_SYMBOL))
                {
                    alt651=52;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 651;
                    EXCEPTION->state        = 0;


                    goto ruleruntime_function_call_expressionEx;

                }
            }
            switch (alt651)
            {
        	case 1:
        	    // MySQL.g:2064:2: CHAR_SYMBOL OPEN_PAR_SYMBOL expression_list ( USING_SYMBOL charset_name )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2063 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression11375);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2063_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2063));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2063_tree);
        	        }

        	        OPEN_PAR_SYMBOL2064 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11377);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2064));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2064_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_in_runtime_function_call_expression11379);
        	        expression_list2065=expression_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2065.tree);

        	        // MySQL.g:2064:46: ( USING_SYMBOL charset_name )?
        	        {
        	            int alt636=2;
        	            switch ( LA(1) )
        	            {
        	                case USING_SYMBOL:
        	                	{
        	                		alt636=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt636)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2064:47: USING_SYMBOL charset_name
        	        	    {
        	        	        USING_SYMBOL2066 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_runtime_function_call_expression11382);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USING_SYMBOL2066_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL2066));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL2066_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_runtime_function_call_expression11384);
        	        	        charset_name2067=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2067.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2068 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11388);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2068_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2068));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2068_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2065:4: CURRENT_USER_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURRENT_USER_SYMBOL2069 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_USER_SYMBOL, &FOLLOW_CURRENT_USER_SYMBOL_in_runtime_function_call_expression11393);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURRENT_USER_SYMBOL2069_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_USER_SYMBOL2069));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_USER_SYMBOL2069_tree);
        	        }

        	        // MySQL.g:2065:24: ( parentheses )?
        	        {
        	            int alt637=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt637=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt637)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2065:24: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_runtime_function_call_expression11395);
        	        	        parentheses2070=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2070.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2066:4: DATE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2071 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_runtime_function_call_expression11401);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2071_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2071));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2071_tree);
        	        }

        	        OPEN_PAR_SYMBOL2072 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11403);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2072_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2072));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2072_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11405);
        	        expression2073=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2073.tree);

        	        CLOSE_PAR_SYMBOL2074 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11407);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2074_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2074));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2074_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2067:4: DAY_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SYMBOL2075 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_runtime_function_call_expression11412);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SYMBOL2075_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL2075));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL2075_tree);
        	        }

        	        OPEN_PAR_SYMBOL2076 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11414);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2076_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2076));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2076_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11416);
        	        expression2077=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2077.tree);

        	        CLOSE_PAR_SYMBOL2078 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11418);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2078_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2078));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2078_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2068:4: HOUR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SYMBOL2079 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SYMBOL, &FOLLOW_HOUR_SYMBOL_in_runtime_function_call_expression11423);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SYMBOL2079_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SYMBOL2079));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SYMBOL2079_tree);
        	        }

        	        OPEN_PAR_SYMBOL2080 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11425);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2080_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2080));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2080_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11427);
        	        expression2081=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2081.tree);

        	        CLOSE_PAR_SYMBOL2082 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11429);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2082_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2082));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2082_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2069:4: INSERT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSERT_SYMBOL2083 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_runtime_function_call_expression11434);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_SYMBOL2083_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL2083));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_SYMBOL2083_tree);
        	        }

        	        OPEN_PAR_SYMBOL2084 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11436);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2084_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2084));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2084_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11438);
        	        expression2085=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2085.tree);

        	        COMMA_SYMBOL2086 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11440);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2086_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2086));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2086_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11442);
        	        expression2087=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2087.tree);

        	        COMMA_SYMBOL2088 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11444);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2088_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2088));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2088_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11446);
        	        expression2089=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2089.tree);

        	        COMMA_SYMBOL2090 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11448);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2090_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2090));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2090_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11450);
        	        expression2091=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2091.tree);

        	        CLOSE_PAR_SYMBOL2092 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11452);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2092_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2092));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2092_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2071:4: LEFT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LEFT_SYMBOL2093 = (pANTLR3_COMMON_TOKEN) MATCHT(LEFT_SYMBOL, &FOLLOW_LEFT_SYMBOL_in_runtime_function_call_expression11459);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LEFT_SYMBOL2093_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEFT_SYMBOL2093));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LEFT_SYMBOL2093_tree);
        	        }

        	        OPEN_PAR_SYMBOL2094 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11461);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2094_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2094));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2094_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11463);
        	        expression2095=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2095.tree);

        	        COMMA_SYMBOL2096 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11465);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2096_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2096));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2096_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11467);
        	        expression2097=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2097.tree);

        	        CLOSE_PAR_SYMBOL2098 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11469);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2098_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2098));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2098_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2072:4: MINUTE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SYMBOL2099 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SYMBOL, &FOLLOW_MINUTE_SYMBOL_in_runtime_function_call_expression11474);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SYMBOL2099_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SYMBOL2099));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SYMBOL2099_tree);
        	        }

        	        OPEN_PAR_SYMBOL2100 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11476);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2100_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2100));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2100_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11478);
        	        expression2101=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2101.tree);

        	        CLOSE_PAR_SYMBOL2102 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11480);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2102_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2102));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2102_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2073:4: MONTH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MONTH_SYMBOL2103 = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH_SYMBOL, &FOLLOW_MONTH_SYMBOL_in_runtime_function_call_expression11485);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MONTH_SYMBOL2103_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MONTH_SYMBOL2103));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MONTH_SYMBOL2103_tree);
        	        }

        	        OPEN_PAR_SYMBOL2104 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11487);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2104_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2104));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2104_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11489);
        	        expression2105=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2105.tree);

        	        CLOSE_PAR_SYMBOL2106 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11491);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2106_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2106));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2106_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2074:4: RIGHT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RIGHT_SYMBOL2107 = (pANTLR3_COMMON_TOKEN) MATCHT(RIGHT_SYMBOL, &FOLLOW_RIGHT_SYMBOL_in_runtime_function_call_expression11496);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RIGHT_SYMBOL2107_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RIGHT_SYMBOL2107));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RIGHT_SYMBOL2107_tree);
        	        }

        	        OPEN_PAR_SYMBOL2108 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11498);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2108_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2108));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2108_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11500);
        	        expression2109=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2109.tree);

        	        COMMA_SYMBOL2110 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11502);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2110_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2110));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2110_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11504);
        	        expression2111=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2111.tree);

        	        CLOSE_PAR_SYMBOL2112 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11506);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2112_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2112));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2112_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2075:4: SECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_SYMBOL2113 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_SYMBOL, &FOLLOW_SECOND_SYMBOL_in_runtime_function_call_expression11511);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_SYMBOL2113_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_SYMBOL2113));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_SYMBOL2113_tree);
        	        }

        	        OPEN_PAR_SYMBOL2114 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11513);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2114_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2114));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2114_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11515);
        	        expression2115=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2115.tree);

        	        CLOSE_PAR_SYMBOL2116 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11517);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2116_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2116));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2116_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2076:4: TIME_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2117 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_runtime_function_call_expression11522);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2117_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2117));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2117_tree);
        	        }

        	        OPEN_PAR_SYMBOL2118 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11524);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2118_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2118));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2118_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11526);
        	        expression2119=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2119.tree);

        	        CLOSE_PAR_SYMBOL2120 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11528);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2120_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2120));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2120_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2077:4: TIMESTAMP_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL2121 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11533);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL2121_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL2121));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL2121_tree);
        	        }

        	        OPEN_PAR_SYMBOL2122 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11535);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2122_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2122));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2122_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11537);
        	        expression2123=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2123.tree);

        	        // MySQL.g:2077:48: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt638=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt638=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt638)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2077:49: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL2124 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11540);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2124_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2124));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2124_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11542);
        	        	        expression2125=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2125.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2126 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11546);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2126_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2126));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2126_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2078:4: trim_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_trim_function_in_runtime_function_call_expression11551);
        	        trim_function2127=trim_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trim_function2127.tree);

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2079:4: USER_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USER_SYMBOL2128 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_runtime_function_call_expression11556);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_SYMBOL2128_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL2128));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL2128_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_runtime_function_call_expression11558);
        	        parentheses2129=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2129.tree);

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:2080:4: VALUES_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VALUES_SYMBOL2130 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUES_SYMBOL, &FOLLOW_VALUES_SYMBOL_in_runtime_function_call_expression11563);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VALUES_SYMBOL2130_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUES_SYMBOL2130));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUES_SYMBOL2130_tree);
        	        }

        	        OPEN_PAR_SYMBOL2131 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11565);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2131_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2131));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2131_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11567);
        	        expression2132=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2132.tree);

        	        CLOSE_PAR_SYMBOL2133 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11569);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2133_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2133));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2133_tree);
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2081:4: YEAR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2134 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_runtime_function_call_expression11574);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2134_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2134));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2134_tree);
        	        }

        	        OPEN_PAR_SYMBOL2135 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11576);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2135_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2135));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2135_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11578);
        	        expression2136=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2136.tree);

        	        CLOSE_PAR_SYMBOL2137 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11580);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2137_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2137));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2137_tree);
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2084:4: ( ADDDATE_SYMBOL | SUBDATE_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2138=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == ADDDATE_SYMBOL || LA(1) == SUBDATE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2138))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleruntime_function_call_expressionEx;
        	        }


        	        OPEN_PAR_SYMBOL2139 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11596);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2139_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2139));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2139_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11598);
        	        expression2140=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2140.tree);

        	        COMMA_SYMBOL2141 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11600);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2141_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2141));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2141_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11602);
        	        expression2142=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2142.tree);

        	        CLOSE_PAR_SYMBOL2143 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11604);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2143_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2143));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2143_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2085:4: CURDATE_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURDATE_SYMBOL2144 = (pANTLR3_COMMON_TOKEN) MATCHT(CURDATE_SYMBOL, &FOLLOW_CURDATE_SYMBOL_in_runtime_function_call_expression11609);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURDATE_SYMBOL2144_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURDATE_SYMBOL2144));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURDATE_SYMBOL2144_tree);
        	        }

        	        // MySQL.g:2085:19: ( parentheses )?
        	        {
        	            int alt639=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt639=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt639)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2085:19: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_runtime_function_call_expression11611);
        	        	        parentheses2145=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2145.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:2086:4: CURTIME_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURTIME_SYMBOL2146 = (pANTLR3_COMMON_TOKEN) MATCHT(CURTIME_SYMBOL, &FOLLOW_CURTIME_SYMBOL_in_runtime_function_call_expression11617);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURTIME_SYMBOL2146_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURTIME_SYMBOL2146));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURTIME_SYMBOL2146_tree);
        	        }

        	        // MySQL.g:2086:19: ( time_function_parameters )?
        	        {
        	            int alt640=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt640=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt640)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2086:19: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_runtime_function_call_expression11619);
        	        	        time_function_parameters2147=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2147.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2087:4: ( DATE_ADD_SYMBOL | DATE_SUB_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTERVAL_SYMBOL interval CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2148=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DATE_ADD_SYMBOL || LA(1) == DATE_SUB_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2148))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleruntime_function_call_expressionEx;
        	        }


        	        OPEN_PAR_SYMBOL2149 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11633);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2149));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2149_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11635);
        	        expression2150=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2150.tree);

        	        COMMA_SYMBOL2151 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11637);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2151_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2151));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2151_tree);
        	        }

        	        INTERVAL_SYMBOL2152 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_runtime_function_call_expression11639);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTERVAL_SYMBOL2152_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTERVAL_SYMBOL2152));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTERVAL_SYMBOL2152_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_in_runtime_function_call_expression11641);
        	        interval2153=interval(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval2153.tree);

        	        CLOSE_PAR_SYMBOL2154 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11643);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2154_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2154));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2154_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:2088:4: EXTRACT_SYMBOL OPEN_PAR_SYMBOL interval_unit FROM_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTRACT_SYMBOL2155 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTRACT_SYMBOL, &FOLLOW_EXTRACT_SYMBOL_in_runtime_function_call_expression11648);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXTRACT_SYMBOL2155_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTRACT_SYMBOL2155));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTRACT_SYMBOL2155_tree);
        	        }

        	        OPEN_PAR_SYMBOL2156 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11650);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2156_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2156));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2156_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_unit_in_runtime_function_call_expression11652);
        	        interval_unit2157=interval_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_unit2157.tree);

        	        FROM_SYMBOL2158 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_runtime_function_call_expression11654);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL2158_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2158));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2158_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11656);
        	        expression2159=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2159.tree);

        	        CLOSE_PAR_SYMBOL2160 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11658);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2160_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2160));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2160_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:2089:4: GET_FORMAT_SYMBOL OPEN_PAR_SYMBOL date_time_type COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GET_FORMAT_SYMBOL2161 = (pANTLR3_COMMON_TOKEN) MATCHT(GET_FORMAT_SYMBOL, &FOLLOW_GET_FORMAT_SYMBOL_in_runtime_function_call_expression11663);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GET_FORMAT_SYMBOL2161_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GET_FORMAT_SYMBOL2161));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GET_FORMAT_SYMBOL2161_tree);
        	        }

        	        OPEN_PAR_SYMBOL2162 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2162_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2162));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2162_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_date_time_type_in_runtime_function_call_expression11667);
        	        date_time_type2163=date_time_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, date_time_type2163.tree);

        	        COMMA_SYMBOL2164 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11670);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2164_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2164));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2164_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11672);
        	        expression2165=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2165.tree);

        	        CLOSE_PAR_SYMBOL2166 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11674);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2166_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2166));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2166_tree);
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:2090:4: NOW_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOW_SYMBOL2167 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_runtime_function_call_expression11679);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOW_SYMBOL2167_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2167));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2167_tree);
        	        }

        	        // MySQL.g:2090:15: ( time_function_parameters )?
        	        {
        	            int alt641=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt641=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt641)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2090:15: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_runtime_function_call_expression11681);
        	        	        time_function_parameters2168=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2168.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:2091:4: POSITION_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression IN_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POSITION_SYMBOL2169 = (pANTLR3_COMMON_TOKEN) MATCHT(POSITION_SYMBOL, &FOLLOW_POSITION_SYMBOL_in_runtime_function_call_expression11687);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POSITION_SYMBOL2169_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POSITION_SYMBOL2169));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POSITION_SYMBOL2169_tree);
        	        }

        	        OPEN_PAR_SYMBOL2170 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11689);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2170_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2170));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2170_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_runtime_function_call_expression11691);
        	        bitwise_or_expression2171=bitwise_or_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression2171.tree);

        	        IN_SYMBOL2172 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_runtime_function_call_expression11693);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL2172_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2172));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2172_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11695);
        	        expression2173=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2173.tree);

        	        CLOSE_PAR_SYMBOL2174 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11697);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2174_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2174));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2174_tree);
        	        }

        	    }
        	    break;
        	case 26:
        	    // MySQL.g:2092:4: substring_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_substring_function_in_runtime_function_call_expression11702);
        	        substring_function2175=substring_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, substring_function2175.tree);

        	    }
        	    break;
        	case 27:
        	    // MySQL.g:2093:4: SYSDATE_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SYSDATE_SYMBOL2176 = (pANTLR3_COMMON_TOKEN) MATCHT(SYSDATE_SYMBOL, &FOLLOW_SYSDATE_SYMBOL_in_runtime_function_call_expression11707);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SYSDATE_SYMBOL2176_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SYSDATE_SYMBOL2176));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SYSDATE_SYMBOL2176_tree);
        	        }

        	        // MySQL.g:2093:19: ( time_function_parameters )?
        	        {
        	            int alt642=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt642=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt642)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2093:19: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_runtime_function_call_expression11709);
        	        	        time_function_parameters2177=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2177.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 28:
        	    // MySQL.g:2094:4: ( TIMESTAMP_ADD_SYMBOL | TIMESTAMP_DIFF_SYMBOL ) OPEN_PAR_SYMBOL interval_timestamp_unit COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2178=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( ((LA(1) >= TIMESTAMP_ADD_SYMBOL) && (LA(1) <= TIMESTAMP_DIFF_SYMBOL)) )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2178))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleruntime_function_call_expressionEx;
        	        }


        	        OPEN_PAR_SYMBOL2179 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11723);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2179_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2179));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2179_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_timestamp_unit_in_runtime_function_call_expression11725);
        	        interval_timestamp_unit2180=interval_timestamp_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_timestamp_unit2180.tree);

        	        COMMA_SYMBOL2181 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11727);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2181_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2181));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2181_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11729);
        	        expression2182=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2182.tree);

        	        COMMA_SYMBOL2183 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11731);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2183_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2183));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2183_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11733);
        	        expression2184=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2184.tree);

        	        CLOSE_PAR_SYMBOL2185 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11735);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2185_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2185));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2185_tree);
        	        }

        	    }
        	    break;
        	case 29:
        	    // MySQL.g:2095:4: UTC_DATE_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_DATE_SYMBOL2186 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_DATE_SYMBOL, &FOLLOW_UTC_DATE_SYMBOL_in_runtime_function_call_expression11740);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_DATE_SYMBOL2186_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_DATE_SYMBOL2186));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_DATE_SYMBOL2186_tree);
        	        }

        	        // MySQL.g:2095:20: ( parentheses )?
        	        {
        	            int alt643=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt643=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt643)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2095:20: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_runtime_function_call_expression11742);
        	        	        parentheses2187=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2187.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 30:
        	    // MySQL.g:2096:4: UTC_TIME_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_TIME_SYMBOL2188 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_TIME_SYMBOL, &FOLLOW_UTC_TIME_SYMBOL_in_runtime_function_call_expression11748);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_TIME_SYMBOL2188_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_TIME_SYMBOL2188));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_TIME_SYMBOL2188_tree);
        	        }

        	        // MySQL.g:2096:20: ( time_function_parameters )?
        	        {
        	            int alt644=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt644=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt644)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2096:20: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_runtime_function_call_expression11750);
        	        	        time_function_parameters2189=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2189.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 31:
        	    // MySQL.g:2097:4: UTC_TIMESTAMP_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_TIMESTAMP_SYMBOL2190 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_TIMESTAMP_SYMBOL, &FOLLOW_UTC_TIMESTAMP_SYMBOL_in_runtime_function_call_expression11756);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_TIMESTAMP_SYMBOL2190_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_TIMESTAMP_SYMBOL2190));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_TIMESTAMP_SYMBOL2190_tree);
        	        }

        	        // MySQL.g:2097:25: ( time_function_parameters )?
        	        {
        	            int alt645=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt645=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt645)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2097:25: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_runtime_function_call_expression11758);
        	        	        time_function_parameters2191=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2191.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 32:
        	    // MySQL.g:2100:4: ASCII_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2192 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_runtime_function_call_expression11767);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2192_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2192));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2192_tree);
        	        }

        	        OPEN_PAR_SYMBOL2193 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11769);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2193_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2193));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2193_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11771);
        	        expression2194=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2194.tree);

        	        CLOSE_PAR_SYMBOL2195 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11773);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2195));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2195_tree);
        	        }

        	    }
        	    break;
        	case 33:
        	    // MySQL.g:2101:4: CHARSET_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHARSET_SYMBOL2196 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_runtime_function_call_expression11778);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHARSET_SYMBOL2196_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL2196));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL2196_tree);
        	        }

        	        OPEN_PAR_SYMBOL2197 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11780);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2197_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2197));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2197_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11782);
        	        expression2198=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2198.tree);

        	        CLOSE_PAR_SYMBOL2199 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11784);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2199_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2199));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2199_tree);
        	        }

        	    }
        	    break;
        	case 34:
        	    // MySQL.g:2102:4: COALESCE_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COALESCE_SYMBOL2200 = (pANTLR3_COMMON_TOKEN) MATCHT(COALESCE_SYMBOL, &FOLLOW_COALESCE_SYMBOL_in_runtime_function_call_expression11789);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COALESCE_SYMBOL2200_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COALESCE_SYMBOL2200));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COALESCE_SYMBOL2200_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_runtime_function_call_expression11791);
        	        expression_list_with_parentheses2201=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2201.tree);

        	    }
        	    break;
        	case 35:
        	    // MySQL.g:2103:4: COLLATION_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLLATION_SYMBOL2202 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATION_SYMBOL, &FOLLOW_COLLATION_SYMBOL_in_runtime_function_call_expression11796);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLLATION_SYMBOL2202_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATION_SYMBOL2202));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATION_SYMBOL2202_tree);
        	        }

        	        OPEN_PAR_SYMBOL2203 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11798);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2203));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2203_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11800);
        	        expression2204=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2204.tree);

        	        CLOSE_PAR_SYMBOL2205 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11802);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2205_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2205));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2205_tree);
        	        }

        	    }
        	    break;
        	case 36:
        	    // MySQL.g:2104:4: DATABASE_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATABASE_SYMBOL2206 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_runtime_function_call_expression11807);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATABASE_SYMBOL2206_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL2206));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL2206_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_runtime_function_call_expression11809);
        	        parentheses2207=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2207.tree);

        	    }
        	    break;
        	case 37:
        	    // MySQL.g:2105:4: IF_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IF_SYMBOL2208 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_runtime_function_call_expression11814);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IF_SYMBOL2208_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2208));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2208_tree);
        	        }

        	        OPEN_PAR_SYMBOL2209 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11816);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2209_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2209));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2209_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11818);
        	        expression2210=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2210.tree);

        	        COMMA_SYMBOL2211 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11820);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2211_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2211));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2211_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11822);
        	        expression2212=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2212.tree);

        	        COMMA_SYMBOL2213 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11824);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2213_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2213));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2213_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11826);
        	        expression2214=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2214.tree);

        	        CLOSE_PAR_SYMBOL2215 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11828);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2215_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2215));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2215_tree);
        	        }

        	    }
        	    break;
        	case 38:
        	    // MySQL.g:2106:4: FORMAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FORMAT_SYMBOL2216 = (pANTLR3_COMMON_TOKEN) MATCHT(FORMAT_SYMBOL, &FOLLOW_FORMAT_SYMBOL_in_runtime_function_call_expression11833);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FORMAT_SYMBOL2216_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FORMAT_SYMBOL2216));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FORMAT_SYMBOL2216_tree);
        	        }

        	        OPEN_PAR_SYMBOL2217 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11835);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2217_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2217));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2217_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11837);
        	        expression2218=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2218.tree);

        	        COMMA_SYMBOL2219 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11839);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2219_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2219));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2219_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11841);
        	        expression2220=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2220.tree);

        	        // MySQL.g:2106:69: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt646=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt646=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt646)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2106:70: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL2221 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11844);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2221_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2221));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2221_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11846);
        	        	        expression2222=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2222.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2223 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11850);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2223_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2223));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2223_tree);
        	        }

        	    }
        	    break;
        	case 39:
        	    // MySQL.g:2107:4: MICROSECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MICROSECOND_SYMBOL2224 = (pANTLR3_COMMON_TOKEN) MATCHT(MICROSECOND_SYMBOL, &FOLLOW_MICROSECOND_SYMBOL_in_runtime_function_call_expression11855);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MICROSECOND_SYMBOL2224_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MICROSECOND_SYMBOL2224));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MICROSECOND_SYMBOL2224_tree);
        	        }

        	        OPEN_PAR_SYMBOL2225 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11857);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2225_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2225));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2225_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11859);
        	        expression2226=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2226.tree);

        	        CLOSE_PAR_SYMBOL2227 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11861);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2227_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2227));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2227_tree);
        	        }

        	    }
        	    break;
        	case 40:
        	    // MySQL.g:2108:4: MOD_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MOD_SYMBOL2228 = (pANTLR3_COMMON_TOKEN) MATCHT(MOD_SYMBOL, &FOLLOW_MOD_SYMBOL_in_runtime_function_call_expression11866);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MOD_SYMBOL2228_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MOD_SYMBOL2228));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MOD_SYMBOL2228_tree);
        	        }

        	        OPEN_PAR_SYMBOL2229 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11868);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2229_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2229));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2229_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11870);
        	        expression2230=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2230.tree);

        	        COMMA_SYMBOL2231 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11872);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2231_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2231));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2231_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11874);
        	        expression2232=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2232.tree);

        	        CLOSE_PAR_SYMBOL2233 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11876);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2233_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2233));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2233_tree);
        	        }

        	    }
        	    break;
        	case 41:
        	    // MySQL.g:2109:4: {...}? => OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION < 50607)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50607";
        	                EXCEPTION->ruleName	 = (void *)"runtime_function_call_expression";


        	        }

        	        OLD_PASSWORD_SYMBOL2234 = (pANTLR3_COMMON_TOKEN) MATCHT(OLD_PASSWORD_SYMBOL, &FOLLOW_OLD_PASSWORD_SYMBOL_in_runtime_function_call_expression11885);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OLD_PASSWORD_SYMBOL2234_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OLD_PASSWORD_SYMBOL2234));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OLD_PASSWORD_SYMBOL2234_tree);
        	        }

        	        OPEN_PAR_SYMBOL2235 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11887);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2235_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2235));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2235_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_runtime_function_call_expression11889);
        	        string_literal2236=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2236.tree);

        	        CLOSE_PAR_SYMBOL2237 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11891);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2237_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2237));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2237_tree);
        	        }

        	    }
        	    break;
        	case 42:
        	    // MySQL.g:2110:4: PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL2238 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_runtime_function_call_expression11896);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL2238_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2238));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2238_tree);
        	        }

        	        OPEN_PAR_SYMBOL2239 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11898);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2239_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2239));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2239_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11900);
        	        expression2240=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2240.tree);

        	        CLOSE_PAR_SYMBOL2241 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11902);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2241_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2241));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2241_tree);
        	        }

        	    }
        	    break;
        	case 43:
        	    // MySQL.g:2111:4: QUARTER_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUARTER_SYMBOL2242 = (pANTLR3_COMMON_TOKEN) MATCHT(QUARTER_SYMBOL, &FOLLOW_QUARTER_SYMBOL_in_runtime_function_call_expression11907);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUARTER_SYMBOL2242_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUARTER_SYMBOL2242));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUARTER_SYMBOL2242_tree);
        	        }

        	        OPEN_PAR_SYMBOL2243 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11909);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2243_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2243));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2243_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11911);
        	        expression2244=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2244.tree);

        	        CLOSE_PAR_SYMBOL2245 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11913);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2245_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2245));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2245_tree);
        	        }

        	    }
        	    break;
        	case 44:
        	    // MySQL.g:2112:4: REPEAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPEAT_SYMBOL2246 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_runtime_function_call_expression11918);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPEAT_SYMBOL2246_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2246));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPEAT_SYMBOL2246_tree);
        	        }

        	        OPEN_PAR_SYMBOL2247 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11920);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2247_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2247));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2247_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11922);
        	        expression2248=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2248.tree);

        	        COMMA_SYMBOL2249 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11924);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2249_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2249));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2249_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11926);
        	        expression2250=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2250.tree);

        	        CLOSE_PAR_SYMBOL2251 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11928);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2251_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2251));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2251_tree);
        	        }

        	    }
        	    break;
        	case 45:
        	    // MySQL.g:2113:4: REPLACE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLACE_SYMBOL2252 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_runtime_function_call_expression11933);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLACE_SYMBOL2252_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL2252));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLACE_SYMBOL2252_tree);
        	        }

        	        OPEN_PAR_SYMBOL2253 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11935);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2253_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2253));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2253_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11937);
        	        expression2254=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2254.tree);

        	        COMMA_SYMBOL2255 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11939);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2255_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2255));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2255_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11941);
        	        expression2256=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2256.tree);

        	        COMMA_SYMBOL2257 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11943);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2257_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2257));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2257_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11945);
        	        expression2258=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2258.tree);

        	        CLOSE_PAR_SYMBOL2259 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11947);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2259_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2259));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2259_tree);
        	        }

        	    }
        	    break;
        	case 46:
        	    // MySQL.g:2114:4: REVERSE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REVERSE_SYMBOL2260 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_runtime_function_call_expression11952);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REVERSE_SYMBOL2260_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2260));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2260_tree);
        	        }

        	        OPEN_PAR_SYMBOL2261 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11954);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2261_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2261));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2261_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11956);
        	        expression2262=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2262.tree);

        	        CLOSE_PAR_SYMBOL2263 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11958);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2263_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2263));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2263_tree);
        	        }

        	    }
        	    break;
        	case 47:
        	    // MySQL.g:2115:4: ROW_COUNT_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ROW_COUNT_SYMBOL2264 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_COUNT_SYMBOL, &FOLLOW_ROW_COUNT_SYMBOL_in_runtime_function_call_expression11963);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_COUNT_SYMBOL2264_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_COUNT_SYMBOL2264));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_COUNT_SYMBOL2264_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_runtime_function_call_expression11965);
        	        parentheses2265=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2265.tree);

        	    }
        	    break;
        	case 48:
        	    // MySQL.g:2116:4: TRUNCATE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TRUNCATE_SYMBOL2266 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_runtime_function_call_expression11970);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRUNCATE_SYMBOL2266_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUNCATE_SYMBOL2266));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRUNCATE_SYMBOL2266_tree);
        	        }

        	        OPEN_PAR_SYMBOL2267 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11972);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2267_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2267));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2267_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11974);
        	        expression2268=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2268.tree);

        	        COMMA_SYMBOL2269 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11976);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2269_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2269));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2269_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11978);
        	        expression2270=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2270.tree);

        	        CLOSE_PAR_SYMBOL2271 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11980);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2271_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2271));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2271_tree);
        	        }

        	    }
        	    break;
        	case 49:
        	    // MySQL.g:2117:4: WEEK_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WEEK_SYMBOL2272 = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK_SYMBOL, &FOLLOW_WEEK_SYMBOL_in_runtime_function_call_expression11985);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEEK_SYMBOL2272_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEEK_SYMBOL2272));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEEK_SYMBOL2272_tree);
        	        }

        	        OPEN_PAR_SYMBOL2273 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression11987);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2273_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2273));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2273_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11989);
        	        expression2274=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2274.tree);

        	        // MySQL.g:2117:43: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt647=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt647=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt647)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2117:44: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL2275 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression11992);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2275_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2275));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2275_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression11994);
        	        	        expression2276=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2276.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2277 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression11998);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2277_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2277));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2277_tree);
        	        }

        	    }
        	    break;
        	case 50:
        	    // MySQL.g:2118:4: {...}? => WEIGHT_STRING_SYMBOL OPEN_PAR_SYMBOL expression ( ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )? | AS_SYMBOL BINARY_SYMBOL field_length | COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER ) CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50600)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
        	                EXCEPTION->ruleName	 = (void *)"runtime_function_call_expression";


        	        }

        	        WEIGHT_STRING_SYMBOL2278 = (pANTLR3_COMMON_TOKEN) MATCHT(WEIGHT_STRING_SYMBOL, &FOLLOW_WEIGHT_STRING_SYMBOL_in_runtime_function_call_expression12007);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEIGHT_STRING_SYMBOL2278_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEIGHT_STRING_SYMBOL2278));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEIGHT_STRING_SYMBOL2278_tree);
        	        }

        	        OPEN_PAR_SYMBOL2279 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_runtime_function_call_expression12009);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2279_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2279));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2279_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_runtime_function_call_expression12011);
        	        expression2280=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2280.tree);

        	        // MySQL.g:2119:3: ( ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )? | AS_SYMBOL BINARY_SYMBOL field_length | COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER )
        	        {
        	            int alt650=3;
        	            switch ( LA(1) )
        	            {
        	            case AS_SYMBOL:
        	            	{
        	            		switch ( LA(2) )
        	            		{
        	            		case CHAR_SYMBOL:
        	            			{
        	            				alt650=1;
        	            			}
        	            		    break;
        	            		case BINARY_SYMBOL:
        	            			{
        	            				alt650=2;
        	            			}
        	            		    break;

        	            		default:
        	            		    if (BACKTRACKING>0)
        	            		    {
        	            		        FAILEDFLAG = ANTLR3_TRUE;
        	            		        return retval;
        	            		    }

        	            		    CONSTRUCTEX();
        	            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	            		    EXCEPTION->message      = (void *)"";
        	            		    EXCEPTION->decisionNum  = 650;
        	            		    EXCEPTION->state        = 1;


        	            		    goto ruleruntime_function_call_expressionEx;

        	            		}

        	            	}
        	                break;
        	            case LEVEL_SYMBOL:
        	            case CLOSE_PAR_SYMBOL:
        	            	{
        	            		alt650=1;
        	            	}
        	                break;
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt650=3;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 650;
        	                EXCEPTION->state        = 0;


        	                goto ruleruntime_function_call_expressionEx;

        	            }

        	            switch (alt650)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2120:4: ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )?
        	        	    {
        	        	        // MySQL.g:2120:4: ( AS_SYMBOL CHAR_SYMBOL field_length )?
        	        	        {
        	        	            int alt648=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case AS_SYMBOL:
        	        	                	{
        	        	                		alt648=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt648)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2120:5: AS_SYMBOL CHAR_SYMBOL field_length
        	        	        	    {
        	        	        	        AS_SYMBOL2281 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12021);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        AS_SYMBOL2281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2281));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2281_tree);
        	        	        	        }

        	        	        	        CHAR_SYMBOL2282 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_runtime_function_call_expression12023);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        CHAR_SYMBOL2282_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2282));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2282_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_field_length_in_runtime_function_call_expression12025);
        	        	        	        field_length2283=field_length(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2283.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:2120:42: ( weight_string_levels )?
        	        	        {
        	        	            int alt649=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case LEVEL_SYMBOL:
        	        	                	{
        	        	                		alt649=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt649)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2120:42: weight_string_levels
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_weight_string_levels_in_runtime_function_call_expression12029);
        	        	        	        weight_string_levels2284=weight_string_levels(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, weight_string_levels2284.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2121:6: AS_SYMBOL BINARY_SYMBOL field_length
        	        	    {
        	        	        AS_SYMBOL2285 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_runtime_function_call_expression12037);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AS_SYMBOL2285_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2285));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2285_tree);
        	        	        }

        	        	        BINARY_SYMBOL2286 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_runtime_function_call_expression12039);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2286_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2286));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2286_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_field_length_in_runtime_function_call_expression12041);
        	        	        field_length2287=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2287.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2122:6: COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER
        	        	    {
        	        	        COMMA_SYMBOL2288 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12048);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2288_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2288));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2288_tree);
        	        	        }

        	        	        INTEGER2289 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_runtime_function_call_expression12050);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2289_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2289));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2289_tree);
        	        	        }

        	        	        COMMA_SYMBOL2290 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12052);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2290_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2290));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2290_tree);
        	        	        }

        	        	        INTEGER2291 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_runtime_function_call_expression12054);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2291_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2291));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2291_tree);
        	        	        }

        	        	        COMMA_SYMBOL2292 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_runtime_function_call_expression12056);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2292_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2292));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2292_tree);
        	        	        }

        	        	        INTEGER2293 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_runtime_function_call_expression12058);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleruntime_function_call_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2293_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2293));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2293_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2294 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_runtime_function_call_expression12066);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2294_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2294));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2294_tree);
        	        }

        	    }
        	    break;
        	case 51:
        	    // MySQL.g:2125:4: geometry_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_geometry_function_in_runtime_function_call_expression12071);
        	        geometry_function2295=geometry_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, geometry_function2295.tree);

        	    }
        	    break;
        	case 52:
        	    // MySQL.g:2126:4: aggregate_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_aggregate_function_in_runtime_function_call_expression12076);
        	        aggregate_function2296=aggregate_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleruntime_function_call_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aggregate_function2296.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleruntime_function_call_expressionEx; /* Prevent compiler warnings */
    ruleruntime_function_call_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end runtime_function_call_expression */

/**
 * $ANTLR start time_function_parameters
 * MySQL.g:2129:1: time_function_parameters : OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_time_function_parameters_return
time_function_parameters(pMySQLParser ctx)
{
    MySQLParser_time_function_parameters_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2297;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2299;
    MySQLParser_fractional_precision_return fractional_precision2298;
    #undef	RETURN_TYPE_fractional_precision2298
    #define	RETURN_TYPE_fractional_precision2298 MySQLParser_fractional_precision_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2297_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2299_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2297       = NULL;
    CLOSE_PAR_SYMBOL2299       = NULL;
    fractional_precision2298.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2297_tree   = NULL;
    CLOSE_PAR_SYMBOL2299_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2129:25: ( OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL )
        // MySQL.g:2130:2: OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2297 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters12085);
            if  (HASEXCEPTION())
            {
                goto ruletime_function_parametersEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2297_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2297));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2297_tree);
            }

            // MySQL.g:2130:18: ( fractional_precision )?
            {
                int alt652=2;
                {
                    int LA652_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50604)) && (LA652_0 == INTEGER))
                    {
                        alt652=1;
                    }
                }
                switch (alt652)
                {
            	case 1:
            	    // MySQL.g:2130:18: fractional_precision
            	    {
            	        FOLLOWPUSH(FOLLOW_fractional_precision_in_time_function_parameters12087);
            	        fractional_precision2298=fractional_precision(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletime_function_parametersEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fractional_precision2298.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2299 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters12090);
            if  (HASEXCEPTION())
            {
                goto ruletime_function_parametersEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2299_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2299));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2299_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletime_function_parametersEx; /* Prevent compiler warnings */
    ruletime_function_parametersEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end time_function_parameters */

/**
 * $ANTLR start fractional_precision
 * MySQL.g:2133:1: fractional_precision :{...}? => INTEGER ;
 */
static MySQLParser_fractional_precision_return
fractional_precision(pMySQLParser ctx)
{
    MySQLParser_fractional_precision_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTEGER2300;

    pANTLR3_BASE_TREE INTEGER2300_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2300       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2300_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2133:21: ({...}? => INTEGER )
        // MySQL.g:2134:2: {...}? => INTEGER
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50604)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50604";
                    EXCEPTION->ruleName	 = (void *)"fractional_precision";


            }

            INTEGER2300 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_fractional_precision12103);
            if  (HASEXCEPTION())
            {
                goto rulefractional_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2300_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2300));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2300_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefractional_precisionEx; /* Prevent compiler warnings */
    rulefractional_precisionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end fractional_precision */

/**
 * $ANTLR start weight_string_levels
 * MySQL.g:2137:1: weight_string_levels : LEVEL_SYMBOL ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* ) ;
 */
static MySQLParser_weight_string_levels_return
weight_string_levels(pMySQLParser ctx)
{
    MySQLParser_weight_string_levels_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LEVEL_SYMBOL2301;
    pANTLR3_COMMON_TOKEN    INTEGER2302;
    pANTLR3_COMMON_TOKEN    MINUS_OPERATOR2303;
    pANTLR3_COMMON_TOKEN    INTEGER2304;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2306;
    MySQLParser_weight_string_level_list_item_return weight_string_level_list_item2305;
    #undef	RETURN_TYPE_weight_string_level_list_item2305
    #define	RETURN_TYPE_weight_string_level_list_item2305 MySQLParser_weight_string_level_list_item_return

    MySQLParser_weight_string_level_list_item_return weight_string_level_list_item2307;
    #undef	RETURN_TYPE_weight_string_level_list_item2307
    #define	RETURN_TYPE_weight_string_level_list_item2307 MySQLParser_weight_string_level_list_item_return

    pANTLR3_BASE_TREE LEVEL_SYMBOL2301_tree;
    pANTLR3_BASE_TREE INTEGER2302_tree;
    pANTLR3_BASE_TREE MINUS_OPERATOR2303_tree;
    pANTLR3_BASE_TREE INTEGER2304_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2306_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LEVEL_SYMBOL2301       = NULL;
    INTEGER2302       = NULL;
    MINUS_OPERATOR2303       = NULL;
    INTEGER2304       = NULL;
    COMMA_SYMBOL2306       = NULL;
    weight_string_level_list_item2305.tree = NULL;

    weight_string_level_list_item2307.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LEVEL_SYMBOL2301_tree   = NULL;
    INTEGER2302_tree   = NULL;
    MINUS_OPERATOR2303_tree   = NULL;
    INTEGER2304_tree   = NULL;
    COMMA_SYMBOL2306_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2137:21: ( LEVEL_SYMBOL ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* ) )
        // MySQL.g:2138:2: LEVEL_SYMBOL ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LEVEL_SYMBOL2301 = (pANTLR3_COMMON_TOKEN) MATCHT(LEVEL_SYMBOL, &FOLLOW_LEVEL_SYMBOL_in_weight_string_levels12112);
            if  (HASEXCEPTION())
            {
                goto ruleweight_string_levelsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LEVEL_SYMBOL2301_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEVEL_SYMBOL2301));
            ADAPTOR->addChild(ADAPTOR, root_0, LEVEL_SYMBOL2301_tree);
            }

            // MySQL.g:2139:3: ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* )
            {
                int alt654=2;
                switch ( LA(1) )
                {
                case INTEGER:
                	{
                		switch ( LA(2) )
                		{
                		case MINUS_OPERATOR:
                			{
                				alt654=1;
                			}
                		    break;
                		case REVERSE_SYMBOL:
                		case ASC_SYMBOL:
                		case CLOSE_PAR_SYMBOL:
                		case COMMA_SYMBOL:
                		case DESC_SYMBOL:
                			{
                				alt654=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 654;
                		    EXCEPTION->state        = 1;


                		    goto ruleweight_string_levelsEx;

                		}

                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 654;
                    EXCEPTION->state        = 0;


                    goto ruleweight_string_levelsEx;

                }

                switch (alt654)
                {
            	case 1:
            	    // MySQL.g:2140:4: INTEGER MINUS_OPERATOR INTEGER
            	    {
            	        INTEGER2302 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_levels12121);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2302_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2302));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2302_tree);
            	        }

            	        MINUS_OPERATOR2303 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUS_OPERATOR, &FOLLOW_MINUS_OPERATOR_in_weight_string_levels12123);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MINUS_OPERATOR2303_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUS_OPERATOR2303));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MINUS_OPERATOR2303_tree);
            	        }

            	        INTEGER2304 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_levels12125);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2304_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2304));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2304_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2141:6: weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )*
            	    {
            	        FOLLOWPUSH(FOLLOW_weight_string_level_list_item_in_weight_string_levels12132);
            	        weight_string_level_list_item2305=weight_string_level_list_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, weight_string_level_list_item2305.tree);

            	        // MySQL.g:2141:36: ( COMMA_SYMBOL weight_string_level_list_item )*

            	        for (;;)
            	        {
            	            int alt653=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt653=1;
            	            	}
            	                break;

            	            }

            	            switch (alt653)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2141:37: COMMA_SYMBOL weight_string_level_list_item
            	        	    {
            	        	        COMMA_SYMBOL2306 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_weight_string_levels12135);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_levelsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2306));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2306_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_weight_string_level_list_item_in_weight_string_levels12137);
            	        	        weight_string_level_list_item2307=weight_string_level_list_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_levelsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, weight_string_level_list_item2307.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop653;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop653: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleweight_string_levelsEx; /* Prevent compiler warnings */
    ruleweight_string_levelsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end weight_string_levels */

/**
 * $ANTLR start weight_string_level_list_item
 * MySQL.g:2145:1: weight_string_level_list_item : INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )? ;
 */
static MySQLParser_weight_string_level_list_item_return
weight_string_level_list_item(pMySQLParser ctx)
{
    MySQLParser_weight_string_level_list_item_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTEGER2308;
    pANTLR3_COMMON_TOKEN    set2309;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2310;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2311;

    pANTLR3_BASE_TREE INTEGER2308_tree;
    pANTLR3_BASE_TREE set2309_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2310_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2311_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2308       = NULL;
    set2309       = NULL;
    REVERSE_SYMBOL2310       = NULL;
    REVERSE_SYMBOL2311       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2308_tree   = NULL;
    set2309_tree   = NULL;
    REVERSE_SYMBOL2310_tree   = NULL;
    REVERSE_SYMBOL2311_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2145:30: ( INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )? )
        // MySQL.g:2146:2: INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTEGER2308 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_level_list_item12152);
            if  (HASEXCEPTION())
            {
                goto ruleweight_string_level_list_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2308_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2308));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2308_tree);
            }

            // MySQL.g:2147:3: ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )?
            {
                int alt656=3;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt656=1;
                    	}
                        break;
                    case REVERSE_SYMBOL:
                    	{
                    		alt656=2;
                    	}
                        break;
                }

                switch (alt656)
                {
            	case 1:
            	    // MySQL.g:2148:4: ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )?
            	    {
            	        set2309=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == ASC_SYMBOL || LA(1) == DESC_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2309))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleweight_string_level_list_itemEx;
            	        }


            	        // MySQL.g:2148:31: ( REVERSE_SYMBOL )?
            	        {
            	            int alt655=2;
            	            switch ( LA(1) )
            	            {
            	                case REVERSE_SYMBOL:
            	                	{
            	                		alt655=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt655)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2148:31: REVERSE_SYMBOL
            	        	    {
            	        	        REVERSE_SYMBOL2310 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12169);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_level_list_itemEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        REVERSE_SYMBOL2310_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2310));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2310_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2149:6: REVERSE_SYMBOL
            	    {
            	        REVERSE_SYMBOL2311 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item12177);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_level_list_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        REVERSE_SYMBOL2311_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2311));
            	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2311_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleweight_string_level_list_itemEx; /* Prevent compiler warnings */
    ruleweight_string_level_list_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end weight_string_level_list_item */

/**
 * $ANTLR start date_time_type
 * MySQL.g:2153:1: date_time_type : ( DATE_SYMBOL | TIME_SYMBOL | DATETIME_SYMBOL | TIMESTAMP_SYMBOL );
 */
static MySQLParser_date_time_type_return
date_time_type(pMySQLParser ctx)
{
    MySQLParser_date_time_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2312;

    pANTLR3_BASE_TREE set2312_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2312       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2312_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2153:15: ( DATE_SYMBOL | TIME_SYMBOL | DATETIME_SYMBOL | TIMESTAMP_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2312=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= DATETIME_SYMBOL) && (LA(1) <= DATE_SYMBOL)) || LA(1) == TIMESTAMP_SYMBOL || LA(1) == TIME_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2312))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruledate_time_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruledate_time_typeEx; /* Prevent compiler warnings */
    ruledate_time_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end date_time_type */

/**
 * $ANTLR start trim_function
 * MySQL.g:2160:1: trim_function : TRIM_SYMBOL OPEN_PAR_SYMBOL ( expression ( FROM_SYMBOL expression )? | LEADING_SYMBOL ( expression )? FROM_SYMBOL expression | TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression | BOTH_SYMBOL ( expression )? FROM_SYMBOL expression ) CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_trim_function_return
trim_function(pMySQLParser ctx)
{
    MySQLParser_trim_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TRIM_SYMBOL2313;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2314;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2316;
    pANTLR3_COMMON_TOKEN    LEADING_SYMBOL2318;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2320;
    pANTLR3_COMMON_TOKEN    TRAILING_SYMBOL2322;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2324;
    pANTLR3_COMMON_TOKEN    BOTH_SYMBOL2326;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2328;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2330;
    MySQLParser_expression_return expression2315;
    #undef	RETURN_TYPE_expression2315
    #define	RETURN_TYPE_expression2315 MySQLParser_expression_return

    MySQLParser_expression_return expression2317;
    #undef	RETURN_TYPE_expression2317
    #define	RETURN_TYPE_expression2317 MySQLParser_expression_return

    MySQLParser_expression_return expression2319;
    #undef	RETURN_TYPE_expression2319
    #define	RETURN_TYPE_expression2319 MySQLParser_expression_return

    MySQLParser_expression_return expression2321;
    #undef	RETURN_TYPE_expression2321
    #define	RETURN_TYPE_expression2321 MySQLParser_expression_return

    MySQLParser_expression_return expression2323;
    #undef	RETURN_TYPE_expression2323
    #define	RETURN_TYPE_expression2323 MySQLParser_expression_return

    MySQLParser_expression_return expression2325;
    #undef	RETURN_TYPE_expression2325
    #define	RETURN_TYPE_expression2325 MySQLParser_expression_return

    MySQLParser_expression_return expression2327;
    #undef	RETURN_TYPE_expression2327
    #define	RETURN_TYPE_expression2327 MySQLParser_expression_return

    MySQLParser_expression_return expression2329;
    #undef	RETURN_TYPE_expression2329
    #define	RETURN_TYPE_expression2329 MySQLParser_expression_return

    pANTLR3_BASE_TREE TRIM_SYMBOL2313_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2314_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2316_tree;
    pANTLR3_BASE_TREE LEADING_SYMBOL2318_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2320_tree;
    pANTLR3_BASE_TREE TRAILING_SYMBOL2322_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2324_tree;
    pANTLR3_BASE_TREE BOTH_SYMBOL2326_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2328_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2330_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRIM_SYMBOL2313       = NULL;
    OPEN_PAR_SYMBOL2314       = NULL;
    FROM_SYMBOL2316       = NULL;
    LEADING_SYMBOL2318       = NULL;
    FROM_SYMBOL2320       = NULL;
    TRAILING_SYMBOL2322       = NULL;
    FROM_SYMBOL2324       = NULL;
    BOTH_SYMBOL2326       = NULL;
    FROM_SYMBOL2328       = NULL;
    CLOSE_PAR_SYMBOL2330       = NULL;
    expression2315.tree = NULL;

    expression2317.tree = NULL;

    expression2319.tree = NULL;

    expression2321.tree = NULL;

    expression2323.tree = NULL;

    expression2325.tree = NULL;

    expression2327.tree = NULL;

    expression2329.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TRIM_SYMBOL2313_tree   = NULL;
    OPEN_PAR_SYMBOL2314_tree   = NULL;
    FROM_SYMBOL2316_tree   = NULL;
    LEADING_SYMBOL2318_tree   = NULL;
    FROM_SYMBOL2320_tree   = NULL;
    TRAILING_SYMBOL2322_tree   = NULL;
    FROM_SYMBOL2324_tree   = NULL;
    BOTH_SYMBOL2326_tree   = NULL;
    FROM_SYMBOL2328_tree   = NULL;
    CLOSE_PAR_SYMBOL2330_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2160:14: ( TRIM_SYMBOL OPEN_PAR_SYMBOL ( expression ( FROM_SYMBOL expression )? | LEADING_SYMBOL ( expression )? FROM_SYMBOL expression | TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression | BOTH_SYMBOL ( expression )? FROM_SYMBOL expression ) CLOSE_PAR_SYMBOL )
        // MySQL.g:2161:2: TRIM_SYMBOL OPEN_PAR_SYMBOL ( expression ( FROM_SYMBOL expression )? | LEADING_SYMBOL ( expression )? FROM_SYMBOL expression | TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression | BOTH_SYMBOL ( expression )? FROM_SYMBOL expression ) CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TRIM_SYMBOL2313 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIM_SYMBOL, &FOLLOW_TRIM_SYMBOL_in_trim_function12215);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TRIM_SYMBOL2313_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIM_SYMBOL2313));
            ADAPTOR->addChild(ADAPTOR, root_0, TRIM_SYMBOL2313_tree);
            }

            OPEN_PAR_SYMBOL2314 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_trim_function12217);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2314_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2314));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2314_tree);
            }

            // MySQL.g:2162:2: ( expression ( FROM_SYMBOL expression )? | LEADING_SYMBOL ( expression )? FROM_SYMBOL expression | TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression | BOTH_SYMBOL ( expression )? FROM_SYMBOL expression )
            {
                int alt661=4;
                {
                    int LA661_0 = LA(1);
                    if ( (LA661_0 == BITWISE_NOT_OPERATOR || LA661_0 == INTERVAL_SYMBOL || LA661_0 == LOGICAL_NOT_OPERATOR || LA661_0 == MINUS_OPERATOR || LA661_0 == NCHAR_TEXT || LA661_0 == NOT2_SYMBOL || LA661_0 == NOT_SYMBOL || LA661_0 == PLUS_OPERATOR || LA661_0 == SINGLE_QUOTED_TEXT || LA661_0 == UNDERSCORE_CHARSET))
                    {
                        alt661=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA661_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt661=1;
                    }
                    else if ( (LA661_0 == FALSE_SYMBOL || LA661_0 == FLOAT || ((LA661_0 >= HEXNUMBER) && (LA661_0 <= HEXSTRING)) || LA661_0 == INTEGER || LA661_0 == TRUE_SYMBOL))
                    {
                        alt661=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA661_0 >= BITNUMBER) && (LA661_0 <= BITSTRING))))
                    {
                        alt661=1;
                    }
                    else if ( (((LA661_0 >= ASCII_SYMBOL) && (LA661_0 <= YEAR_SYMBOL)) || ((LA661_0 >= AT_AT_SIGN_SYMBOL) && (LA661_0 <= AT_TEXT_SUFFIX)) || LA661_0 == BACK_TICK_QUOTED_ID || LA661_0 == BINARY_SYMBOL || ((LA661_0 >= BIT_AND_SYMBOL) && (LA661_0 <= BIT_XOR_SYMBOL)) || ((LA661_0 >= CASE_SYMBOL) && (LA661_0 <= CAST_SYMBOL)) || LA661_0 == CHAR_SYMBOL || ((LA661_0 >= CONVERT_SYMBOL) && (LA661_0 <= COUNT_SYMBOL)) || LA661_0 == CURDATE_SYMBOL || LA661_0 == CURRENT_USER_SYMBOL || LA661_0 == CURTIME_SYMBOL || LA661_0 == DATABASE_SYMBOL || LA661_0 == DATE_ADD_SYMBOL || LA661_0 == DATE_SUB_SYMBOL || LA661_0 == EXISTS_SYMBOL || LA661_0 == EXTRACT_SYMBOL || LA661_0 == GROUP_CONCAT_SYMBOL || ((LA661_0 >= IDENTIFIER) && (LA661_0 <= IF_SYMBOL)) || LA661_0 == INSERT_SYMBOL || LA661_0 == LEFT_SYMBOL || LA661_0 == MATCH_SYMBOL || LA661_0 == MAX_SYMBOL || LA661_0 == MIN_SYMBOL || LA661_0 == MOD_SYMBOL || LA661_0 == NOW_SYMBOL || LA661_0 == NULL2_SYMBOL || LA661_0 == NULL_SYMBOL || ((LA661_0 >= OPEN_CURLY_SYMBOL) && (LA661_0 <= OPEN_PAR_SYMBOL)) || LA661_0 == PARAM_MARKER || LA661_0 == POSITION_SYMBOL || ((LA661_0 >= REPEAT_SYMBOL) && (LA661_0 <= REPLACE_SYMBOL)) || LA661_0 == RIGHT_SYMBOL || LA661_0 == STDDEV_SAMP_SYMBOL || LA661_0 == STD_SYMBOL || LA661_0 == SUBSTRING_SYMBOL || ((LA661_0 >= SUM_SYMBOL) && (LA661_0 <= SYSDATE_SYMBOL)) || LA661_0 == TRIM_SYMBOL || ((LA661_0 >= UTC_DATE_SYMBOL) && (LA661_0 <= UTC_TIME_SYMBOL)) || LA661_0 == VALUES_SYMBOL || LA661_0 == VARIANCE_SYMBOL || LA661_0 == VAR_SAMP_SYMBOL))
                    {
                        alt661=1;
                    }
                    else if ( (LA661_0 == LEADING_SYMBOL))
                    {
                        alt661=2;
                    }
                    else if ( (LA661_0 == TRAILING_SYMBOL))
                    {
                        alt661=3;
                    }
                    else if ( (LA661_0 == BOTH_SYMBOL))
                    {
                        alt661=4;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 661;
                        EXCEPTION->state        = 0;


                        goto ruletrim_functionEx;

                    }
                }
                switch (alt661)
                {
            	case 1:
            	    // MySQL.g:2163:3: expression ( FROM_SYMBOL expression )?
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12224);
            	        expression2315=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2315.tree);

            	        // MySQL.g:2163:14: ( FROM_SYMBOL expression )?
            	        {
            	            int alt657=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		alt657=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt657)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2163:15: FROM_SYMBOL expression
            	        	    {
            	        	        FROM_SYMBOL2316 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function12227);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FROM_SYMBOL2316_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2316));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2316_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12229);
            	        	        expression2317=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2317.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2164:5: LEADING_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        LEADING_SYMBOL2318 = (pANTLR3_COMMON_TOKEN) MATCHT(LEADING_SYMBOL, &FOLLOW_LEADING_SYMBOL_in_trim_function12237);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LEADING_SYMBOL2318_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEADING_SYMBOL2318));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LEADING_SYMBOL2318_tree);
            	        }

            	        // MySQL.g:2164:20: ( expression )?
            	        {
            	            int alt658=2;
            	            {
            	                int LA658_0 = LA(1);
            	                if ( (LA658_0 == BITWISE_NOT_OPERATOR || LA658_0 == INTERVAL_SYMBOL || LA658_0 == LOGICAL_NOT_OPERATOR || LA658_0 == MINUS_OPERATOR || LA658_0 == NCHAR_TEXT || LA658_0 == NOT2_SYMBOL || LA658_0 == NOT_SYMBOL || LA658_0 == PLUS_OPERATOR || LA658_0 == SINGLE_QUOTED_TEXT || LA658_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt658=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA658_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt658=1;
            	                }
            	                else if ( (LA658_0 == FALSE_SYMBOL || LA658_0 == FLOAT || ((LA658_0 >= HEXNUMBER) && (LA658_0 <= HEXSTRING)) || LA658_0 == INTEGER || LA658_0 == TRUE_SYMBOL))
            	                {
            	                    alt658=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA658_0 >= BITNUMBER) && (LA658_0 <= BITSTRING))))
            	                {
            	                    alt658=1;
            	                }
            	                else if ( (((LA658_0 >= ASCII_SYMBOL) && (LA658_0 <= YEAR_SYMBOL)) || ((LA658_0 >= AT_AT_SIGN_SYMBOL) && (LA658_0 <= AT_TEXT_SUFFIX)) || LA658_0 == BACK_TICK_QUOTED_ID || LA658_0 == BINARY_SYMBOL || ((LA658_0 >= BIT_AND_SYMBOL) && (LA658_0 <= BIT_XOR_SYMBOL)) || ((LA658_0 >= CASE_SYMBOL) && (LA658_0 <= CAST_SYMBOL)) || LA658_0 == CHAR_SYMBOL || ((LA658_0 >= CONVERT_SYMBOL) && (LA658_0 <= COUNT_SYMBOL)) || LA658_0 == CURDATE_SYMBOL || LA658_0 == CURRENT_USER_SYMBOL || LA658_0 == CURTIME_SYMBOL || LA658_0 == DATABASE_SYMBOL || LA658_0 == DATE_ADD_SYMBOL || LA658_0 == DATE_SUB_SYMBOL || LA658_0 == EXISTS_SYMBOL || LA658_0 == EXTRACT_SYMBOL || LA658_0 == GROUP_CONCAT_SYMBOL || ((LA658_0 >= IDENTIFIER) && (LA658_0 <= IF_SYMBOL)) || LA658_0 == INSERT_SYMBOL || LA658_0 == LEFT_SYMBOL || LA658_0 == MATCH_SYMBOL || LA658_0 == MAX_SYMBOL || LA658_0 == MIN_SYMBOL || LA658_0 == MOD_SYMBOL || LA658_0 == NOW_SYMBOL || LA658_0 == NULL2_SYMBOL || LA658_0 == NULL_SYMBOL || ((LA658_0 >= OPEN_CURLY_SYMBOL) && (LA658_0 <= OPEN_PAR_SYMBOL)) || LA658_0 == PARAM_MARKER || LA658_0 == POSITION_SYMBOL || ((LA658_0 >= REPEAT_SYMBOL) && (LA658_0 <= REPLACE_SYMBOL)) || LA658_0 == RIGHT_SYMBOL || LA658_0 == STDDEV_SAMP_SYMBOL || LA658_0 == STD_SYMBOL || LA658_0 == SUBSTRING_SYMBOL || ((LA658_0 >= SUM_SYMBOL) && (LA658_0 <= SYSDATE_SYMBOL)) || LA658_0 == TRIM_SYMBOL || ((LA658_0 >= UTC_DATE_SYMBOL) && (LA658_0 <= UTC_TIME_SYMBOL)) || LA658_0 == VALUES_SYMBOL || LA658_0 == VARIANCE_SYMBOL || LA658_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt658=1;
            	                }
            	            }
            	            switch (alt658)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2164:20: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12239);
            	        	        expression2319=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2319.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2320 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function12242);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2320_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2320));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2320_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12244);
            	        expression2321=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2321.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2165:5: TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        TRAILING_SYMBOL2322 = (pANTLR3_COMMON_TOKEN) MATCHT(TRAILING_SYMBOL, &FOLLOW_TRAILING_SYMBOL_in_trim_function12250);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRAILING_SYMBOL2322_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRAILING_SYMBOL2322));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRAILING_SYMBOL2322_tree);
            	        }

            	        // MySQL.g:2165:21: ( expression )?
            	        {
            	            int alt659=2;
            	            {
            	                int LA659_0 = LA(1);
            	                if ( (LA659_0 == BITWISE_NOT_OPERATOR || LA659_0 == INTERVAL_SYMBOL || LA659_0 == LOGICAL_NOT_OPERATOR || LA659_0 == MINUS_OPERATOR || LA659_0 == NCHAR_TEXT || LA659_0 == NOT2_SYMBOL || LA659_0 == NOT_SYMBOL || LA659_0 == PLUS_OPERATOR || LA659_0 == SINGLE_QUOTED_TEXT || LA659_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt659=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA659_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt659=1;
            	                }
            	                else if ( (LA659_0 == FALSE_SYMBOL || LA659_0 == FLOAT || ((LA659_0 >= HEXNUMBER) && (LA659_0 <= HEXSTRING)) || LA659_0 == INTEGER || LA659_0 == TRUE_SYMBOL))
            	                {
            	                    alt659=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA659_0 >= BITNUMBER) && (LA659_0 <= BITSTRING))))
            	                {
            	                    alt659=1;
            	                }
            	                else if ( (((LA659_0 >= ASCII_SYMBOL) && (LA659_0 <= YEAR_SYMBOL)) || ((LA659_0 >= AT_AT_SIGN_SYMBOL) && (LA659_0 <= AT_TEXT_SUFFIX)) || LA659_0 == BACK_TICK_QUOTED_ID || LA659_0 == BINARY_SYMBOL || ((LA659_0 >= BIT_AND_SYMBOL) && (LA659_0 <= BIT_XOR_SYMBOL)) || ((LA659_0 >= CASE_SYMBOL) && (LA659_0 <= CAST_SYMBOL)) || LA659_0 == CHAR_SYMBOL || ((LA659_0 >= CONVERT_SYMBOL) && (LA659_0 <= COUNT_SYMBOL)) || LA659_0 == CURDATE_SYMBOL || LA659_0 == CURRENT_USER_SYMBOL || LA659_0 == CURTIME_SYMBOL || LA659_0 == DATABASE_SYMBOL || LA659_0 == DATE_ADD_SYMBOL || LA659_0 == DATE_SUB_SYMBOL || LA659_0 == EXISTS_SYMBOL || LA659_0 == EXTRACT_SYMBOL || LA659_0 == GROUP_CONCAT_SYMBOL || ((LA659_0 >= IDENTIFIER) && (LA659_0 <= IF_SYMBOL)) || LA659_0 == INSERT_SYMBOL || LA659_0 == LEFT_SYMBOL || LA659_0 == MATCH_SYMBOL || LA659_0 == MAX_SYMBOL || LA659_0 == MIN_SYMBOL || LA659_0 == MOD_SYMBOL || LA659_0 == NOW_SYMBOL || LA659_0 == NULL2_SYMBOL || LA659_0 == NULL_SYMBOL || ((LA659_0 >= OPEN_CURLY_SYMBOL) && (LA659_0 <= OPEN_PAR_SYMBOL)) || LA659_0 == PARAM_MARKER || LA659_0 == POSITION_SYMBOL || ((LA659_0 >= REPEAT_SYMBOL) && (LA659_0 <= REPLACE_SYMBOL)) || LA659_0 == RIGHT_SYMBOL || LA659_0 == STDDEV_SAMP_SYMBOL || LA659_0 == STD_SYMBOL || LA659_0 == SUBSTRING_SYMBOL || ((LA659_0 >= SUM_SYMBOL) && (LA659_0 <= SYSDATE_SYMBOL)) || LA659_0 == TRIM_SYMBOL || ((LA659_0 >= UTC_DATE_SYMBOL) && (LA659_0 <= UTC_TIME_SYMBOL)) || LA659_0 == VALUES_SYMBOL || LA659_0 == VARIANCE_SYMBOL || LA659_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt659=1;
            	                }
            	            }
            	            switch (alt659)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2165:21: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12252);
            	        	        expression2323=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2323.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2324 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function12255);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2324_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2324));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2324_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12257);
            	        expression2325=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2325.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:2166:5: BOTH_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        BOTH_SYMBOL2326 = (pANTLR3_COMMON_TOKEN) MATCHT(BOTH_SYMBOL, &FOLLOW_BOTH_SYMBOL_in_trim_function12263);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BOTH_SYMBOL2326_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOTH_SYMBOL2326));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BOTH_SYMBOL2326_tree);
            	        }

            	        // MySQL.g:2166:17: ( expression )?
            	        {
            	            int alt660=2;
            	            {
            	                int LA660_0 = LA(1);
            	                if ( (LA660_0 == BITWISE_NOT_OPERATOR || LA660_0 == INTERVAL_SYMBOL || LA660_0 == LOGICAL_NOT_OPERATOR || LA660_0 == MINUS_OPERATOR || LA660_0 == NCHAR_TEXT || LA660_0 == NOT2_SYMBOL || LA660_0 == NOT_SYMBOL || LA660_0 == PLUS_OPERATOR || LA660_0 == SINGLE_QUOTED_TEXT || LA660_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt660=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA660_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt660=1;
            	                }
            	                else if ( (LA660_0 == FALSE_SYMBOL || LA660_0 == FLOAT || ((LA660_0 >= HEXNUMBER) && (LA660_0 <= HEXSTRING)) || LA660_0 == INTEGER || LA660_0 == TRUE_SYMBOL))
            	                {
            	                    alt660=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA660_0 >= BITNUMBER) && (LA660_0 <= BITSTRING))))
            	                {
            	                    alt660=1;
            	                }
            	                else if ( (((LA660_0 >= ASCII_SYMBOL) && (LA660_0 <= YEAR_SYMBOL)) || ((LA660_0 >= AT_AT_SIGN_SYMBOL) && (LA660_0 <= AT_TEXT_SUFFIX)) || LA660_0 == BACK_TICK_QUOTED_ID || LA660_0 == BINARY_SYMBOL || ((LA660_0 >= BIT_AND_SYMBOL) && (LA660_0 <= BIT_XOR_SYMBOL)) || ((LA660_0 >= CASE_SYMBOL) && (LA660_0 <= CAST_SYMBOL)) || LA660_0 == CHAR_SYMBOL || ((LA660_0 >= CONVERT_SYMBOL) && (LA660_0 <= COUNT_SYMBOL)) || LA660_0 == CURDATE_SYMBOL || LA660_0 == CURRENT_USER_SYMBOL || LA660_0 == CURTIME_SYMBOL || LA660_0 == DATABASE_SYMBOL || LA660_0 == DATE_ADD_SYMBOL || LA660_0 == DATE_SUB_SYMBOL || LA660_0 == EXISTS_SYMBOL || LA660_0 == EXTRACT_SYMBOL || LA660_0 == GROUP_CONCAT_SYMBOL || ((LA660_0 >= IDENTIFIER) && (LA660_0 <= IF_SYMBOL)) || LA660_0 == INSERT_SYMBOL || LA660_0 == LEFT_SYMBOL || LA660_0 == MATCH_SYMBOL || LA660_0 == MAX_SYMBOL || LA660_0 == MIN_SYMBOL || LA660_0 == MOD_SYMBOL || LA660_0 == NOW_SYMBOL || LA660_0 == NULL2_SYMBOL || LA660_0 == NULL_SYMBOL || ((LA660_0 >= OPEN_CURLY_SYMBOL) && (LA660_0 <= OPEN_PAR_SYMBOL)) || LA660_0 == PARAM_MARKER || LA660_0 == POSITION_SYMBOL || ((LA660_0 >= REPEAT_SYMBOL) && (LA660_0 <= REPLACE_SYMBOL)) || LA660_0 == RIGHT_SYMBOL || LA660_0 == STDDEV_SAMP_SYMBOL || LA660_0 == STD_SYMBOL || LA660_0 == SUBSTRING_SYMBOL || ((LA660_0 >= SUM_SYMBOL) && (LA660_0 <= SYSDATE_SYMBOL)) || LA660_0 == TRIM_SYMBOL || ((LA660_0 >= UTC_DATE_SYMBOL) && (LA660_0 <= UTC_TIME_SYMBOL)) || LA660_0 == VALUES_SYMBOL || LA660_0 == VARIANCE_SYMBOL || LA660_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt660=1;
            	                }
            	            }
            	            switch (alt660)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2166:17: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12265);
            	        	        expression2327=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2327.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2328 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function12268);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2328_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2328));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2328_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function12270);
            	        expression2329=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2329.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2330 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function12276);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2330));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2330_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletrim_functionEx; /* Prevent compiler warnings */
    ruletrim_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end trim_function */

/**
 * $ANTLR start substring_function
 * MySQL.g:2171:1: substring_function : SUBSTRING_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? ) CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_substring_function_return
substring_function(pMySQLParser ctx)
{
    MySQLParser_substring_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SUBSTRING_SYMBOL2331;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2332;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2334;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2336;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2338;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2340;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2342;
    MySQLParser_expression_return expression2333;
    #undef	RETURN_TYPE_expression2333
    #define	RETURN_TYPE_expression2333 MySQLParser_expression_return

    MySQLParser_expression_return expression2335;
    #undef	RETURN_TYPE_expression2335
    #define	RETURN_TYPE_expression2335 MySQLParser_expression_return

    MySQLParser_expression_return expression2337;
    #undef	RETURN_TYPE_expression2337
    #define	RETURN_TYPE_expression2337 MySQLParser_expression_return

    MySQLParser_expression_return expression2339;
    #undef	RETURN_TYPE_expression2339
    #define	RETURN_TYPE_expression2339 MySQLParser_expression_return

    MySQLParser_expression_return expression2341;
    #undef	RETURN_TYPE_expression2341
    #define	RETURN_TYPE_expression2341 MySQLParser_expression_return

    pANTLR3_BASE_TREE SUBSTRING_SYMBOL2331_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2332_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2334_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2336_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2338_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2340_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2342_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SUBSTRING_SYMBOL2331       = NULL;
    OPEN_PAR_SYMBOL2332       = NULL;
    COMMA_SYMBOL2334       = NULL;
    COMMA_SYMBOL2336       = NULL;
    FROM_SYMBOL2338       = NULL;
    FOR_SYMBOL2340       = NULL;
    CLOSE_PAR_SYMBOL2342       = NULL;
    expression2333.tree = NULL;

    expression2335.tree = NULL;

    expression2337.tree = NULL;

    expression2339.tree = NULL;

    expression2341.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SUBSTRING_SYMBOL2331_tree   = NULL;
    OPEN_PAR_SYMBOL2332_tree   = NULL;
    COMMA_SYMBOL2334_tree   = NULL;
    COMMA_SYMBOL2336_tree   = NULL;
    FROM_SYMBOL2338_tree   = NULL;
    FOR_SYMBOL2340_tree   = NULL;
    CLOSE_PAR_SYMBOL2342_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2171:19: ( SUBSTRING_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? ) CLOSE_PAR_SYMBOL )
        // MySQL.g:2172:2: SUBSTRING_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? ) CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SUBSTRING_SYMBOL2331 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBSTRING_SYMBOL, &FOLLOW_SUBSTRING_SYMBOL_in_substring_function12285);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SUBSTRING_SYMBOL2331_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBSTRING_SYMBOL2331));
            ADAPTOR->addChild(ADAPTOR, root_0, SUBSTRING_SYMBOL2331_tree);
            }

            OPEN_PAR_SYMBOL2332 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_substring_function12287);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2332_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2332));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2332_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_substring_function12289);
            expression2333=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2333.tree);

            // MySQL.g:2173:2: ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? )
            {
                int alt664=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt664=1;
                	}
                    break;
                case FROM_SYMBOL:
                	{
                		alt664=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 664;
                    EXCEPTION->state        = 0;


                    goto rulesubstring_functionEx;

                }

                switch (alt664)
                {
            	case 1:
            	    // MySQL.g:2174:3: COMMA_SYMBOL expression ( COMMA_SYMBOL expression )?
            	    {
            	        COMMA_SYMBOL2334 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_substring_function12296);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2334_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2334));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2334_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_substring_function12298);
            	        expression2335=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2335.tree);

            	        // MySQL.g:2174:27: ( COMMA_SYMBOL expression )?
            	        {
            	            int alt662=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt662=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt662)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2174:28: COMMA_SYMBOL expression
            	        	    {
            	        	        COMMA_SYMBOL2336 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_substring_function12301);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2336_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2336));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2336_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_substring_function12303);
            	        	        expression2337=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2337.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2175:5: FROM_SYMBOL expression ( FOR_SYMBOL expression )?
            	    {
            	        FROM_SYMBOL2338 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_substring_function12311);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2338_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2338));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2338_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_substring_function12313);
            	        expression2339=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2339.tree);

            	        // MySQL.g:2175:28: ( FOR_SYMBOL expression )?
            	        {
            	            int alt663=2;
            	            switch ( LA(1) )
            	            {
            	                case FOR_SYMBOL:
            	                	{
            	                		alt663=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt663)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2175:29: FOR_SYMBOL expression
            	        	    {
            	        	        FOR_SYMBOL2340 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_substring_function12316);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FOR_SYMBOL2340_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2340));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2340_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_substring_function12318);
            	        	        expression2341=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2341.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2342 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function12326);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2342_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2342));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2342_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulesubstring_functionEx; /* Prevent compiler warnings */
    rulesubstring_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end substring_function */

/**
 * $ANTLR start geometry_function
 * MySQL.g:2180:1: geometry_function : ( CONTAINS_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | GEOMETRYCOLLECTION_SYMBOL expression_list_with_parentheses | LINESTRING_SYMBOL expression_list_with_parentheses | MULTILINESTRING_SYMBOL expression_list_with_parentheses | MULTIPOINT_SYMBOL expression_list_with_parentheses | MULTIPOLYGON_SYMBOL expression_list_with_parentheses | POINT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | POLYGON_SYMBOL expression_list_with_parentheses );
 */
static MySQLParser_geometry_function_return
geometry_function(pMySQLParser ctx)
{
    MySQLParser_geometry_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CONTAINS_SYMBOL2343;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2344;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2346;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2348;
    pANTLR3_COMMON_TOKEN    GEOMETRYCOLLECTION_SYMBOL2349;
    pANTLR3_COMMON_TOKEN    LINESTRING_SYMBOL2351;
    pANTLR3_COMMON_TOKEN    MULTILINESTRING_SYMBOL2353;
    pANTLR3_COMMON_TOKEN    MULTIPOINT_SYMBOL2355;
    pANTLR3_COMMON_TOKEN    MULTIPOLYGON_SYMBOL2357;
    pANTLR3_COMMON_TOKEN    POINT_SYMBOL2359;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2360;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2362;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2364;
    pANTLR3_COMMON_TOKEN    POLYGON_SYMBOL2365;
    MySQLParser_expression_return expression2345;
    #undef	RETURN_TYPE_expression2345
    #define	RETURN_TYPE_expression2345 MySQLParser_expression_return

    MySQLParser_expression_return expression2347;
    #undef	RETURN_TYPE_expression2347
    #define	RETURN_TYPE_expression2347 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2350;
    #undef	RETURN_TYPE_expression_list_with_parentheses2350
    #define	RETURN_TYPE_expression_list_with_parentheses2350 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2352;
    #undef	RETURN_TYPE_expression_list_with_parentheses2352
    #define	RETURN_TYPE_expression_list_with_parentheses2352 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2354;
    #undef	RETURN_TYPE_expression_list_with_parentheses2354
    #define	RETURN_TYPE_expression_list_with_parentheses2354 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2356;
    #undef	RETURN_TYPE_expression_list_with_parentheses2356
    #define	RETURN_TYPE_expression_list_with_parentheses2356 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2358;
    #undef	RETURN_TYPE_expression_list_with_parentheses2358
    #define	RETURN_TYPE_expression_list_with_parentheses2358 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression2361;
    #undef	RETURN_TYPE_expression2361
    #define	RETURN_TYPE_expression2361 MySQLParser_expression_return

    MySQLParser_expression_return expression2363;
    #undef	RETURN_TYPE_expression2363
    #define	RETURN_TYPE_expression2363 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2366;
    #undef	RETURN_TYPE_expression_list_with_parentheses2366
    #define	RETURN_TYPE_expression_list_with_parentheses2366 MySQLParser_expression_list_with_parentheses_return

    pANTLR3_BASE_TREE CONTAINS_SYMBOL2343_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2344_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2346_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2348_tree;
    pANTLR3_BASE_TREE GEOMETRYCOLLECTION_SYMBOL2349_tree;
    pANTLR3_BASE_TREE LINESTRING_SYMBOL2351_tree;
    pANTLR3_BASE_TREE MULTILINESTRING_SYMBOL2353_tree;
    pANTLR3_BASE_TREE MULTIPOINT_SYMBOL2355_tree;
    pANTLR3_BASE_TREE MULTIPOLYGON_SYMBOL2357_tree;
    pANTLR3_BASE_TREE POINT_SYMBOL2359_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2360_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2362_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2364_tree;
    pANTLR3_BASE_TREE POLYGON_SYMBOL2365_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONTAINS_SYMBOL2343       = NULL;
    OPEN_PAR_SYMBOL2344       = NULL;
    COMMA_SYMBOL2346       = NULL;
    CLOSE_PAR_SYMBOL2348       = NULL;
    GEOMETRYCOLLECTION_SYMBOL2349       = NULL;
    LINESTRING_SYMBOL2351       = NULL;
    MULTILINESTRING_SYMBOL2353       = NULL;
    MULTIPOINT_SYMBOL2355       = NULL;
    MULTIPOLYGON_SYMBOL2357       = NULL;
    POINT_SYMBOL2359       = NULL;
    OPEN_PAR_SYMBOL2360       = NULL;
    COMMA_SYMBOL2362       = NULL;
    CLOSE_PAR_SYMBOL2364       = NULL;
    POLYGON_SYMBOL2365       = NULL;
    expression2345.tree = NULL;

    expression2347.tree = NULL;

    expression_list_with_parentheses2350.tree = NULL;

    expression_list_with_parentheses2352.tree = NULL;

    expression_list_with_parentheses2354.tree = NULL;

    expression_list_with_parentheses2356.tree = NULL;

    expression_list_with_parentheses2358.tree = NULL;

    expression2361.tree = NULL;

    expression2363.tree = NULL;

    expression_list_with_parentheses2366.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONTAINS_SYMBOL2343_tree   = NULL;
    OPEN_PAR_SYMBOL2344_tree   = NULL;
    COMMA_SYMBOL2346_tree   = NULL;
    CLOSE_PAR_SYMBOL2348_tree   = NULL;
    GEOMETRYCOLLECTION_SYMBOL2349_tree   = NULL;
    LINESTRING_SYMBOL2351_tree   = NULL;
    MULTILINESTRING_SYMBOL2353_tree   = NULL;
    MULTIPOINT_SYMBOL2355_tree   = NULL;
    MULTIPOLYGON_SYMBOL2357_tree   = NULL;
    POINT_SYMBOL2359_tree   = NULL;
    OPEN_PAR_SYMBOL2360_tree   = NULL;
    COMMA_SYMBOL2362_tree   = NULL;
    CLOSE_PAR_SYMBOL2364_tree   = NULL;
    POLYGON_SYMBOL2365_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2180:18: ( CONTAINS_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | GEOMETRYCOLLECTION_SYMBOL expression_list_with_parentheses | LINESTRING_SYMBOL expression_list_with_parentheses | MULTILINESTRING_SYMBOL expression_list_with_parentheses | MULTIPOINT_SYMBOL expression_list_with_parentheses | MULTIPOLYGON_SYMBOL expression_list_with_parentheses | POINT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL | POLYGON_SYMBOL expression_list_with_parentheses )

            ANTLR3_UINT32 alt665;

            alt665=8;

            switch ( LA(1) )
            {
            case CONTAINS_SYMBOL:
            	{
            		alt665=1;
            	}
                break;
            case GEOMETRYCOLLECTION_SYMBOL:
            	{
            		alt665=2;
            	}
                break;
            case LINESTRING_SYMBOL:
            	{
            		alt665=3;
            	}
                break;
            case MULTILINESTRING_SYMBOL:
            	{
            		alt665=4;
            	}
                break;
            case MULTIPOINT_SYMBOL:
            	{
            		alt665=5;
            	}
                break;
            case MULTIPOLYGON_SYMBOL:
            	{
            		alt665=6;
            	}
                break;
            case POINT_SYMBOL:
            	{
            		alt665=7;
            	}
                break;
            case POLYGON_SYMBOL:
            	{
            		alt665=8;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 665;
                EXCEPTION->state        = 0;


                goto rulegeometry_functionEx;

            }

            switch (alt665)
            {
        	case 1:
        	    // MySQL.g:2181:2: CONTAINS_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONTAINS_SYMBOL2343 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTAINS_SYMBOL, &FOLLOW_CONTAINS_SYMBOL_in_geometry_function12336);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONTAINS_SYMBOL2343_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTAINS_SYMBOL2343));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONTAINS_SYMBOL2343_tree);
        	        }

        	        OPEN_PAR_SYMBOL2344 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12338);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2344_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2344));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2344_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function12340);
        	        expression2345=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2345.tree);

        	        COMMA_SYMBOL2346 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_geometry_function12342);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2346_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2346));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2346_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function12344);
        	        expression2347=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2347.tree);

        	        CLOSE_PAR_SYMBOL2348 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12346);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2348_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2348));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2348_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2182:4: GEOMETRYCOLLECTION_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GEOMETRYCOLLECTION_SYMBOL2349 = (pANTLR3_COMMON_TOKEN) MATCHT(GEOMETRYCOLLECTION_SYMBOL, &FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function12351);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GEOMETRYCOLLECTION_SYMBOL2349_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GEOMETRYCOLLECTION_SYMBOL2349));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GEOMETRYCOLLECTION_SYMBOL2349_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function12353);
        	        expression_list_with_parentheses2350=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2350.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2183:4: LINESTRING_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LINESTRING_SYMBOL2351 = (pANTLR3_COMMON_TOKEN) MATCHT(LINESTRING_SYMBOL, &FOLLOW_LINESTRING_SYMBOL_in_geometry_function12358);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LINESTRING_SYMBOL2351_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINESTRING_SYMBOL2351));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LINESTRING_SYMBOL2351_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function12360);
        	        expression_list_with_parentheses2352=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2352.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2184:4: MULTILINESTRING_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTILINESTRING_SYMBOL2353 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTILINESTRING_SYMBOL, &FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function12365);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTILINESTRING_SYMBOL2353_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTILINESTRING_SYMBOL2353));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTILINESTRING_SYMBOL2353_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function12367);
        	        expression_list_with_parentheses2354=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2354.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2185:4: MULTIPOINT_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTIPOINT_SYMBOL2355 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTIPOINT_SYMBOL, &FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function12372);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTIPOINT_SYMBOL2355_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTIPOINT_SYMBOL2355));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTIPOINT_SYMBOL2355_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function12374);
        	        expression_list_with_parentheses2356=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2356.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2186:4: MULTIPOLYGON_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTIPOLYGON_SYMBOL2357 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTIPOLYGON_SYMBOL, &FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function12379);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTIPOLYGON_SYMBOL2357_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTIPOLYGON_SYMBOL2357));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTIPOLYGON_SYMBOL2357_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function12381);
        	        expression_list_with_parentheses2358=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2358.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2187:4: POINT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POINT_SYMBOL2359 = (pANTLR3_COMMON_TOKEN) MATCHT(POINT_SYMBOL, &FOLLOW_POINT_SYMBOL_in_geometry_function12386);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POINT_SYMBOL2359_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POINT_SYMBOL2359));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POINT_SYMBOL2359_tree);
        	        }

        	        OPEN_PAR_SYMBOL2360 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function12388);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2360_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2360));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2360_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function12390);
        	        expression2361=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2361.tree);

        	        COMMA_SYMBOL2362 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_geometry_function12392);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2362_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2362));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2362_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function12394);
        	        expression2363=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2363.tree);

        	        CLOSE_PAR_SYMBOL2364 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function12396);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2364_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2364));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2364_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2188:4: POLYGON_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POLYGON_SYMBOL2365 = (pANTLR3_COMMON_TOKEN) MATCHT(POLYGON_SYMBOL, &FOLLOW_POLYGON_SYMBOL_in_geometry_function12401);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POLYGON_SYMBOL2365_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POLYGON_SYMBOL2365));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POLYGON_SYMBOL2365_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function12403);
        	        expression_list_with_parentheses2366=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses2366.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulegeometry_functionEx; /* Prevent compiler warnings */
    rulegeometry_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end geometry_function */

/**
 * $ANTLR start aggregate_function
 * MySQL.g:2191:1: aggregate_function : ( AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | BIT_AND_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | BIT_OR_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | BIT_XOR_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | count_function | MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | STD_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | VARIANCE_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | GROUP_CONCAT_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression_list ( order_by_clause )? ( SEPARATOR_SYMBOL text_string )? CLOSE_PAR_SYMBOL );
 */
static MySQLParser_aggregate_function_return
aggregate_function(pMySQLParser ctx)
{
    MySQLParser_aggregate_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AVG_SYMBOL2367;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2368;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2369;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2371;
    pANTLR3_COMMON_TOKEN    BIT_AND_SYMBOL2372;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2373;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2375;
    pANTLR3_COMMON_TOKEN    BIT_OR_SYMBOL2376;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2377;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2379;
    pANTLR3_COMMON_TOKEN    BIT_XOR_SYMBOL2380;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2381;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2383;
    pANTLR3_COMMON_TOKEN    MIN_SYMBOL2385;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2386;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2387;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2389;
    pANTLR3_COMMON_TOKEN    MAX_SYMBOL2390;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2391;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2392;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2394;
    pANTLR3_COMMON_TOKEN    STD_SYMBOL2395;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2396;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2398;
    pANTLR3_COMMON_TOKEN    VARIANCE_SYMBOL2399;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2400;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2402;
    pANTLR3_COMMON_TOKEN    STDDEV_SAMP_SYMBOL2403;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2404;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2406;
    pANTLR3_COMMON_TOKEN    VAR_SAMP_SYMBOL2407;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2408;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2410;
    pANTLR3_COMMON_TOKEN    SUM_SYMBOL2411;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2412;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2413;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2415;
    pANTLR3_COMMON_TOKEN    GROUP_CONCAT_SYMBOL2416;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2417;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2418;
    pANTLR3_COMMON_TOKEN    SEPARATOR_SYMBOL2421;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2423;
    MySQLParser_in_aggregate_expression_return in_aggregate_expression2370;
    #undef	RETURN_TYPE_in_aggregate_expression2370
    #define	RETURN_TYPE_in_aggregate_expression2370 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2374;
    #undef	RETURN_TYPE_in_aggregate_expression2374
    #define	RETURN_TYPE_in_aggregate_expression2374 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2378;
    #undef	RETURN_TYPE_in_aggregate_expression2378
    #define	RETURN_TYPE_in_aggregate_expression2378 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2382;
    #undef	RETURN_TYPE_in_aggregate_expression2382
    #define	RETURN_TYPE_in_aggregate_expression2382 MySQLParser_in_aggregate_expression_return

    MySQLParser_count_function_return count_function2384;
    #undef	RETURN_TYPE_count_function2384
    #define	RETURN_TYPE_count_function2384 MySQLParser_count_function_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2388;
    #undef	RETURN_TYPE_in_aggregate_expression2388
    #define	RETURN_TYPE_in_aggregate_expression2388 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2393;
    #undef	RETURN_TYPE_in_aggregate_expression2393
    #define	RETURN_TYPE_in_aggregate_expression2393 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2397;
    #undef	RETURN_TYPE_in_aggregate_expression2397
    #define	RETURN_TYPE_in_aggregate_expression2397 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2401;
    #undef	RETURN_TYPE_in_aggregate_expression2401
    #define	RETURN_TYPE_in_aggregate_expression2401 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2405;
    #undef	RETURN_TYPE_in_aggregate_expression2405
    #define	RETURN_TYPE_in_aggregate_expression2405 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2409;
    #undef	RETURN_TYPE_in_aggregate_expression2409
    #define	RETURN_TYPE_in_aggregate_expression2409 MySQLParser_in_aggregate_expression_return

    MySQLParser_in_aggregate_expression_return in_aggregate_expression2414;
    #undef	RETURN_TYPE_in_aggregate_expression2414
    #define	RETURN_TYPE_in_aggregate_expression2414 MySQLParser_in_aggregate_expression_return

    MySQLParser_expression_list_return expression_list2419;
    #undef	RETURN_TYPE_expression_list2419
    #define	RETURN_TYPE_expression_list2419 MySQLParser_expression_list_return

    MySQLParser_order_by_clause_return order_by_clause2420;
    #undef	RETURN_TYPE_order_by_clause2420
    #define	RETURN_TYPE_order_by_clause2420 MySQLParser_order_by_clause_return

    MySQLParser_text_string_return text_string2422;
    #undef	RETURN_TYPE_text_string2422
    #define	RETURN_TYPE_text_string2422 MySQLParser_text_string_return

    pANTLR3_BASE_TREE AVG_SYMBOL2367_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2368_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2369_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2371_tree;
    pANTLR3_BASE_TREE BIT_AND_SYMBOL2372_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2373_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2375_tree;
    pANTLR3_BASE_TREE BIT_OR_SYMBOL2376_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2377_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2379_tree;
    pANTLR3_BASE_TREE BIT_XOR_SYMBOL2380_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2381_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2383_tree;
    pANTLR3_BASE_TREE MIN_SYMBOL2385_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2386_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2387_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2389_tree;
    pANTLR3_BASE_TREE MAX_SYMBOL2390_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2391_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2392_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2394_tree;
    pANTLR3_BASE_TREE STD_SYMBOL2395_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2396_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2398_tree;
    pANTLR3_BASE_TREE VARIANCE_SYMBOL2399_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2400_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2402_tree;
    pANTLR3_BASE_TREE STDDEV_SAMP_SYMBOL2403_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2404_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2406_tree;
    pANTLR3_BASE_TREE VAR_SAMP_SYMBOL2407_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2408_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2410_tree;
    pANTLR3_BASE_TREE SUM_SYMBOL2411_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2412_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2413_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2415_tree;
    pANTLR3_BASE_TREE GROUP_CONCAT_SYMBOL2416_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2417_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2418_tree;
    pANTLR3_BASE_TREE SEPARATOR_SYMBOL2421_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2423_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AVG_SYMBOL2367       = NULL;
    OPEN_PAR_SYMBOL2368       = NULL;
    DISTINCT_SYMBOL2369       = NULL;
    CLOSE_PAR_SYMBOL2371       = NULL;
    BIT_AND_SYMBOL2372       = NULL;
    OPEN_PAR_SYMBOL2373       = NULL;
    CLOSE_PAR_SYMBOL2375       = NULL;
    BIT_OR_SYMBOL2376       = NULL;
    OPEN_PAR_SYMBOL2377       = NULL;
    CLOSE_PAR_SYMBOL2379       = NULL;
    BIT_XOR_SYMBOL2380       = NULL;
    OPEN_PAR_SYMBOL2381       = NULL;
    CLOSE_PAR_SYMBOL2383       = NULL;
    MIN_SYMBOL2385       = NULL;
    OPEN_PAR_SYMBOL2386       = NULL;
    DISTINCT_SYMBOL2387       = NULL;
    CLOSE_PAR_SYMBOL2389       = NULL;
    MAX_SYMBOL2390       = NULL;
    OPEN_PAR_SYMBOL2391       = NULL;
    DISTINCT_SYMBOL2392       = NULL;
    CLOSE_PAR_SYMBOL2394       = NULL;
    STD_SYMBOL2395       = NULL;
    OPEN_PAR_SYMBOL2396       = NULL;
    CLOSE_PAR_SYMBOL2398       = NULL;
    VARIANCE_SYMBOL2399       = NULL;
    OPEN_PAR_SYMBOL2400       = NULL;
    CLOSE_PAR_SYMBOL2402       = NULL;
    STDDEV_SAMP_SYMBOL2403       = NULL;
    OPEN_PAR_SYMBOL2404       = NULL;
    CLOSE_PAR_SYMBOL2406       = NULL;
    VAR_SAMP_SYMBOL2407       = NULL;
    OPEN_PAR_SYMBOL2408       = NULL;
    CLOSE_PAR_SYMBOL2410       = NULL;
    SUM_SYMBOL2411       = NULL;
    OPEN_PAR_SYMBOL2412       = NULL;
    DISTINCT_SYMBOL2413       = NULL;
    CLOSE_PAR_SYMBOL2415       = NULL;
    GROUP_CONCAT_SYMBOL2416       = NULL;
    OPEN_PAR_SYMBOL2417       = NULL;
    DISTINCT_SYMBOL2418       = NULL;
    SEPARATOR_SYMBOL2421       = NULL;
    CLOSE_PAR_SYMBOL2423       = NULL;
    in_aggregate_expression2370.tree = NULL;

    in_aggregate_expression2374.tree = NULL;

    in_aggregate_expression2378.tree = NULL;

    in_aggregate_expression2382.tree = NULL;

    count_function2384.tree = NULL;

    in_aggregate_expression2388.tree = NULL;

    in_aggregate_expression2393.tree = NULL;

    in_aggregate_expression2397.tree = NULL;

    in_aggregate_expression2401.tree = NULL;

    in_aggregate_expression2405.tree = NULL;

    in_aggregate_expression2409.tree = NULL;

    in_aggregate_expression2414.tree = NULL;

    expression_list2419.tree = NULL;

    order_by_clause2420.tree = NULL;

    text_string2422.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AVG_SYMBOL2367_tree   = NULL;
    OPEN_PAR_SYMBOL2368_tree   = NULL;
    DISTINCT_SYMBOL2369_tree   = NULL;
    CLOSE_PAR_SYMBOL2371_tree   = NULL;
    BIT_AND_SYMBOL2372_tree   = NULL;
    OPEN_PAR_SYMBOL2373_tree   = NULL;
    CLOSE_PAR_SYMBOL2375_tree   = NULL;
    BIT_OR_SYMBOL2376_tree   = NULL;
    OPEN_PAR_SYMBOL2377_tree   = NULL;
    CLOSE_PAR_SYMBOL2379_tree   = NULL;
    BIT_XOR_SYMBOL2380_tree   = NULL;
    OPEN_PAR_SYMBOL2381_tree   = NULL;
    CLOSE_PAR_SYMBOL2383_tree   = NULL;
    MIN_SYMBOL2385_tree   = NULL;
    OPEN_PAR_SYMBOL2386_tree   = NULL;
    DISTINCT_SYMBOL2387_tree   = NULL;
    CLOSE_PAR_SYMBOL2389_tree   = NULL;
    MAX_SYMBOL2390_tree   = NULL;
    OPEN_PAR_SYMBOL2391_tree   = NULL;
    DISTINCT_SYMBOL2392_tree   = NULL;
    CLOSE_PAR_SYMBOL2394_tree   = NULL;
    STD_SYMBOL2395_tree   = NULL;
    OPEN_PAR_SYMBOL2396_tree   = NULL;
    CLOSE_PAR_SYMBOL2398_tree   = NULL;
    VARIANCE_SYMBOL2399_tree   = NULL;
    OPEN_PAR_SYMBOL2400_tree   = NULL;
    CLOSE_PAR_SYMBOL2402_tree   = NULL;
    STDDEV_SAMP_SYMBOL2403_tree   = NULL;
    OPEN_PAR_SYMBOL2404_tree   = NULL;
    CLOSE_PAR_SYMBOL2406_tree   = NULL;
    VAR_SAMP_SYMBOL2407_tree   = NULL;
    OPEN_PAR_SYMBOL2408_tree   = NULL;
    CLOSE_PAR_SYMBOL2410_tree   = NULL;
    SUM_SYMBOL2411_tree   = NULL;
    OPEN_PAR_SYMBOL2412_tree   = NULL;
    DISTINCT_SYMBOL2413_tree   = NULL;
    CLOSE_PAR_SYMBOL2415_tree   = NULL;
    GROUP_CONCAT_SYMBOL2416_tree   = NULL;
    OPEN_PAR_SYMBOL2417_tree   = NULL;
    DISTINCT_SYMBOL2418_tree   = NULL;
    SEPARATOR_SYMBOL2421_tree   = NULL;
    CLOSE_PAR_SYMBOL2423_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2191:19: ( AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | BIT_AND_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | BIT_OR_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | BIT_XOR_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | count_function | MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | STD_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | VARIANCE_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL | SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL | GROUP_CONCAT_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression_list ( order_by_clause )? ( SEPARATOR_SYMBOL text_string )? CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt673;

            alt673=13;

            switch ( LA(1) )
            {
            case AVG_SYMBOL:
            	{
            		alt673=1;
            	}
                break;
            case BIT_AND_SYMBOL:
            	{
            		alt673=2;
            	}
                break;
            case BIT_OR_SYMBOL:
            	{
            		alt673=3;
            	}
                break;
            case BIT_XOR_SYMBOL:
            	{
            		alt673=4;
            	}
                break;
            case COUNT_SYMBOL:
            	{
            		alt673=5;
            	}
                break;
            case MIN_SYMBOL:
            	{
            		alt673=6;
            	}
                break;
            case MAX_SYMBOL:
            	{
            		alt673=7;
            	}
                break;
            case STD_SYMBOL:
            	{
            		alt673=8;
            	}
                break;
            case VARIANCE_SYMBOL:
            	{
            		alt673=9;
            	}
                break;
            case STDDEV_SAMP_SYMBOL:
            	{
            		alt673=10;
            	}
                break;
            case VAR_SAMP_SYMBOL:
            	{
            		alt673=11;
            	}
                break;
            case SUM_SYMBOL:
            	{
            		alt673=12;
            	}
                break;
            case GROUP_CONCAT_SYMBOL:
            	{
            		alt673=13;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 673;
                EXCEPTION->state        = 0;


                goto ruleaggregate_functionEx;

            }

            switch (alt673)
            {
        	case 1:
        	    // MySQL.g:2192:2: AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AVG_SYMBOL2367 = (pANTLR3_COMMON_TOKEN) MATCHT(AVG_SYMBOL, &FOLLOW_AVG_SYMBOL_in_aggregate_function12412);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AVG_SYMBOL2367_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AVG_SYMBOL2367));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AVG_SYMBOL2367_tree);
        	        }

        	        OPEN_PAR_SYMBOL2368 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12414);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2368_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2368));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2368_tree);
        	        }

        	        // MySQL.g:2192:29: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt666=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt666=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt666)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2192:29: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2369 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12416);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2369_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2369));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2369_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12419);
        	        in_aggregate_expression2370=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2370.tree);

        	        CLOSE_PAR_SYMBOL2371 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12421);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2371_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2371));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2371_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2193:4: BIT_AND_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_AND_SYMBOL2372 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_AND_SYMBOL, &FOLLOW_BIT_AND_SYMBOL_in_aggregate_function12426);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_AND_SYMBOL2372_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_AND_SYMBOL2372));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_AND_SYMBOL2372_tree);
        	        }

        	        OPEN_PAR_SYMBOL2373 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12428);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2373_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2373));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2373_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12430);
        	        in_aggregate_expression2374=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2374.tree);

        	        CLOSE_PAR_SYMBOL2375 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12432);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2375_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2375));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2375_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2194:4: BIT_OR_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_OR_SYMBOL2376 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_OR_SYMBOL, &FOLLOW_BIT_OR_SYMBOL_in_aggregate_function12437);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_OR_SYMBOL2376_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_OR_SYMBOL2376));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_OR_SYMBOL2376_tree);
        	        }

        	        OPEN_PAR_SYMBOL2377 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12439);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2377_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2377));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2377_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12441);
        	        in_aggregate_expression2378=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2378.tree);

        	        CLOSE_PAR_SYMBOL2379 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12443);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2379_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2379));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2379_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2195:4: BIT_XOR_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_XOR_SYMBOL2380 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_XOR_SYMBOL, &FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function12448);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_XOR_SYMBOL2380_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_XOR_SYMBOL2380));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_XOR_SYMBOL2380_tree);
        	        }

        	        OPEN_PAR_SYMBOL2381 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12450);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2381_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2381));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2381_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12452);
        	        in_aggregate_expression2382=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2382.tree);

        	        CLOSE_PAR_SYMBOL2383 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12454);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2383_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2383));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2383_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2196:4: count_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_count_function_in_aggregate_function12459);
        	        count_function2384=count_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, count_function2384.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2197:4: MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MIN_SYMBOL2385 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_SYMBOL, &FOLLOW_MIN_SYMBOL_in_aggregate_function12464);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MIN_SYMBOL2385_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_SYMBOL2385));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_SYMBOL2385_tree);
        	        }

        	        OPEN_PAR_SYMBOL2386 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12466);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2386_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2386));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2386_tree);
        	        }

        	        // MySQL.g:2197:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt667=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt667=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt667)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2197:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2387 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12468);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2387_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2387));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2387_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12471);
        	        in_aggregate_expression2388=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2388.tree);

        	        CLOSE_PAR_SYMBOL2389 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12473);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2389_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2389));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2389_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2198:4: MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SYMBOL2390 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SYMBOL, &FOLLOW_MAX_SYMBOL_in_aggregate_function12478);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_SYMBOL2390_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_SYMBOL2390));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_SYMBOL2390_tree);
        	        }

        	        OPEN_PAR_SYMBOL2391 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12480);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2391_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2391));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2391_tree);
        	        }

        	        // MySQL.g:2198:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt668=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt668=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt668)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2198:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2392 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12482);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2392_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2392));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2392_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12485);
        	        in_aggregate_expression2393=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2393.tree);

        	        CLOSE_PAR_SYMBOL2394 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12487);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2394_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2394));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2394_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2199:4: STD_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STD_SYMBOL2395 = (pANTLR3_COMMON_TOKEN) MATCHT(STD_SYMBOL, &FOLLOW_STD_SYMBOL_in_aggregate_function12492);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STD_SYMBOL2395_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STD_SYMBOL2395));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STD_SYMBOL2395_tree);
        	        }

        	        OPEN_PAR_SYMBOL2396 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12494);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2396_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2396));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2396_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12496);
        	        in_aggregate_expression2397=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2397.tree);

        	        CLOSE_PAR_SYMBOL2398 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12498);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2398_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2398));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2398_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2200:4: VARIANCE_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARIANCE_SYMBOL2399 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIANCE_SYMBOL, &FOLLOW_VARIANCE_SYMBOL_in_aggregate_function12503);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARIANCE_SYMBOL2399_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIANCE_SYMBOL2399));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARIANCE_SYMBOL2399_tree);
        	        }

        	        OPEN_PAR_SYMBOL2400 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12505);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2400_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2400));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2400_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12507);
        	        in_aggregate_expression2401=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2401.tree);

        	        CLOSE_PAR_SYMBOL2402 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12509);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2402_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2402));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2402_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2201:4: STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STDDEV_SAMP_SYMBOL2403 = (pANTLR3_COMMON_TOKEN) MATCHT(STDDEV_SAMP_SYMBOL, &FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function12514);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STDDEV_SAMP_SYMBOL2403_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STDDEV_SAMP_SYMBOL2403));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STDDEV_SAMP_SYMBOL2403_tree);
        	        }

        	        OPEN_PAR_SYMBOL2404 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12516);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2404_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2404));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2404_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12518);
        	        in_aggregate_expression2405=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2405.tree);

        	        CLOSE_PAR_SYMBOL2406 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12520);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2406_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2406));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2406_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2202:4: VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VAR_SAMP_SYMBOL2407 = (pANTLR3_COMMON_TOKEN) MATCHT(VAR_SAMP_SYMBOL, &FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function12525);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VAR_SAMP_SYMBOL2407_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VAR_SAMP_SYMBOL2407));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VAR_SAMP_SYMBOL2407_tree);
        	        }

        	        OPEN_PAR_SYMBOL2408 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12527);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2408_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2408));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2408_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12529);
        	        in_aggregate_expression2409=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2409.tree);

        	        CLOSE_PAR_SYMBOL2410 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12531);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2410_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2410));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2410_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2203:4: SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? in_aggregate_expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUM_SYMBOL2411 = (pANTLR3_COMMON_TOKEN) MATCHT(SUM_SYMBOL, &FOLLOW_SUM_SYMBOL_in_aggregate_function12536);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUM_SYMBOL2411_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUM_SYMBOL2411));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUM_SYMBOL2411_tree);
        	        }

        	        OPEN_PAR_SYMBOL2412 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12538);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2412_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2412));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2412_tree);
        	        }

        	        // MySQL.g:2203:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt669=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt669=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt669)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2203:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2413 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12540);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2413_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2413));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2413_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_aggregate_function12543);
        	        in_aggregate_expression2414=in_aggregate_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2414.tree);

        	        CLOSE_PAR_SYMBOL2415 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12545);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2415_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2415));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2415_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2204:4: GROUP_CONCAT_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression_list ( order_by_clause )? ( SEPARATOR_SYMBOL text_string )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GROUP_CONCAT_SYMBOL2416 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_CONCAT_SYMBOL, &FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function12550);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GROUP_CONCAT_SYMBOL2416_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_CONCAT_SYMBOL2416));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_CONCAT_SYMBOL2416_tree);
        	        }

        	        OPEN_PAR_SYMBOL2417 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function12552);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2417_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2417));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2417_tree);
        	        }

        	        // MySQL.g:2204:40: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt670=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt670=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt670)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2204:40: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2418 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function12554);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2418_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2418));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2418_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_in_aggregate_function12557);
        	        expression_list2419=expression_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2419.tree);

        	        // MySQL.g:2204:73: ( order_by_clause )?
        	        {
        	            int alt671=2;
        	            switch ( LA(1) )
        	            {
        	                case ORDER_SYMBOL:
        	                	{
        	                		alt671=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt671)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2204:73: order_by_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_aggregate_function12559);
        	        	        order_by_clause2420=order_by_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause2420.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2204:90: ( SEPARATOR_SYMBOL text_string )?
        	        {
        	            int alt672=2;
        	            switch ( LA(1) )
        	            {
        	                case SEPARATOR_SYMBOL:
        	                	{
        	                		alt672=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt672)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2204:91: SEPARATOR_SYMBOL text_string
        	        	    {
        	        	        SEPARATOR_SYMBOL2421 = (pANTLR3_COMMON_TOKEN) MATCHT(SEPARATOR_SYMBOL, &FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function12563);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        SEPARATOR_SYMBOL2421_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEPARATOR_SYMBOL2421));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SEPARATOR_SYMBOL2421_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_text_string_in_aggregate_function12565);
        	        	        text_string2422=text_string(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string2422.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2423 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function12569);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2423_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2423));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2423_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleaggregate_functionEx; /* Prevent compiler warnings */
    ruleaggregate_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end aggregate_function */

/**
 * $ANTLR start in_aggregate_expression
 * MySQL.g:2207:1: in_aggregate_expression : ( ALL_SYMBOL )? expression ;
 */
static MySQLParser_in_aggregate_expression_return
in_aggregate_expression(pMySQLParser ctx)
{
    MySQLParser_in_aggregate_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALL_SYMBOL2424;
    MySQLParser_expression_return expression2425;
    #undef	RETURN_TYPE_expression2425
    #define	RETURN_TYPE_expression2425 MySQLParser_expression_return

    pANTLR3_BASE_TREE ALL_SYMBOL2424_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL2424       = NULL;
    expression2425.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL2424_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2207:24: ( ( ALL_SYMBOL )? expression )
        // MySQL.g:2208:2: ( ALL_SYMBOL )? expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2208:2: ( ALL_SYMBOL )?
            {
                int alt674=2;
                switch ( LA(1) )
                {
                    case ALL_SYMBOL:
                    	{
                    		alt674=1;
                    	}
                        break;
                }

                switch (alt674)
                {
            	case 1:
            	    // MySQL.g:2208:2: ALL_SYMBOL
            	    {
            	        ALL_SYMBOL2424 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_in_aggregate_expression12578);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulein_aggregate_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ALL_SYMBOL2424_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL2424));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL2424_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_expression_in_in_aggregate_expression12581);
            expression2425=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulein_aggregate_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2425.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulein_aggregate_expressionEx; /* Prevent compiler warnings */
    rulein_aggregate_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end in_aggregate_expression */

/**
 * $ANTLR start count_function
 * MySQL.g:2211:1: count_function : COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR | in_aggregate_expression | DISTINCT_SYMBOL expression_list ) CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_count_function_return
count_function(pMySQLParser ctx)
{
    MySQLParser_count_function_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COUNT_SYMBOL2426;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2427;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL2428;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2429;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2431;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2433;
    MySQLParser_in_aggregate_expression_return in_aggregate_expression2430;
    #undef	RETURN_TYPE_in_aggregate_expression2430
    #define	RETURN_TYPE_in_aggregate_expression2430 MySQLParser_in_aggregate_expression_return

    MySQLParser_expression_list_return expression_list2432;
    #undef	RETURN_TYPE_expression_list2432
    #define	RETURN_TYPE_expression_list2432 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE COUNT_SYMBOL2426_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2427_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL2428_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2429_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2431_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2433_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COUNT_SYMBOL2426       = NULL;
    OPEN_PAR_SYMBOL2427       = NULL;
    ALL_SYMBOL2428       = NULL;
    MULT_OPERATOR2429       = NULL;
    DISTINCT_SYMBOL2431       = NULL;
    CLOSE_PAR_SYMBOL2433       = NULL;
    in_aggregate_expression2430.tree = NULL;

    expression_list2432.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COUNT_SYMBOL2426_tree   = NULL;
    OPEN_PAR_SYMBOL2427_tree   = NULL;
    ALL_SYMBOL2428_tree   = NULL;
    MULT_OPERATOR2429_tree   = NULL;
    DISTINCT_SYMBOL2431_tree   = NULL;
    CLOSE_PAR_SYMBOL2433_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2211:15: ( COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR | in_aggregate_expression | DISTINCT_SYMBOL expression_list ) CLOSE_PAR_SYMBOL )
        // MySQL.g:2212:2: COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR | in_aggregate_expression | DISTINCT_SYMBOL expression_list ) CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            COUNT_SYMBOL2426 = (pANTLR3_COMMON_TOKEN) MATCHT(COUNT_SYMBOL, &FOLLOW_COUNT_SYMBOL_in_count_function12590);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COUNT_SYMBOL2426_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COUNT_SYMBOL2426));
            ADAPTOR->addChild(ADAPTOR, root_0, COUNT_SYMBOL2426_tree);
            }

            OPEN_PAR_SYMBOL2427 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_count_function12592);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2427_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2427));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2427_tree);
            }

            // MySQL.g:2213:2: ( ( ALL_SYMBOL )? MULT_OPERATOR | in_aggregate_expression | DISTINCT_SYMBOL expression_list )
            {
                int alt676=3;
                {
                    int LA676_0 = LA(1);
                    if ( (LA676_0 == ALL_SYMBOL))
                    {
                        {
                            int LA676_1 = LA(2);
                            if ( (LA676_1 == MULT_OPERATOR))
                            {
                                alt676=1;
                            }
                            else if ( (((LA676_1 >= ASCII_SYMBOL) && (LA676_1 <= YEAR_SYMBOL)) || ((LA676_1 >= AT_AT_SIGN_SYMBOL) && (LA676_1 <= AT_TEXT_SUFFIX)) || LA676_1 == BACK_TICK_QUOTED_ID || LA676_1 == BINARY_SYMBOL || ((LA676_1 >= BITNUMBER) && (LA676_1 <= BITSTRING)) || LA676_1 == BITWISE_NOT_OPERATOR || ((LA676_1 >= BIT_AND_SYMBOL) && (LA676_1 <= BIT_XOR_SYMBOL)) || ((LA676_1 >= CASE_SYMBOL) && (LA676_1 <= CAST_SYMBOL)) || LA676_1 == CHAR_SYMBOL || ((LA676_1 >= CONVERT_SYMBOL) && (LA676_1 <= COUNT_SYMBOL)) || LA676_1 == CURDATE_SYMBOL || LA676_1 == CURRENT_USER_SYMBOL || LA676_1 == CURTIME_SYMBOL || LA676_1 == DATABASE_SYMBOL || LA676_1 == DATE_ADD_SYMBOL || LA676_1 == DATE_SUB_SYMBOL || LA676_1 == DOUBLE_QUOTED_TEXT || LA676_1 == EXISTS_SYMBOL || ((LA676_1 >= EXTRACT_SYMBOL) && (LA676_1 <= FALSE_SYMBOL)) || LA676_1 == FLOAT || LA676_1 == GROUP_CONCAT_SYMBOL || ((LA676_1 >= HEXNUMBER) && (LA676_1 <= HEXSTRING)) || ((LA676_1 >= IDENTIFIER) && (LA676_1 <= IF_SYMBOL)) || LA676_1 == INSERT_SYMBOL || LA676_1 == INTEGER || LA676_1 == INTERVAL_SYMBOL || LA676_1 == LEFT_SYMBOL || LA676_1 == LOGICAL_NOT_OPERATOR || LA676_1 == MATCH_SYMBOL || LA676_1 == MAX_SYMBOL || LA676_1 == MINUS_OPERATOR || LA676_1 == MIN_SYMBOL || LA676_1 == MOD_SYMBOL || LA676_1 == NCHAR_TEXT || LA676_1 == NOT2_SYMBOL || ((LA676_1 >= NOT_SYMBOL) && (LA676_1 <= NOW_SYMBOL)) || LA676_1 == NULL2_SYMBOL || LA676_1 == NULL_SYMBOL || ((LA676_1 >= OPEN_CURLY_SYMBOL) && (LA676_1 <= OPEN_PAR_SYMBOL)) || LA676_1 == PARAM_MARKER || ((LA676_1 >= PLUS_OPERATOR) && (LA676_1 <= POSITION_SYMBOL)) || ((LA676_1 >= REPEAT_SYMBOL) && (LA676_1 <= REPLACE_SYMBOL)) || LA676_1 == RIGHT_SYMBOL || LA676_1 == SINGLE_QUOTED_TEXT || LA676_1 == STDDEV_SAMP_SYMBOL || LA676_1 == STD_SYMBOL || LA676_1 == SUBSTRING_SYMBOL || ((LA676_1 >= SUM_SYMBOL) && (LA676_1 <= SYSDATE_SYMBOL)) || ((LA676_1 >= TRIM_SYMBOL) && (LA676_1 <= TRUE_SYMBOL)) || LA676_1 == UNDERSCORE_CHARSET || ((LA676_1 >= UTC_DATE_SYMBOL) && (LA676_1 <= UTC_TIME_SYMBOL)) || LA676_1 == VALUES_SYMBOL || LA676_1 == VARIANCE_SYMBOL || LA676_1 == VAR_SAMP_SYMBOL))
                            {
                                alt676=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 676;
                                EXCEPTION->state        = 1;


                                goto rulecount_functionEx;

                            }
                        }
                    }
                    else if ( (LA676_0 == MULT_OPERATOR))
                    {
                        alt676=1;
                    }
                    else if ( (LA676_0 == BITWISE_NOT_OPERATOR || LA676_0 == INTERVAL_SYMBOL || LA676_0 == LOGICAL_NOT_OPERATOR || LA676_0 == MINUS_OPERATOR || LA676_0 == NCHAR_TEXT || LA676_0 == NOT2_SYMBOL || LA676_0 == NOT_SYMBOL || LA676_0 == PLUS_OPERATOR || LA676_0 == SINGLE_QUOTED_TEXT || LA676_0 == UNDERSCORE_CHARSET))
                    {
                        alt676=2;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA676_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt676=2;
                    }
                    else if ( (LA676_0 == FALSE_SYMBOL || LA676_0 == FLOAT || ((LA676_0 >= HEXNUMBER) && (LA676_0 <= HEXSTRING)) || LA676_0 == INTEGER || LA676_0 == TRUE_SYMBOL))
                    {
                        alt676=2;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA676_0 >= BITNUMBER) && (LA676_0 <= BITSTRING))))
                    {
                        alt676=2;
                    }
                    else if ( (((LA676_0 >= ASCII_SYMBOL) && (LA676_0 <= YEAR_SYMBOL)) || ((LA676_0 >= AT_AT_SIGN_SYMBOL) && (LA676_0 <= AT_TEXT_SUFFIX)) || LA676_0 == BACK_TICK_QUOTED_ID || LA676_0 == BINARY_SYMBOL || ((LA676_0 >= BIT_AND_SYMBOL) && (LA676_0 <= BIT_XOR_SYMBOL)) || ((LA676_0 >= CASE_SYMBOL) && (LA676_0 <= CAST_SYMBOL)) || LA676_0 == CHAR_SYMBOL || ((LA676_0 >= CONVERT_SYMBOL) && (LA676_0 <= COUNT_SYMBOL)) || LA676_0 == CURDATE_SYMBOL || LA676_0 == CURRENT_USER_SYMBOL || LA676_0 == CURTIME_SYMBOL || LA676_0 == DATABASE_SYMBOL || LA676_0 == DATE_ADD_SYMBOL || LA676_0 == DATE_SUB_SYMBOL || LA676_0 == EXISTS_SYMBOL || LA676_0 == EXTRACT_SYMBOL || LA676_0 == GROUP_CONCAT_SYMBOL || ((LA676_0 >= IDENTIFIER) && (LA676_0 <= IF_SYMBOL)) || LA676_0 == INSERT_SYMBOL || LA676_0 == LEFT_SYMBOL || LA676_0 == MATCH_SYMBOL || LA676_0 == MAX_SYMBOL || LA676_0 == MIN_SYMBOL || LA676_0 == MOD_SYMBOL || LA676_0 == NOW_SYMBOL || LA676_0 == NULL2_SYMBOL || LA676_0 == NULL_SYMBOL || ((LA676_0 >= OPEN_CURLY_SYMBOL) && (LA676_0 <= OPEN_PAR_SYMBOL)) || LA676_0 == PARAM_MARKER || LA676_0 == POSITION_SYMBOL || ((LA676_0 >= REPEAT_SYMBOL) && (LA676_0 <= REPLACE_SYMBOL)) || LA676_0 == RIGHT_SYMBOL || LA676_0 == STDDEV_SAMP_SYMBOL || LA676_0 == STD_SYMBOL || LA676_0 == SUBSTRING_SYMBOL || ((LA676_0 >= SUM_SYMBOL) && (LA676_0 <= SYSDATE_SYMBOL)) || LA676_0 == TRIM_SYMBOL || ((LA676_0 >= UTC_DATE_SYMBOL) && (LA676_0 <= UTC_TIME_SYMBOL)) || LA676_0 == VALUES_SYMBOL || LA676_0 == VARIANCE_SYMBOL || LA676_0 == VAR_SAMP_SYMBOL))
                    {
                        alt676=2;
                    }
                    else if ( (LA676_0 == DISTINCT_SYMBOL))
                    {
                        alt676=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 676;
                        EXCEPTION->state        = 0;


                        goto rulecount_functionEx;

                    }
                }
                switch (alt676)
                {
            	case 1:
            	    // MySQL.g:2214:3: ( ALL_SYMBOL )? MULT_OPERATOR
            	    {
            	        // MySQL.g:2214:3: ( ALL_SYMBOL )?
            	        {
            	            int alt675=2;
            	            switch ( LA(1) )
            	            {
            	                case ALL_SYMBOL:
            	                	{
            	                		alt675=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt675)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2214:3: ALL_SYMBOL
            	        	    {
            	        	        ALL_SYMBOL2428 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_count_function12599);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecount_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ALL_SYMBOL2428_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL2428));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL2428_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        MULT_OPERATOR2429 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_count_function12602);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR2429_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR2429));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR2429_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2215:5: in_aggregate_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_in_aggregate_expression_in_count_function12608);
            	        in_aggregate_expression2430=in_aggregate_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_aggregate_expression2430.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2216:5: DISTINCT_SYMBOL expression_list
            	    {
            	        DISTINCT_SYMBOL2431 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_count_function12614);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DISTINCT_SYMBOL2431_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2431));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2431_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_list_in_count_function12616);
            	        expression_list2432=expression_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2432.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2433 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_count_function12622);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2433_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2433));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2433_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecount_functionEx; /* Prevent compiler warnings */
    rulecount_functionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end count_function */

/**
 * $ANTLR start udf_call
 * MySQL.g:2221:1: udf_call : udf_call_expression -> ^( UDF_CALL_TOKEN udf_call_expression ) ;
 */
static MySQLParser_udf_call_return
udf_call(pMySQLParser ctx)
{
    MySQLParser_udf_call_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_udf_call_expression_return udf_call_expression2434;
    #undef	RETURN_TYPE_udf_call_expression2434
    #define	RETURN_TYPE_udf_call_expression2434 MySQLParser_udf_call_expression_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_udf_call_expression;
    /* Initialize rule variables
     */

    root_0 = NULL;

    udf_call_expression2434.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_udf_call_expression   = NULL;
    #define CREATE_stream_udf_call_expression  if (stream_udf_call_expression == NULL) {stream_udf_call_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule udf_call_expression"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2221:9: ( udf_call_expression -> ^( UDF_CALL_TOKEN udf_call_expression ) )
        // MySQL.g:2222:2: udf_call_expression
        {
            FOLLOWPUSH(FOLLOW_udf_call_expression_in_udf_call12631);
            udf_call_expression2434=udf_call_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleudf_callEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_udf_call_expression; stream_udf_call_expression->add(stream_udf_call_expression, udf_call_expression2434.tree, NULL); }

            /* AST REWRITE
             * elements          : udf_call_expression
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2222:22: -> ^( UDF_CALL_TOKEN udf_call_expression )
            	{
            	    // MySQL.g:2222:25: ^( UDF_CALL_TOKEN udf_call_expression )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, UDF_CALL_TOKEN, (pANTLR3_UINT8)"UDF_CALL_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_udf_call_expression == NULL ? NULL : stream_udf_call_expression->nextTree(stream_udf_call_expression));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleudf_callEx; /* Prevent compiler warnings */
    ruleudf_callEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_udf_call_expression != NULL) stream_udf_call_expression->free(stream_udf_call_expression);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end udf_call */

/**
 * $ANTLR start udf_call_expression
 * MySQL.g:2225:1: udf_call_expression : ( IDENTIFIER | BACK_TICK_QUOTED_ID ) OPEN_PAR_SYMBOL ( aliased_expression_list )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_udf_call_expression_return
udf_call_expression(pMySQLParser ctx)
{
    MySQLParser_udf_call_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2435;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2436;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2438;
    MySQLParser_aliased_expression_list_return aliased_expression_list2437;
    #undef	RETURN_TYPE_aliased_expression_list2437
    #define	RETURN_TYPE_aliased_expression_list2437 MySQLParser_aliased_expression_list_return

    pANTLR3_BASE_TREE set2435_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2436_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2438_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2435       = NULL;
    OPEN_PAR_SYMBOL2436       = NULL;
    CLOSE_PAR_SYMBOL2438       = NULL;
    aliased_expression_list2437.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2435_tree   = NULL;
    OPEN_PAR_SYMBOL2436_tree   = NULL;
    CLOSE_PAR_SYMBOL2438_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2225:20: ( ( IDENTIFIER | BACK_TICK_QUOTED_ID ) OPEN_PAR_SYMBOL ( aliased_expression_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:2226:2: ( IDENTIFIER | BACK_TICK_QUOTED_ID ) OPEN_PAR_SYMBOL ( aliased_expression_list )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2435=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == BACK_TICK_QUOTED_ID || LA(1) == IDENTIFIER )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2435))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleudf_call_expressionEx;
            }


            OPEN_PAR_SYMBOL2436 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_udf_call_expression12656);
            if  (HASEXCEPTION())
            {
                goto ruleudf_call_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2436_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2436));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2436_tree);
            }

            // MySQL.g:2226:53: ( aliased_expression_list )?
            {
                int alt677=2;
                {
                    int LA677_0 = LA(1);
                    if ( (LA677_0 == BITWISE_NOT_OPERATOR || LA677_0 == INTERVAL_SYMBOL || LA677_0 == LOGICAL_NOT_OPERATOR || LA677_0 == MINUS_OPERATOR || LA677_0 == NCHAR_TEXT || LA677_0 == NOT2_SYMBOL || LA677_0 == NOT_SYMBOL || LA677_0 == PLUS_OPERATOR || LA677_0 == SINGLE_QUOTED_TEXT || LA677_0 == UNDERSCORE_CHARSET))
                    {
                        alt677=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA677_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt677=1;
                    }
                    else if ( (LA677_0 == FALSE_SYMBOL || LA677_0 == FLOAT || ((LA677_0 >= HEXNUMBER) && (LA677_0 <= HEXSTRING)) || LA677_0 == INTEGER || LA677_0 == TRUE_SYMBOL))
                    {
                        alt677=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA677_0 >= BITNUMBER) && (LA677_0 <= BITSTRING))))
                    {
                        alt677=1;
                    }
                    else if ( (((LA677_0 >= ASCII_SYMBOL) && (LA677_0 <= YEAR_SYMBOL)) || ((LA677_0 >= AT_AT_SIGN_SYMBOL) && (LA677_0 <= AT_TEXT_SUFFIX)) || LA677_0 == BACK_TICK_QUOTED_ID || LA677_0 == BINARY_SYMBOL || ((LA677_0 >= BIT_AND_SYMBOL) && (LA677_0 <= BIT_XOR_SYMBOL)) || ((LA677_0 >= CASE_SYMBOL) && (LA677_0 <= CAST_SYMBOL)) || LA677_0 == CHAR_SYMBOL || ((LA677_0 >= CONVERT_SYMBOL) && (LA677_0 <= COUNT_SYMBOL)) || LA677_0 == CURDATE_SYMBOL || LA677_0 == CURRENT_USER_SYMBOL || LA677_0 == CURTIME_SYMBOL || LA677_0 == DATABASE_SYMBOL || LA677_0 == DATE_ADD_SYMBOL || LA677_0 == DATE_SUB_SYMBOL || LA677_0 == EXISTS_SYMBOL || LA677_0 == EXTRACT_SYMBOL || LA677_0 == GROUP_CONCAT_SYMBOL || ((LA677_0 >= IDENTIFIER) && (LA677_0 <= IF_SYMBOL)) || LA677_0 == INSERT_SYMBOL || LA677_0 == LEFT_SYMBOL || LA677_0 == MATCH_SYMBOL || LA677_0 == MAX_SYMBOL || LA677_0 == MIN_SYMBOL || LA677_0 == MOD_SYMBOL || LA677_0 == NOW_SYMBOL || LA677_0 == NULL2_SYMBOL || LA677_0 == NULL_SYMBOL || ((LA677_0 >= OPEN_CURLY_SYMBOL) && (LA677_0 <= OPEN_PAR_SYMBOL)) || LA677_0 == PARAM_MARKER || LA677_0 == POSITION_SYMBOL || ((LA677_0 >= REPEAT_SYMBOL) && (LA677_0 <= REPLACE_SYMBOL)) || LA677_0 == RIGHT_SYMBOL || LA677_0 == STDDEV_SAMP_SYMBOL || LA677_0 == STD_SYMBOL || LA677_0 == SUBSTRING_SYMBOL || ((LA677_0 >= SUM_SYMBOL) && (LA677_0 <= SYSDATE_SYMBOL)) || LA677_0 == TRIM_SYMBOL || ((LA677_0 >= UTC_DATE_SYMBOL) && (LA677_0 <= UTC_TIME_SYMBOL)) || LA677_0 == VALUES_SYMBOL || LA677_0 == VARIANCE_SYMBOL || LA677_0 == VAR_SAMP_SYMBOL))
                    {
                        alt677=1;
                    }
                }
                switch (alt677)
                {
            	case 1:
            	    // MySQL.g:2226:53: aliased_expression_list
            	    {
            	        FOLLOWPUSH(FOLLOW_aliased_expression_list_in_udf_call_expression12658);
            	        aliased_expression_list2437=aliased_expression_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleudf_call_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression_list2437.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2438 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_udf_call_expression12661);
            if  (HASEXCEPTION())
            {
                goto ruleudf_call_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2438_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2438));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2438_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleudf_call_expressionEx; /* Prevent compiler warnings */
    ruleudf_call_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end udf_call_expression */

/**
 * $ANTLR start stored_function_call
 * MySQL.g:2229:1: stored_function_call : stored_function_call_expression -> ^( FUNCTION_CALL_TOKEN stored_function_call_expression ) ;
 */
static MySQLParser_stored_function_call_return
stored_function_call(pMySQLParser ctx)
{
    MySQLParser_stored_function_call_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_stored_function_call_expression_return stored_function_call_expression2439;
    #undef	RETURN_TYPE_stored_function_call_expression2439
    #define	RETURN_TYPE_stored_function_call_expression2439 MySQLParser_stored_function_call_expression_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_stored_function_call_expression;
    /* Initialize rule variables
     */

    root_0 = NULL;

    stored_function_call_expression2439.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_stored_function_call_expression   = NULL;
    #define CREATE_stream_stored_function_call_expression  if (stream_stored_function_call_expression == NULL) {stream_stored_function_call_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule stored_function_call_expression"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2229:21: ( stored_function_call_expression -> ^( FUNCTION_CALL_TOKEN stored_function_call_expression ) )
        // MySQL.g:2230:2: stored_function_call_expression
        {
            FOLLOWPUSH(FOLLOW_stored_function_call_expression_in_stored_function_call12670);
            stored_function_call_expression2439=stored_function_call_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestored_function_callEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_stored_function_call_expression; stream_stored_function_call_expression->add(stream_stored_function_call_expression, stored_function_call_expression2439.tree, NULL); }

            /* AST REWRITE
             * elements          : stored_function_call_expression
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2230:34: -> ^( FUNCTION_CALL_TOKEN stored_function_call_expression )
            	{
            	    // MySQL.g:2230:37: ^( FUNCTION_CALL_TOKEN stored_function_call_expression )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, FUNCTION_CALL_TOKEN, (pANTLR3_UINT8)"FUNCTION_CALL_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_stored_function_call_expression == NULL ? NULL : stream_stored_function_call_expression->nextTree(stream_stored_function_call_expression));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulestored_function_callEx; /* Prevent compiler warnings */
    rulestored_function_callEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_stored_function_call_expression != NULL) stream_stored_function_call_expression->free(stream_stored_function_call_expression);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end stored_function_call */

/**
 * $ANTLR start stored_function_call_expression
 * MySQL.g:2233:1: stored_function_call_expression : qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_stored_function_call_expression_return
stored_function_call_expression(pMySQLParser ctx)
{
    MySQLParser_stored_function_call_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2441;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2443;
    MySQLParser_qualified_identifier_return qualified_identifier2440;
    #undef	RETURN_TYPE_qualified_identifier2440
    #define	RETURN_TYPE_qualified_identifier2440 MySQLParser_qualified_identifier_return

    MySQLParser_expression_list_return expression_list2442;
    #undef	RETURN_TYPE_expression_list2442
    #define	RETURN_TYPE_expression_list2442 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2441_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2443_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2441       = NULL;
    CLOSE_PAR_SYMBOL2443       = NULL;
    qualified_identifier2440.tree = NULL;

    expression_list2442.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2441_tree   = NULL;
    CLOSE_PAR_SYMBOL2443_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2233:32: ( qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:2234:2: qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_stored_function_call_expression12687);
            qualified_identifier2440=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestored_function_call_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2440.tree);

            OPEN_PAR_SYMBOL2441 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_stored_function_call_expression12689);
            if  (HASEXCEPTION())
            {
                goto rulestored_function_call_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2441_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2441));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2441_tree);
            }

            // MySQL.g:2234:39: ( expression_list )?
            {
                int alt678=2;
                {
                    int LA678_0 = LA(1);
                    if ( (LA678_0 == BITWISE_NOT_OPERATOR || LA678_0 == INTERVAL_SYMBOL || LA678_0 == LOGICAL_NOT_OPERATOR || LA678_0 == MINUS_OPERATOR || LA678_0 == NCHAR_TEXT || LA678_0 == NOT2_SYMBOL || LA678_0 == NOT_SYMBOL || LA678_0 == PLUS_OPERATOR || LA678_0 == SINGLE_QUOTED_TEXT || LA678_0 == UNDERSCORE_CHARSET))
                    {
                        alt678=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA678_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt678=1;
                    }
                    else if ( (LA678_0 == FALSE_SYMBOL || LA678_0 == FLOAT || ((LA678_0 >= HEXNUMBER) && (LA678_0 <= HEXSTRING)) || LA678_0 == INTEGER || LA678_0 == TRUE_SYMBOL))
                    {
                        alt678=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA678_0 >= BITNUMBER) && (LA678_0 <= BITSTRING))))
                    {
                        alt678=1;
                    }
                    else if ( (((LA678_0 >= ASCII_SYMBOL) && (LA678_0 <= YEAR_SYMBOL)) || ((LA678_0 >= AT_AT_SIGN_SYMBOL) && (LA678_0 <= AT_TEXT_SUFFIX)) || LA678_0 == BACK_TICK_QUOTED_ID || LA678_0 == BINARY_SYMBOL || ((LA678_0 >= BIT_AND_SYMBOL) && (LA678_0 <= BIT_XOR_SYMBOL)) || ((LA678_0 >= CASE_SYMBOL) && (LA678_0 <= CAST_SYMBOL)) || LA678_0 == CHAR_SYMBOL || ((LA678_0 >= CONVERT_SYMBOL) && (LA678_0 <= COUNT_SYMBOL)) || LA678_0 == CURDATE_SYMBOL || LA678_0 == CURRENT_USER_SYMBOL || LA678_0 == CURTIME_SYMBOL || LA678_0 == DATABASE_SYMBOL || LA678_0 == DATE_ADD_SYMBOL || LA678_0 == DATE_SUB_SYMBOL || LA678_0 == EXISTS_SYMBOL || LA678_0 == EXTRACT_SYMBOL || LA678_0 == GROUP_CONCAT_SYMBOL || ((LA678_0 >= IDENTIFIER) && (LA678_0 <= IF_SYMBOL)) || LA678_0 == INSERT_SYMBOL || LA678_0 == LEFT_SYMBOL || LA678_0 == MATCH_SYMBOL || LA678_0 == MAX_SYMBOL || LA678_0 == MIN_SYMBOL || LA678_0 == MOD_SYMBOL || LA678_0 == NOW_SYMBOL || LA678_0 == NULL2_SYMBOL || LA678_0 == NULL_SYMBOL || ((LA678_0 >= OPEN_CURLY_SYMBOL) && (LA678_0 <= OPEN_PAR_SYMBOL)) || LA678_0 == PARAM_MARKER || LA678_0 == POSITION_SYMBOL || ((LA678_0 >= REPEAT_SYMBOL) && (LA678_0 <= REPLACE_SYMBOL)) || LA678_0 == RIGHT_SYMBOL || LA678_0 == STDDEV_SAMP_SYMBOL || LA678_0 == STD_SYMBOL || LA678_0 == SUBSTRING_SYMBOL || ((LA678_0 >= SUM_SYMBOL) && (LA678_0 <= SYSDATE_SYMBOL)) || LA678_0 == TRIM_SYMBOL || ((LA678_0 >= UTC_DATE_SYMBOL) && (LA678_0 <= UTC_TIME_SYMBOL)) || LA678_0 == VALUES_SYMBOL || LA678_0 == VARIANCE_SYMBOL || LA678_0 == VAR_SAMP_SYMBOL))
                    {
                        alt678=1;
                    }
                }
                switch (alt678)
                {
            	case 1:
            	    // MySQL.g:2234:39: expression_list
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_list_in_stored_function_call_expression12691);
            	        expression_list2442=expression_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestored_function_call_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2442.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2443 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_stored_function_call_expression12694);
            if  (HASEXCEPTION())
            {
                goto rulestored_function_call_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2443_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2443));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2443_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulestored_function_call_expressionEx; /* Prevent compiler warnings */
    rulestored_function_call_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end stored_function_call_expression */

/**
 * $ANTLR start aliased_expression_list
 * MySQL.g:2237:1: aliased_expression_list : aliased_expression ( COMMA_SYMBOL aliased_expression )* ;
 */
static MySQLParser_aliased_expression_list_return
aliased_expression_list(pMySQLParser ctx)
{
    MySQLParser_aliased_expression_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2445;
    MySQLParser_aliased_expression_return aliased_expression2444;
    #undef	RETURN_TYPE_aliased_expression2444
    #define	RETURN_TYPE_aliased_expression2444 MySQLParser_aliased_expression_return

    MySQLParser_aliased_expression_return aliased_expression2446;
    #undef	RETURN_TYPE_aliased_expression2446
    #define	RETURN_TYPE_aliased_expression2446 MySQLParser_aliased_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2445_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2445       = NULL;
    aliased_expression2444.tree = NULL;

    aliased_expression2446.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2445_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2237:24: ( aliased_expression ( COMMA_SYMBOL aliased_expression )* )
        // MySQL.g:2238:2: aliased_expression ( COMMA_SYMBOL aliased_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_aliased_expression_in_aliased_expression_list12703);
            aliased_expression2444=aliased_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealiased_expression_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression2444.tree);

            // MySQL.g:2238:21: ( COMMA_SYMBOL aliased_expression )*

            for (;;)
            {
                int alt679=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt679=1;
                	}
                    break;

                }

                switch (alt679)
                {
            	case 1:
            	    // MySQL.g:2238:22: COMMA_SYMBOL aliased_expression
            	    {
            	        COMMA_SYMBOL2445 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_aliased_expression_list12706);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2445_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2445));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2445_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_aliased_expression_in_aliased_expression_list12708);
            	        aliased_expression2446=aliased_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression2446.tree);

            	    }
            	    break;

            	default:
            	    goto loop679;	/* break out of the loop */
            	    break;
                }
            }
            loop679: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulealiased_expression_listEx; /* Prevent compiler warnings */
    rulealiased_expression_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end aliased_expression_list */

/**
 * $ANTLR start aliased_expression
 * MySQL.g:2241:1: aliased_expression : expression ( select_alias )? ;
 */
static MySQLParser_aliased_expression_return
aliased_expression(pMySQLParser ctx)
{
    MySQLParser_aliased_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_expression_return expression2447;
    #undef	RETURN_TYPE_expression2447
    #define	RETURN_TYPE_expression2447 MySQLParser_expression_return

    MySQLParser_select_alias_return select_alias2448;
    #undef	RETURN_TYPE_select_alias2448
    #define	RETURN_TYPE_select_alias2448 MySQLParser_select_alias_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    expression2447.tree = NULL;

    select_alias2448.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2241:19: ( expression ( select_alias )? )
        // MySQL.g:2242:2: expression ( select_alias )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_aliased_expression12719);
            expression2447=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealiased_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2447.tree);

            // MySQL.g:2242:13: ( select_alias )?
            {
                int alt680=2;
                {
                    int LA680_0 = LA(1);
                    if ( (LA680_0 == AS_SYMBOL || LA680_0 == BACK_TICK_QUOTED_ID || LA680_0 == IDENTIFIER || LA680_0 == SINGLE_QUOTED_TEXT))
                    {
                        alt680=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA680_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt680=1;
                    }
                    else if ( (((LA680_0 >= ASCII_SYMBOL) && (LA680_0 <= YEAR_SYMBOL))))
                    {
                        alt680=1;
                    }
                }
                switch (alt680)
                {
            	case 1:
            	    // MySQL.g:2242:13: select_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_select_alias_in_aliased_expression12721);
            	        select_alias2448=select_alias(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_alias2448.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealiased_expressionEx; /* Prevent compiler warnings */
    rulealiased_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end aliased_expression */

/**
 * $ANTLR start variable
 * MySQL.g:2245:1: variable options {greedy=true; } : ( user_variable ( ASSIGN_OPERATOR ^ expression )? | system_variable );
 */
static MySQLParser_variable_return
variable(pMySQLParser ctx)
{
    MySQLParser_variable_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ASSIGN_OPERATOR2450;
    MySQLParser_user_variable_return user_variable2449;
    #undef	RETURN_TYPE_user_variable2449
    #define	RETURN_TYPE_user_variable2449 MySQLParser_user_variable_return

    MySQLParser_expression_return expression2451;
    #undef	RETURN_TYPE_expression2451
    #define	RETURN_TYPE_expression2451 MySQLParser_expression_return

    MySQLParser_system_variable_return system_variable2452;
    #undef	RETURN_TYPE_system_variable2452
    #define	RETURN_TYPE_system_variable2452 MySQLParser_system_variable_return

    pANTLR3_BASE_TREE ASSIGN_OPERATOR2450_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASSIGN_OPERATOR2450       = NULL;
    user_variable2449.tree = NULL;

    expression2451.tree = NULL;

    system_variable2452.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASSIGN_OPERATOR2450_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2245:36: ( user_variable ( ASSIGN_OPERATOR ^ expression )? | system_variable )

            ANTLR3_UINT32 alt682;

            alt682=2;

            switch ( LA(1) )
            {
            case AT_SIGN_SYMBOL:
            case AT_TEXT_SUFFIX:
            	{
            		alt682=1;
            	}
                break;
            case AT_AT_SIGN_SYMBOL:
            	{
            		alt682=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 682;
                EXCEPTION->state        = 0;


                goto rulevariableEx;

            }

            switch (alt682)
            {
        	case 1:
        	    // MySQL.g:2246:2: user_variable ( ASSIGN_OPERATOR ^ expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_user_variable_in_variable12742);
        	        user_variable2449=user_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable2449.tree);

        	        // MySQL.g:2246:16: ( ASSIGN_OPERATOR ^ expression )?
        	        {
        	            int alt681=2;
        	            switch ( LA(1) )
        	            {
        	                case ASSIGN_OPERATOR:
        	                	{
        	                		alt681=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt681)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2246:17: ASSIGN_OPERATOR ^ expression
        	        	    {
        	        	        ASSIGN_OPERATOR2450 = (pANTLR3_COMMON_TOKEN) MATCHT(ASSIGN_OPERATOR, &FOLLOW_ASSIGN_OPERATOR_in_variable12745);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ASSIGN_OPERATOR2450_tree = 
        	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASSIGN_OPERATOR2450))
        	        	        ;
        	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ASSIGN_OPERATOR2450_tree, root_0));
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_variable12748);
        	        	        expression2451=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2451.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2247:4: system_variable
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_system_variable_in_variable12755);
        	        system_variable2452=system_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, system_variable2452.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulevariableEx; /* Prevent compiler warnings */
    rulevariableEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end variable */

/**
 * $ANTLR start user_variable
 * MySQL.g:2250:1: user_variable : ( ( AT_SIGN_SYMBOL text_or_identifier ) -> AT_TEXT_SUFFIX AT_SIGN_SYMBOL text_or_identifier | AT_TEXT_SUFFIX );
 */
static MySQLParser_user_variable_return
user_variable(pMySQLParser ctx)
{
    MySQLParser_user_variable_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL2453;
    pANTLR3_COMMON_TOKEN    AT_TEXT_SUFFIX2455;
    MySQLParser_text_or_identifier_return text_or_identifier2454;
    #undef	RETURN_TYPE_text_or_identifier2454
    #define	RETURN_TYPE_text_or_identifier2454 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE AT_SIGN_SYMBOL2453_tree;
    pANTLR3_BASE_TREE AT_TEXT_SUFFIX2455_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_AT_SIGN_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_text_or_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SIGN_SYMBOL2453       = NULL;
    AT_TEXT_SUFFIX2455       = NULL;
    text_or_identifier2454.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SIGN_SYMBOL2453_tree   = NULL;
    AT_TEXT_SUFFIX2455_tree   = NULL;

    stream_AT_SIGN_SYMBOL   = NULL;
    #define CREATE_stream_AT_SIGN_SYMBOL  if (stream_AT_SIGN_SYMBOL == NULL) {stream_AT_SIGN_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token AT_SIGN_SYMBOL"); } 
    stream_text_or_identifier   = NULL;
    #define CREATE_stream_text_or_identifier  if (stream_text_or_identifier == NULL) {stream_text_or_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule text_or_identifier"); }

    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2250:14: ( ( AT_SIGN_SYMBOL text_or_identifier ) -> AT_TEXT_SUFFIX AT_SIGN_SYMBOL text_or_identifier | AT_TEXT_SUFFIX )

            ANTLR3_UINT32 alt683;

            alt683=2;

            switch ( LA(1) )
            {
            case AT_SIGN_SYMBOL:
            	{
            		alt683=1;
            	}
                break;
            case AT_TEXT_SUFFIX:
            	{
            		alt683=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 683;
                EXCEPTION->state        = 0;


                goto ruleuser_variableEx;

            }

            switch (alt683)
            {
        	case 1:
        	    // MySQL.g:2251:2: ( AT_SIGN_SYMBOL text_or_identifier )
        	    {
        	        // MySQL.g:2251:2: ( AT_SIGN_SYMBOL text_or_identifier )
        	        // MySQL.g:2251:3: AT_SIGN_SYMBOL text_or_identifier
        	        {
        	            AT_SIGN_SYMBOL2453 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_user_variable12765);
        	            if  (HASEXCEPTION())
        	            {
        	                goto ruleuser_variableEx;
        	            }
        	            if (HASFAILED())
        	            {
        	                return retval;
        	            }
        	             
        	            if ( BACKTRACKING==0 ) { CREATE_stream_AT_SIGN_SYMBOL; stream_AT_SIGN_SYMBOL->add(stream_AT_SIGN_SYMBOL, AT_SIGN_SYMBOL2453, NULL); }


        	            FOLLOWPUSH(FOLLOW_text_or_identifier_in_user_variable12767);
        	            text_or_identifier2454=text_or_identifier(ctx);

        	            FOLLOWPOP();
        	            if  (HASEXCEPTION())
        	            {
        	                goto ruleuser_variableEx;
        	            }
        	            if (HASFAILED())
        	            {
        	                return retval;
        	            }

        	            if ( BACKTRACKING==0 ) { CREATE_stream_text_or_identifier; stream_text_or_identifier->add(stream_text_or_identifier, text_or_identifier2454.tree, NULL); }

        	        }


        	        /* AST REWRITE
        	         * elements          : text_or_identifier, AT_SIGN_SYMBOL
        	         * token labels      : 
        	         * rule labels       : retval
        	         * token list labels : 
        	         * rule list labels  : 
        	         */
        	        if ( BACKTRACKING==0 ) 

        	        {
        	        	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

        	        	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

        	        	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	retval.tree    = root_0;
        	        	// 2251:38: -> AT_TEXT_SUFFIX AT_SIGN_SYMBOL text_or_identifier
        	        	{
        	        	    ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	    (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, AT_TEXT_SUFFIX, (pANTLR3_UINT8)"AT_TEXT_SUFFIX")
        	        	    );

        	        	    ADAPTOR->addChild(ADAPTOR, root_0, 
        	        	    stream_AT_SIGN_SYMBOL == NULL ? NULL : stream_AT_SIGN_SYMBOL->nextNode(stream_AT_SIGN_SYMBOL)
        	        	    );

        	        	    ADAPTOR->addChild(ADAPTOR, root_0, stream_text_or_identifier == NULL ? NULL : stream_text_or_identifier->nextTree(stream_text_or_identifier));

        	        	}


        	        	retval.tree = root_0; // set result root
        	        	if (stream_retval != NULL) stream_retval->free(stream_retval);


        	        }
        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2252:4: AT_TEXT_SUFFIX
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AT_TEXT_SUFFIX2455 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_TEXT_SUFFIX, &FOLLOW_AT_TEXT_SUFFIX_in_user_variable12781);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuser_variableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AT_TEXT_SUFFIX2455_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_TEXT_SUFFIX2455));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_TEXT_SUFFIX2455_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleuser_variableEx; /* Prevent compiler warnings */
    ruleuser_variableEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_AT_SIGN_SYMBOL != NULL) stream_AT_SIGN_SYMBOL->free(stream_AT_SIGN_SYMBOL);
        if (stream_text_or_identifier != NULL) stream_text_or_identifier->free(stream_text_or_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end user_variable */

/**
 * $ANTLR start system_variable
 * MySQL.g:2256:1: system_variable : AT_AT_SIGN_SYMBOL ( options {greedy=true; } : option_type DOT_SYMBOL )? variable_name ;
 */
static MySQLParser_system_variable_return
system_variable(pMySQLParser ctx)
{
    MySQLParser_system_variable_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AT_AT_SIGN_SYMBOL2456;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2458;
    MySQLParser_option_type_return option_type2457;
    #undef	RETURN_TYPE_option_type2457
    #define	RETURN_TYPE_option_type2457 MySQLParser_option_type_return

    MySQLParser_variable_name_return variable_name2459;
    #undef	RETURN_TYPE_variable_name2459
    #define	RETURN_TYPE_variable_name2459 MySQLParser_variable_name_return

    pANTLR3_BASE_TREE AT_AT_SIGN_SYMBOL2456_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2458_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_AT_SIGN_SYMBOL2456       = NULL;
    DOT_SYMBOL2458       = NULL;
    option_type2457.tree = NULL;

    variable_name2459.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_AT_SIGN_SYMBOL2456_tree   = NULL;
    DOT_SYMBOL2458_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2256:16: ( AT_AT_SIGN_SYMBOL ( options {greedy=true; } : option_type DOT_SYMBOL )? variable_name )
        // MySQL.g:2257:2: AT_AT_SIGN_SYMBOL ( options {greedy=true; } : option_type DOT_SYMBOL )? variable_name
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            AT_AT_SIGN_SYMBOL2456 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_AT_SIGN_SYMBOL, &FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable12791);
            if  (HASEXCEPTION())
            {
                goto rulesystem_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AT_AT_SIGN_SYMBOL2456_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_AT_SIGN_SYMBOL2456));
            ADAPTOR->addChild(ADAPTOR, root_0, AT_AT_SIGN_SYMBOL2456_tree);
            }

            // MySQL.g:2257:20: ( options {greedy=true; } : option_type DOT_SYMBOL )?
            {
                int alt684=2;
                switch ( LA(1) )
                {
                    case GLOBAL_SYMBOL:
                    case LOCAL_SYMBOL:
                    case SESSION_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case DOT_SYMBOL:
                    		    	{
                    		    		alt684=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt684)
                {
            	case 1:
            	    // MySQL.g:2257:50: option_type DOT_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_option_type_in_system_variable12807);
            	        option_type2457=option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesystem_variableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type2457.tree);

            	        DOT_SYMBOL2458 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_system_variable12809);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesystem_variableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2458_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2458));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2458_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_variable_name_in_system_variable12813);
            variable_name2459=variable_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesystem_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name2459.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulesystem_variableEx; /* Prevent compiler warnings */
    rulesystem_variableEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end system_variable */

/**
 * $ANTLR start variable_name
 * MySQL.g:2260:1: variable_name : ( identifier ( DOT_SYMBOL identifier )? | DEFAULT_SYMBOL DOT_SYMBOL identifier );
 */
static MySQLParser_variable_name_return
variable_name(pMySQLParser ctx)
{
    MySQLParser_variable_name_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2461;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2463;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2464;
    MySQLParser_identifier_return identifier2460;
    #undef	RETURN_TYPE_identifier2460
    #define	RETURN_TYPE_identifier2460 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2462;
    #undef	RETURN_TYPE_identifier2462
    #define	RETURN_TYPE_identifier2462 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2465;
    #undef	RETURN_TYPE_identifier2465
    #define	RETURN_TYPE_identifier2465 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2461_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2463_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2464_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2461       = NULL;
    DEFAULT_SYMBOL2463       = NULL;
    DOT_SYMBOL2464       = NULL;
    identifier2460.tree = NULL;

    identifier2462.tree = NULL;

    identifier2465.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2461_tree   = NULL;
    DEFAULT_SYMBOL2463_tree   = NULL;
    DOT_SYMBOL2464_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2260:14: ( identifier ( DOT_SYMBOL identifier )? | DEFAULT_SYMBOL DOT_SYMBOL identifier )

            ANTLR3_UINT32 alt686;

            alt686=2;

            {
                int LA686_0 = LA(1);
                if ( (LA686_0 == BACK_TICK_QUOTED_ID || LA686_0 == IDENTIFIER))
                {
                    alt686=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA686_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt686=1;
                }
                else if ( (((LA686_0 >= ASCII_SYMBOL) && (LA686_0 <= YEAR_SYMBOL))))
                {
                    alt686=1;
                }
                else if ( (LA686_0 == DEFAULT_SYMBOL))
                {
                    alt686=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 686;
                    EXCEPTION->state        = 0;


                    goto rulevariable_nameEx;

                }
            }
            switch (alt686)
            {
        	case 1:
        	    // MySQL.g:2261:2: identifier ( DOT_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name12822);
        	        identifier2460=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2460.tree);

        	        // MySQL.g:2261:13: ( DOT_SYMBOL identifier )?
        	        {
        	            int alt685=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt685=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt685)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2261:14: DOT_SYMBOL identifier
        	        	    {
        	        	        DOT_SYMBOL2461 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_variable_name12825);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_nameEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL2461_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2461));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2461_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name12827);
        	        	        identifier2462=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_nameEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2462.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2262:4: DEFAULT_SYMBOL DOT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2463 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_variable_name12838);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2463));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2463_tree);
        	        }

        	        DOT_SYMBOL2464 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_variable_name12840);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOT_SYMBOL2464_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2464));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2464_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name12842);
        	        identifier2465=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2465.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulevariable_nameEx; /* Prevent compiler warnings */
    rulevariable_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end variable_name */

/**
 * $ANTLR start match_expression
 * MySQL.g:2265:1: match_expression : MATCH_SYMBOL ^ OPEN_PAR_SYMBOL field_name_list CLOSE_PAR_SYMBOL AGAINST_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression ( IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL | ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )? ) CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_match_expression_return
match_expression(pMySQLParser ctx)
{
    MySQLParser_match_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MATCH_SYMBOL2466;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2467;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2469;
    pANTLR3_COMMON_TOKEN    AGAINST_SYMBOL2470;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2471;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2473;
    pANTLR3_COMMON_TOKEN    BOOLEAN_SYMBOL2474;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL2475;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2476;
    pANTLR3_COMMON_TOKEN    NATURAL_SYMBOL2477;
    pANTLR3_COMMON_TOKEN    LANGUAGE_SYMBOL2478;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL2479;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL2480;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL2481;
    pANTLR3_COMMON_TOKEN    EXPANSION_SYMBOL2482;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2483;
    MySQLParser_field_name_list_return field_name_list2468;
    #undef	RETURN_TYPE_field_name_list2468
    #define	RETURN_TYPE_field_name_list2468 MySQLParser_field_name_list_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression2472;
    #undef	RETURN_TYPE_bitwise_or_expression2472
    #define	RETURN_TYPE_bitwise_or_expression2472 MySQLParser_bitwise_or_expression_return

    pANTLR3_BASE_TREE MATCH_SYMBOL2466_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2467_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2469_tree;
    pANTLR3_BASE_TREE AGAINST_SYMBOL2470_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2471_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2473_tree;
    pANTLR3_BASE_TREE BOOLEAN_SYMBOL2474_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL2475_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2476_tree;
    pANTLR3_BASE_TREE NATURAL_SYMBOL2477_tree;
    pANTLR3_BASE_TREE LANGUAGE_SYMBOL2478_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL2479_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL2480_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL2481_tree;
    pANTLR3_BASE_TREE EXPANSION_SYMBOL2482_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2483_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MATCH_SYMBOL2466       = NULL;
    OPEN_PAR_SYMBOL2467       = NULL;
    CLOSE_PAR_SYMBOL2469       = NULL;
    AGAINST_SYMBOL2470       = NULL;
    OPEN_PAR_SYMBOL2471       = NULL;
    IN_SYMBOL2473       = NULL;
    BOOLEAN_SYMBOL2474       = NULL;
    MODE_SYMBOL2475       = NULL;
    IN_SYMBOL2476       = NULL;
    NATURAL_SYMBOL2477       = NULL;
    LANGUAGE_SYMBOL2478       = NULL;
    MODE_SYMBOL2479       = NULL;
    WITH_SYMBOL2480       = NULL;
    QUERY_SYMBOL2481       = NULL;
    EXPANSION_SYMBOL2482       = NULL;
    CLOSE_PAR_SYMBOL2483       = NULL;
    field_name_list2468.tree = NULL;

    bitwise_or_expression2472.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MATCH_SYMBOL2466_tree   = NULL;
    OPEN_PAR_SYMBOL2467_tree   = NULL;
    CLOSE_PAR_SYMBOL2469_tree   = NULL;
    AGAINST_SYMBOL2470_tree   = NULL;
    OPEN_PAR_SYMBOL2471_tree   = NULL;
    IN_SYMBOL2473_tree   = NULL;
    BOOLEAN_SYMBOL2474_tree   = NULL;
    MODE_SYMBOL2475_tree   = NULL;
    IN_SYMBOL2476_tree   = NULL;
    NATURAL_SYMBOL2477_tree   = NULL;
    LANGUAGE_SYMBOL2478_tree   = NULL;
    MODE_SYMBOL2479_tree   = NULL;
    WITH_SYMBOL2480_tree   = NULL;
    QUERY_SYMBOL2481_tree   = NULL;
    EXPANSION_SYMBOL2482_tree   = NULL;
    CLOSE_PAR_SYMBOL2483_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2265:17: ( MATCH_SYMBOL ^ OPEN_PAR_SYMBOL field_name_list CLOSE_PAR_SYMBOL AGAINST_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression ( IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL | ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )? ) CLOSE_PAR_SYMBOL )
        // MySQL.g:2266:2: MATCH_SYMBOL ^ OPEN_PAR_SYMBOL field_name_list CLOSE_PAR_SYMBOL AGAINST_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression ( IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL | ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )? ) CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            MATCH_SYMBOL2466 = (pANTLR3_COMMON_TOKEN) MATCHT(MATCH_SYMBOL, &FOLLOW_MATCH_SYMBOL_in_match_expression12851);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MATCH_SYMBOL2466_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MATCH_SYMBOL2466))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MATCH_SYMBOL2466_tree, root_0));
            }

            OPEN_PAR_SYMBOL2467 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12854);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2467_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2467));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2467_tree);
            }

            FOLLOWPUSH(FOLLOW_field_name_list_in_match_expression12856);
            field_name_list2468=field_name_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name_list2468.tree);

            CLOSE_PAR_SYMBOL2469 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12858);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2469));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2469_tree);
            }

            AGAINST_SYMBOL2470 = (pANTLR3_COMMON_TOKEN) MATCHT(AGAINST_SYMBOL, &FOLLOW_AGAINST_SYMBOL_in_match_expression12860);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AGAINST_SYMBOL2470_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AGAINST_SYMBOL2470));
            ADAPTOR->addChild(ADAPTOR, root_0, AGAINST_SYMBOL2470_tree);
            }

            OPEN_PAR_SYMBOL2471 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_match_expression12862);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2471_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2471));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2471_tree);
            }

            FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_match_expression12864);
            bitwise_or_expression2472=bitwise_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression2472.tree);

            // MySQL.g:2267:3: ( IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL | ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )? )
            {
                int alt689=2;
                switch ( LA(1) )
                {
                case IN_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case BOOLEAN_SYMBOL:
                			{
                				alt689=1;
                			}
                		    break;
                		case NATURAL_SYMBOL:
                			{
                				alt689=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 689;
                		    EXCEPTION->state        = 1;


                		    goto rulematch_expressionEx;

                		}

                	}
                    break;
                case CLOSE_PAR_SYMBOL:
                case WITH_SYMBOL:
                	{
                		alt689=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 689;
                    EXCEPTION->state        = 0;


                    goto rulematch_expressionEx;

                }

                switch (alt689)
                {
            	case 1:
            	    // MySQL.g:2268:4: IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL
            	    {
            	        IN_SYMBOL2473 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_match_expression12873);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IN_SYMBOL2473_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2473));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2473_tree);
            	        }

            	        BOOLEAN_SYMBOL2474 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOLEAN_SYMBOL, &FOLLOW_BOOLEAN_SYMBOL_in_match_expression12875);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BOOLEAN_SYMBOL2474_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOLEAN_SYMBOL2474));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BOOLEAN_SYMBOL2474_tree);
            	        }

            	        MODE_SYMBOL2475 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_match_expression12877);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MODE_SYMBOL2475_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL2475));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL2475_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2269:6: ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )?
            	    {
            	        // MySQL.g:2269:6: ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )?
            	        {
            	            int alt687=2;
            	            switch ( LA(1) )
            	            {
            	                case IN_SYMBOL:
            	                	{
            	                		alt687=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt687)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2269:7: IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL
            	        	    {
            	        	        IN_SYMBOL2476 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_match_expression12885);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL2476_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2476));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2476_tree);
            	        	        }

            	        	        NATURAL_SYMBOL2477 = (pANTLR3_COMMON_TOKEN) MATCHT(NATURAL_SYMBOL, &FOLLOW_NATURAL_SYMBOL_in_match_expression12887);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NATURAL_SYMBOL2477_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATURAL_SYMBOL2477));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NATURAL_SYMBOL2477_tree);
            	        	        }

            	        	        LANGUAGE_SYMBOL2478 = (pANTLR3_COMMON_TOKEN) MATCHT(LANGUAGE_SYMBOL, &FOLLOW_LANGUAGE_SYMBOL_in_match_expression12889);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LANGUAGE_SYMBOL2478_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LANGUAGE_SYMBOL2478));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LANGUAGE_SYMBOL2478_tree);
            	        	        }

            	        	        MODE_SYMBOL2479 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_match_expression12891);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        MODE_SYMBOL2479_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL2479));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL2479_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:2269:62: ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )?
            	        {
            	            int alt688=2;
            	            switch ( LA(1) )
            	            {
            	                case WITH_SYMBOL:
            	                	{
            	                		alt688=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt688)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2269:63: WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL
            	        	    {
            	        	        WITH_SYMBOL2480 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_match_expression12896);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        WITH_SYMBOL2480_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2480));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2480_tree);
            	        	        }

            	        	        QUERY_SYMBOL2481 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_match_expression12898);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        QUERY_SYMBOL2481_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL2481));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL2481_tree);
            	        	        }

            	        	        EXPANSION_SYMBOL2482 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPANSION_SYMBOL, &FOLLOW_EXPANSION_SYMBOL_in_match_expression12900);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EXPANSION_SYMBOL2482_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPANSION_SYMBOL2482));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EXPANSION_SYMBOL2482_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2483 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression12910);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2483_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2483));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2483_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulematch_expressionEx; /* Prevent compiler warnings */
    rulematch_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end match_expression */

/**
 * $ANTLR start case_expression
 * MySQL.g:2275:1: case_expression : CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL ;
 */
static MySQLParser_case_expression_return
case_expression(pMySQLParser ctx)
{
    MySQLParser_case_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CASE_SYMBOL2484;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2489;
    MySQLParser_expression_return expression2485;
    #undef	RETURN_TYPE_expression2485
    #define	RETURN_TYPE_expression2485 MySQLParser_expression_return

    MySQLParser_when_expression_return when_expression2486;
    #undef	RETURN_TYPE_when_expression2486
    #define	RETURN_TYPE_when_expression2486 MySQLParser_when_expression_return

    MySQLParser_then_expression_return then_expression2487;
    #undef	RETURN_TYPE_then_expression2487
    #define	RETURN_TYPE_then_expression2487 MySQLParser_then_expression_return

    MySQLParser_else_expression_return else_expression2488;
    #undef	RETURN_TYPE_else_expression2488
    #define	RETURN_TYPE_else_expression2488 MySQLParser_else_expression_return

    pANTLR3_BASE_TREE CASE_SYMBOL2484_tree;
    pANTLR3_BASE_TREE END_SYMBOL2489_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CASE_SYMBOL2484       = NULL;
    END_SYMBOL2489       = NULL;
    expression2485.tree = NULL;

    when_expression2486.tree = NULL;

    then_expression2487.tree = NULL;

    else_expression2488.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CASE_SYMBOL2484_tree   = NULL;
    END_SYMBOL2489_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2275:16: ( CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL )
        // MySQL.g:2276:2: CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CASE_SYMBOL2484 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_expression12920);
            if  (HASEXCEPTION())
            {
                goto rulecase_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2484_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2484));
            ADAPTOR->addChild(ADAPTOR, root_0, CASE_SYMBOL2484_tree);
            }

            // MySQL.g:2276:14: ( expression )?
            {
                int alt690=2;
                {
                    int LA690_0 = LA(1);
                    if ( (LA690_0 == BITWISE_NOT_OPERATOR || LA690_0 == INTERVAL_SYMBOL || LA690_0 == LOGICAL_NOT_OPERATOR || LA690_0 == MINUS_OPERATOR || LA690_0 == NCHAR_TEXT || LA690_0 == NOT2_SYMBOL || LA690_0 == NOT_SYMBOL || LA690_0 == PLUS_OPERATOR || LA690_0 == SINGLE_QUOTED_TEXT || LA690_0 == UNDERSCORE_CHARSET))
                    {
                        alt690=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA690_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt690=1;
                    }
                    else if ( (LA690_0 == FALSE_SYMBOL || LA690_0 == FLOAT || ((LA690_0 >= HEXNUMBER) && (LA690_0 <= HEXSTRING)) || LA690_0 == INTEGER || LA690_0 == TRUE_SYMBOL))
                    {
                        alt690=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA690_0 >= BITNUMBER) && (LA690_0 <= BITSTRING))))
                    {
                        alt690=1;
                    }
                    else if ( (((LA690_0 >= ASCII_SYMBOL) && (LA690_0 <= YEAR_SYMBOL)) || ((LA690_0 >= AT_AT_SIGN_SYMBOL) && (LA690_0 <= AT_TEXT_SUFFIX)) || LA690_0 == BACK_TICK_QUOTED_ID || LA690_0 == BINARY_SYMBOL || ((LA690_0 >= BIT_AND_SYMBOL) && (LA690_0 <= BIT_XOR_SYMBOL)) || ((LA690_0 >= CASE_SYMBOL) && (LA690_0 <= CAST_SYMBOL)) || LA690_0 == CHAR_SYMBOL || ((LA690_0 >= CONVERT_SYMBOL) && (LA690_0 <= COUNT_SYMBOL)) || LA690_0 == CURDATE_SYMBOL || LA690_0 == CURRENT_USER_SYMBOL || LA690_0 == CURTIME_SYMBOL || LA690_0 == DATABASE_SYMBOL || LA690_0 == DATE_ADD_SYMBOL || LA690_0 == DATE_SUB_SYMBOL || LA690_0 == EXISTS_SYMBOL || LA690_0 == EXTRACT_SYMBOL || LA690_0 == GROUP_CONCAT_SYMBOL || ((LA690_0 >= IDENTIFIER) && (LA690_0 <= IF_SYMBOL)) || LA690_0 == INSERT_SYMBOL || LA690_0 == LEFT_SYMBOL || LA690_0 == MATCH_SYMBOL || LA690_0 == MAX_SYMBOL || LA690_0 == MIN_SYMBOL || LA690_0 == MOD_SYMBOL || LA690_0 == NOW_SYMBOL || LA690_0 == NULL2_SYMBOL || LA690_0 == NULL_SYMBOL || ((LA690_0 >= OPEN_CURLY_SYMBOL) && (LA690_0 <= OPEN_PAR_SYMBOL)) || LA690_0 == PARAM_MARKER || LA690_0 == POSITION_SYMBOL || ((LA690_0 >= REPEAT_SYMBOL) && (LA690_0 <= REPLACE_SYMBOL)) || LA690_0 == RIGHT_SYMBOL || LA690_0 == STDDEV_SAMP_SYMBOL || LA690_0 == STD_SYMBOL || LA690_0 == SUBSTRING_SYMBOL || ((LA690_0 >= SUM_SYMBOL) && (LA690_0 <= SYSDATE_SYMBOL)) || LA690_0 == TRIM_SYMBOL || ((LA690_0 >= UTC_DATE_SYMBOL) && (LA690_0 <= UTC_TIME_SYMBOL)) || LA690_0 == VALUES_SYMBOL || LA690_0 == VARIANCE_SYMBOL || LA690_0 == VAR_SAMP_SYMBOL))
                    {
                        alt690=1;
                    }
                }
                switch (alt690)
                {
            	case 1:
            	    // MySQL.g:2276:14: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_case_expression12922);
            	        expression2485=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2485.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2276:26: ( when_expression then_expression )+
            {
                int cnt691=0;

                for (;;)
                {
                    int alt691=2;
            	switch ( LA(1) )
            	{
            	case WHEN_SYMBOL:
            		{
            			alt691=1;
            		}
            	    break;

            	}

            	switch (alt691)
            	{
            	    case 1:
            	        // MySQL.g:2276:27: when_expression then_expression
            	        {
            	            FOLLOWPUSH(FOLLOW_when_expression_in_case_expression12926);
            	            when_expression2486=when_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_expressionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, when_expression2486.tree);

            	            FOLLOWPUSH(FOLLOW_then_expression_in_case_expression12928);
            	            then_expression2487=then_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_expressionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_expression2487.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt691 >= 1 )
            		{
            		    goto loop691;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulecase_expressionEx;
            	}
            	cnt691++;
                }
                loop691: ;	/* Jump to here if this rule does not match */
            }

            // MySQL.g:2276:61: ( else_expression )?
            {
                int alt692=2;
                switch ( LA(1) )
                {
                    case ELSE_SYMBOL:
                    	{
                    		alt692=1;
                    	}
                        break;
                }

                switch (alt692)
                {
            	case 1:
            	    // MySQL.g:2276:61: else_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_else_expression_in_case_expression12932);
            	        else_expression2488=else_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, else_expression2488.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2489 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_case_expression12935);
            if  (HASEXCEPTION())
            {
                goto rulecase_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2489_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2489));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2489_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecase_expressionEx; /* Prevent compiler warnings */
    rulecase_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end case_expression */

/**
 * $ANTLR start when_expression
 * MySQL.g:2279:1: when_expression : WHEN_SYMBOL ^ expression ;
 */
static MySQLParser_when_expression_return
when_expression(pMySQLParser ctx)
{
    MySQLParser_when_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    WHEN_SYMBOL2490;
    MySQLParser_expression_return expression2491;
    #undef	RETURN_TYPE_expression2491
    #define	RETURN_TYPE_expression2491 MySQLParser_expression_return

    pANTLR3_BASE_TREE WHEN_SYMBOL2490_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHEN_SYMBOL2490       = NULL;
    expression2491.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHEN_SYMBOL2490_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2279:16: ( WHEN_SYMBOL ^ expression )
        // MySQL.g:2280:2: WHEN_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHEN_SYMBOL2490 = (pANTLR3_COMMON_TOKEN) MATCHT(WHEN_SYMBOL, &FOLLOW_WHEN_SYMBOL_in_when_expression12944);
            if  (HASEXCEPTION())
            {
                goto rulewhen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHEN_SYMBOL2490_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHEN_SYMBOL2490))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHEN_SYMBOL2490_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_when_expression12947);
            expression2491=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2491.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulewhen_expressionEx; /* Prevent compiler warnings */
    rulewhen_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end when_expression */

/**
 * $ANTLR start then_expression
 * MySQL.g:2283:1: then_expression : THEN_SYMBOL ^ expression ;
 */
static MySQLParser_then_expression_return
then_expression(pMySQLParser ctx)
{
    MySQLParser_then_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    THEN_SYMBOL2492;
    MySQLParser_expression_return expression2493;
    #undef	RETURN_TYPE_expression2493
    #define	RETURN_TYPE_expression2493 MySQLParser_expression_return

    pANTLR3_BASE_TREE THEN_SYMBOL2492_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    THEN_SYMBOL2492       = NULL;
    expression2493.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    THEN_SYMBOL2492_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2283:16: ( THEN_SYMBOL ^ expression )
        // MySQL.g:2284:2: THEN_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            THEN_SYMBOL2492 = (pANTLR3_COMMON_TOKEN) MATCHT(THEN_SYMBOL, &FOLLOW_THEN_SYMBOL_in_then_expression12956);
            if  (HASEXCEPTION())
            {
                goto rulethen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            THEN_SYMBOL2492_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THEN_SYMBOL2492))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, THEN_SYMBOL2492_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_then_expression12959);
            expression2493=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulethen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2493.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulethen_expressionEx; /* Prevent compiler warnings */
    rulethen_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end then_expression */

/**
 * $ANTLR start else_expression
 * MySQL.g:2287:1: else_expression : ELSE_SYMBOL ^ expression ;
 */
static MySQLParser_else_expression_return
else_expression(pMySQLParser ctx)
{
    MySQLParser_else_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ELSE_SYMBOL2494;
    MySQLParser_expression_return expression2495;
    #undef	RETURN_TYPE_expression2495
    #define	RETURN_TYPE_expression2495 MySQLParser_expression_return

    pANTLR3_BASE_TREE ELSE_SYMBOL2494_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSE_SYMBOL2494       = NULL;
    expression2495.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSE_SYMBOL2494_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2287:16: ( ELSE_SYMBOL ^ expression )
        // MySQL.g:2288:2: ELSE_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ELSE_SYMBOL2494 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_else_expression12968);
            if  (HASEXCEPTION())
            {
                goto ruleelse_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ELSE_SYMBOL2494_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2494))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ELSE_SYMBOL2494_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_else_expression12971);
            expression2495=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleelse_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2495.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleelse_expressionEx; /* Prevent compiler warnings */
    ruleelse_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end else_expression */

/**
 * $ANTLR start cast_expression
 * MySQL.g:2291:1: cast_expression : ( BINARY_SYMBOL primary | CAST_SYMBOL OPEN_PAR_SYMBOL expression AS_SYMBOL cast_type CLOSE_PAR_SYMBOL | CONVERT_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL cast_type | USING_SYMBOL charset_name ) CLOSE_PAR_SYMBOL );
 */
static MySQLParser_cast_expression_return
cast_expression(pMySQLParser ctx)
{
    MySQLParser_cast_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2496;
    pANTLR3_COMMON_TOKEN    CAST_SYMBOL2498;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2499;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2501;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2503;
    pANTLR3_COMMON_TOKEN    CONVERT_SYMBOL2504;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2505;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2507;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL2509;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2511;
    MySQLParser_primary_return primary2497;
    #undef	RETURN_TYPE_primary2497
    #define	RETURN_TYPE_primary2497 MySQLParser_primary_return

    MySQLParser_expression_return expression2500;
    #undef	RETURN_TYPE_expression2500
    #define	RETURN_TYPE_expression2500 MySQLParser_expression_return

    MySQLParser_cast_type_return cast_type2502;
    #undef	RETURN_TYPE_cast_type2502
    #define	RETURN_TYPE_cast_type2502 MySQLParser_cast_type_return

    MySQLParser_expression_return expression2506;
    #undef	RETURN_TYPE_expression2506
    #define	RETURN_TYPE_expression2506 MySQLParser_expression_return

    MySQLParser_cast_type_return cast_type2508;
    #undef	RETURN_TYPE_cast_type2508
    #define	RETURN_TYPE_cast_type2508 MySQLParser_cast_type_return

    MySQLParser_charset_name_return charset_name2510;
    #undef	RETURN_TYPE_charset_name2510
    #define	RETURN_TYPE_charset_name2510 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2496_tree;
    pANTLR3_BASE_TREE CAST_SYMBOL2498_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2499_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2501_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2503_tree;
    pANTLR3_BASE_TREE CONVERT_SYMBOL2504_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2505_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2507_tree;
    pANTLR3_BASE_TREE USING_SYMBOL2509_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2511_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2496       = NULL;
    CAST_SYMBOL2498       = NULL;
    OPEN_PAR_SYMBOL2499       = NULL;
    AS_SYMBOL2501       = NULL;
    CLOSE_PAR_SYMBOL2503       = NULL;
    CONVERT_SYMBOL2504       = NULL;
    OPEN_PAR_SYMBOL2505       = NULL;
    COMMA_SYMBOL2507       = NULL;
    USING_SYMBOL2509       = NULL;
    CLOSE_PAR_SYMBOL2511       = NULL;
    primary2497.tree = NULL;

    expression2500.tree = NULL;

    cast_type2502.tree = NULL;

    expression2506.tree = NULL;

    cast_type2508.tree = NULL;

    charset_name2510.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2496_tree   = NULL;
    CAST_SYMBOL2498_tree   = NULL;
    OPEN_PAR_SYMBOL2499_tree   = NULL;
    AS_SYMBOL2501_tree   = NULL;
    CLOSE_PAR_SYMBOL2503_tree   = NULL;
    CONVERT_SYMBOL2504_tree   = NULL;
    OPEN_PAR_SYMBOL2505_tree   = NULL;
    COMMA_SYMBOL2507_tree   = NULL;
    USING_SYMBOL2509_tree   = NULL;
    CLOSE_PAR_SYMBOL2511_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2291:16: ( BINARY_SYMBOL primary | CAST_SYMBOL OPEN_PAR_SYMBOL expression AS_SYMBOL cast_type CLOSE_PAR_SYMBOL | CONVERT_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL cast_type | USING_SYMBOL charset_name ) CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt694;

            alt694=3;

            switch ( LA(1) )
            {
            case BINARY_SYMBOL:
            	{
            		alt694=1;
            	}
                break;
            case CAST_SYMBOL:
            	{
            		alt694=2;
            	}
                break;
            case CONVERT_SYMBOL:
            	{
            		alt694=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 694;
                EXCEPTION->state        = 0;


                goto rulecast_expressionEx;

            }

            switch (alt694)
            {
        	case 1:
        	    // MySQL.g:2292:2: BINARY_SYMBOL primary
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2496 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_cast_expression12980);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2496_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2496));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2496_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_primary_in_cast_expression12982);
        	        primary2497=primary(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary2497.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2293:4: CAST_SYMBOL OPEN_PAR_SYMBOL expression AS_SYMBOL cast_type CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CAST_SYMBOL2498 = (pANTLR3_COMMON_TOKEN) MATCHT(CAST_SYMBOL, &FOLLOW_CAST_SYMBOL_in_cast_expression12987);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CAST_SYMBOL2498_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CAST_SYMBOL2498));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CAST_SYMBOL2498_tree);
        	        }

        	        OPEN_PAR_SYMBOL2499 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression12989);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2499_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2499));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2499_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_cast_expression12991);
        	        expression2500=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2500.tree);

        	        AS_SYMBOL2501 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_cast_expression12993);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AS_SYMBOL2501_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2501));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2501_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_cast_type_in_cast_expression12995);
        	        cast_type2502=cast_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_type2502.tree);

        	        CLOSE_PAR_SYMBOL2503 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression12997);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2503_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2503));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2503_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2294:4: CONVERT_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL cast_type | USING_SYMBOL charset_name ) CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONVERT_SYMBOL2504 = (pANTLR3_COMMON_TOKEN) MATCHT(CONVERT_SYMBOL, &FOLLOW_CONVERT_SYMBOL_in_cast_expression13002);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONVERT_SYMBOL2504_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONVERT_SYMBOL2504));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONVERT_SYMBOL2504_tree);
        	        }

        	        OPEN_PAR_SYMBOL2505 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression13004);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2505_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2505));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2505_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_cast_expression13006);
        	        expression2506=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2506.tree);

        	        // MySQL.g:2294:46: ( COMMA_SYMBOL cast_type | USING_SYMBOL charset_name )
        	        {
        	            int alt693=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt693=1;
        	            	}
        	                break;
        	            case USING_SYMBOL:
        	            	{
        	            		alt693=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 693;
        	                EXCEPTION->state        = 0;


        	                goto rulecast_expressionEx;

        	            }

        	            switch (alt693)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2294:47: COMMA_SYMBOL cast_type
        	        	    {
        	        	        COMMA_SYMBOL2507 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_cast_expression13009);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2507_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2507));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2507_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_cast_type_in_cast_expression13011);
        	        	        cast_type2508=cast_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_type2508.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2294:72: USING_SYMBOL charset_name
        	        	    {
        	        	        USING_SYMBOL2509 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_cast_expression13015);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USING_SYMBOL2509_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL2509));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL2509_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_cast_expression13017);
        	        	        charset_name2510=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2510.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2511 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression13020);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2511_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2511));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2511_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecast_expressionEx; /* Prevent compiler warnings */
    rulecast_expressionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cast_expression */

/**
 * $ANTLR start cast_type
 * MySQL.g:2297:1: cast_type : ( BINARY_SYMBOL ( field_length )? | CHAR_SYMBOL ( field_length )? ( encoding )? | NCHAR_SYMBOL ( field_length )? | SIGNED_SYMBOL ( INT_SYMBOL )? | UNSIGNED_SYMBOL ( INT_SYMBOL )? | DATE_SYMBOL | TIME_SYMBOL ( type_datetime_precision )? | DATETIME_SYMBOL ( type_datetime_precision )? | DECIMAL_SYMBOL ( float_options )? );
 */
static MySQLParser_cast_type_return
cast_type(pMySQLParser ctx)
{
    MySQLParser_cast_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2512;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2514;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL2517;
    pANTLR3_COMMON_TOKEN    SIGNED_SYMBOL2519;
    pANTLR3_COMMON_TOKEN    INT_SYMBOL2520;
    pANTLR3_COMMON_TOKEN    UNSIGNED_SYMBOL2521;
    pANTLR3_COMMON_TOKEN    INT_SYMBOL2522;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2523;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2524;
    pANTLR3_COMMON_TOKEN    DATETIME_SYMBOL2526;
    pANTLR3_COMMON_TOKEN    DECIMAL_SYMBOL2528;
    MySQLParser_field_length_return field_length2513;
    #undef	RETURN_TYPE_field_length2513
    #define	RETURN_TYPE_field_length2513 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2515;
    #undef	RETURN_TYPE_field_length2515
    #define	RETURN_TYPE_field_length2515 MySQLParser_field_length_return

    MySQLParser_encoding_return encoding2516;
    #undef	RETURN_TYPE_encoding2516
    #define	RETURN_TYPE_encoding2516 MySQLParser_encoding_return

    MySQLParser_field_length_return field_length2518;
    #undef	RETURN_TYPE_field_length2518
    #define	RETURN_TYPE_field_length2518 MySQLParser_field_length_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2525;
    #undef	RETURN_TYPE_type_datetime_precision2525
    #define	RETURN_TYPE_type_datetime_precision2525 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2527;
    #undef	RETURN_TYPE_type_datetime_precision2527
    #define	RETURN_TYPE_type_datetime_precision2527 MySQLParser_type_datetime_precision_return

    MySQLParser_float_options_return float_options2529;
    #undef	RETURN_TYPE_float_options2529
    #define	RETURN_TYPE_float_options2529 MySQLParser_float_options_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2512_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2514_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL2517_tree;
    pANTLR3_BASE_TREE SIGNED_SYMBOL2519_tree;
    pANTLR3_BASE_TREE INT_SYMBOL2520_tree;
    pANTLR3_BASE_TREE UNSIGNED_SYMBOL2521_tree;
    pANTLR3_BASE_TREE INT_SYMBOL2522_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2523_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2524_tree;
    pANTLR3_BASE_TREE DATETIME_SYMBOL2526_tree;
    pANTLR3_BASE_TREE DECIMAL_SYMBOL2528_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2512       = NULL;
    CHAR_SYMBOL2514       = NULL;
    NCHAR_SYMBOL2517       = NULL;
    SIGNED_SYMBOL2519       = NULL;
    INT_SYMBOL2520       = NULL;
    UNSIGNED_SYMBOL2521       = NULL;
    INT_SYMBOL2522       = NULL;
    DATE_SYMBOL2523       = NULL;
    TIME_SYMBOL2524       = NULL;
    DATETIME_SYMBOL2526       = NULL;
    DECIMAL_SYMBOL2528       = NULL;
    field_length2513.tree = NULL;

    field_length2515.tree = NULL;

    encoding2516.tree = NULL;

    field_length2518.tree = NULL;

    type_datetime_precision2525.tree = NULL;

    type_datetime_precision2527.tree = NULL;

    float_options2529.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2512_tree   = NULL;
    CHAR_SYMBOL2514_tree   = NULL;
    NCHAR_SYMBOL2517_tree   = NULL;
    SIGNED_SYMBOL2519_tree   = NULL;
    INT_SYMBOL2520_tree   = NULL;
    UNSIGNED_SYMBOL2521_tree   = NULL;
    INT_SYMBOL2522_tree   = NULL;
    DATE_SYMBOL2523_tree   = NULL;
    TIME_SYMBOL2524_tree   = NULL;
    DATETIME_SYMBOL2526_tree   = NULL;
    DECIMAL_SYMBOL2528_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2297:10: ( BINARY_SYMBOL ( field_length )? | CHAR_SYMBOL ( field_length )? ( encoding )? | NCHAR_SYMBOL ( field_length )? | SIGNED_SYMBOL ( INT_SYMBOL )? | UNSIGNED_SYMBOL ( INT_SYMBOL )? | DATE_SYMBOL | TIME_SYMBOL ( type_datetime_precision )? | DATETIME_SYMBOL ( type_datetime_precision )? | DECIMAL_SYMBOL ( float_options )? )

            ANTLR3_UINT32 alt704;

            alt704=9;

            switch ( LA(1) )
            {
            case BINARY_SYMBOL:
            	{
            		alt704=1;
            	}
                break;
            case CHAR_SYMBOL:
            	{
            		alt704=2;
            	}
                break;
            case NCHAR_SYMBOL:
            	{
            		alt704=3;
            	}
                break;
            case SIGNED_SYMBOL:
            	{
            		alt704=4;
            	}
                break;
            case UNSIGNED_SYMBOL:
            	{
            		alt704=5;
            	}
                break;
            case DATE_SYMBOL:
            	{
            		alt704=6;
            	}
                break;
            case TIME_SYMBOL:
            	{
            		alt704=7;
            	}
                break;
            case DATETIME_SYMBOL:
            	{
            		alt704=8;
            	}
                break;
            case DECIMAL_SYMBOL:
            	{
            		alt704=9;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 704;
                EXCEPTION->state        = 0;


                goto rulecast_typeEx;

            }

            switch (alt704)
            {
        	case 1:
        	    // MySQL.g:2298:2: BINARY_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2512 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_cast_type13029);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2512_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2512));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2512_tree);
        	        }

        	        // MySQL.g:2298:16: ( field_length )?
        	        {
        	            int alt695=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt695=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt695)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2298:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type13031);
        	        	        field_length2513=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2513.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2299:4: CHAR_SYMBOL ( field_length )? ( encoding )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2514 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_cast_type13037);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2514_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2514));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2514_tree);
        	        }

        	        // MySQL.g:2299:16: ( field_length )?
        	        {
        	            int alt696=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt696=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt696)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2299:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type13039);
        	        	        field_length2515=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2515.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2299:30: ( encoding )?
        	        {
        	            int alt697=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt697=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt697)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2299:30: encoding
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_encoding_in_cast_type13042);
        	        	        encoding2516=encoding(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, encoding2516.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2300:4: NCHAR_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL2517 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_cast_type13048);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL2517_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL2517));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL2517_tree);
        	        }

        	        // MySQL.g:2300:17: ( field_length )?
        	        {
        	            int alt698=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt698=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt698)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2300:17: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type13050);
        	        	        field_length2518=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2518.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2301:4: SIGNED_SYMBOL ( INT_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SIGNED_SYMBOL2519 = (pANTLR3_COMMON_TOKEN) MATCHT(SIGNED_SYMBOL, &FOLLOW_SIGNED_SYMBOL_in_cast_type13056);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SIGNED_SYMBOL2519_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SIGNED_SYMBOL2519));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SIGNED_SYMBOL2519_tree);
        	        }

        	        // MySQL.g:2301:18: ( INT_SYMBOL )?
        	        {
        	            int alt699=2;
        	            switch ( LA(1) )
        	            {
        	                case INT_SYMBOL:
        	                	{
        	                		alt699=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt699)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2301:18: INT_SYMBOL
        	        	    {
        	        	        INT_SYMBOL2520 = (pANTLR3_COMMON_TOKEN) MATCHT(INT_SYMBOL, &FOLLOW_INT_SYMBOL_in_cast_type13058);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INT_SYMBOL2520_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT_SYMBOL2520));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INT_SYMBOL2520_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2302:4: UNSIGNED_SYMBOL ( INT_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNSIGNED_SYMBOL2521 = (pANTLR3_COMMON_TOKEN) MATCHT(UNSIGNED_SYMBOL, &FOLLOW_UNSIGNED_SYMBOL_in_cast_type13064);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNSIGNED_SYMBOL2521_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNSIGNED_SYMBOL2521));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNSIGNED_SYMBOL2521_tree);
        	        }

        	        // MySQL.g:2302:20: ( INT_SYMBOL )?
        	        {
        	            int alt700=2;
        	            switch ( LA(1) )
        	            {
        	                case INT_SYMBOL:
        	                	{
        	                		alt700=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt700)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2302:20: INT_SYMBOL
        	        	    {
        	        	        INT_SYMBOL2522 = (pANTLR3_COMMON_TOKEN) MATCHT(INT_SYMBOL, &FOLLOW_INT_SYMBOL_in_cast_type13066);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INT_SYMBOL2522_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT_SYMBOL2522));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INT_SYMBOL2522_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2303:4: DATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2523 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_cast_type13072);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2523_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2523));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2523_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2304:4: TIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2524 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_cast_type13077);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2524_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2524));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2524_tree);
        	        }

        	        // MySQL.g:2304:16: ( type_datetime_precision )?
        	        {
        	            int alt701=2;
        	            {
        	                int LA701_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50600)) && (LA701_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt701=1;
        	                }
        	            }
        	            switch (alt701)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2304:16: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_cast_type13079);
        	        	        type_datetime_precision2525=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2525.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2305:4: DATETIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATETIME_SYMBOL2526 = (pANTLR3_COMMON_TOKEN) MATCHT(DATETIME_SYMBOL, &FOLLOW_DATETIME_SYMBOL_in_cast_type13085);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATETIME_SYMBOL2526_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATETIME_SYMBOL2526));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATETIME_SYMBOL2526_tree);
        	        }

        	        // MySQL.g:2305:20: ( type_datetime_precision )?
        	        {
        	            int alt702=2;
        	            {
        	                int LA702_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50600)) && (LA702_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt702=1;
        	                }
        	            }
        	            switch (alt702)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2305:20: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_cast_type13087);
        	        	        type_datetime_precision2527=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2527.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2306:4: DECIMAL_SYMBOL ( float_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DECIMAL_SYMBOL2528 = (pANTLR3_COMMON_TOKEN) MATCHT(DECIMAL_SYMBOL, &FOLLOW_DECIMAL_SYMBOL_in_cast_type13093);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DECIMAL_SYMBOL2528_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECIMAL_SYMBOL2528));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DECIMAL_SYMBOL2528_tree);
        	        }

        	        // MySQL.g:2306:19: ( float_options )?
        	        {
        	            int alt703=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt703=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt703)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2306:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_cast_type13095);
        	        	        float_options2529=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2529.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecast_typeEx; /* Prevent compiler warnings */
    rulecast_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cast_type */

/**
 * $ANTLR start encoding
 * MySQL.g:2309:1: encoding : ( ASCII_SYMBOL ( BINARY_SYMBOL )? | BINARY_SYMBOL ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )? | UNICODE_SYMBOL ( BINARY_SYMBOL )? | BYTE_SYMBOL | charset charset_name ( BINARY_SYMBOL )? );
 */
static MySQLParser_encoding_return
encoding(pMySQLParser ctx)
{
    MySQLParser_encoding_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2530;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2531;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2532;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2533;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2534;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2537;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2538;
    pANTLR3_COMMON_TOKEN    BYTE_SYMBOL2539;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2542;
    MySQLParser_charset_return charset2535;
    #undef	RETURN_TYPE_charset2535
    #define	RETURN_TYPE_charset2535 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2536;
    #undef	RETURN_TYPE_charset_name2536
    #define	RETURN_TYPE_charset_name2536 MySQLParser_charset_name_return

    MySQLParser_charset_return charset2540;
    #undef	RETURN_TYPE_charset2540
    #define	RETURN_TYPE_charset2540 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2541;
    #undef	RETURN_TYPE_charset_name2541
    #define	RETURN_TYPE_charset_name2541 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE ASCII_SYMBOL2530_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2531_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2532_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2533_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2534_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2537_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2538_tree;
    pANTLR3_BASE_TREE BYTE_SYMBOL2539_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2542_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASCII_SYMBOL2530       = NULL;
    BINARY_SYMBOL2531       = NULL;
    BINARY_SYMBOL2532       = NULL;
    ASCII_SYMBOL2533       = NULL;
    UNICODE_SYMBOL2534       = NULL;
    UNICODE_SYMBOL2537       = NULL;
    BINARY_SYMBOL2538       = NULL;
    BYTE_SYMBOL2539       = NULL;
    BINARY_SYMBOL2542       = NULL;
    charset2535.tree = NULL;

    charset_name2536.tree = NULL;

    charset2540.tree = NULL;

    charset_name2541.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASCII_SYMBOL2530_tree   = NULL;
    BINARY_SYMBOL2531_tree   = NULL;
    BINARY_SYMBOL2532_tree   = NULL;
    ASCII_SYMBOL2533_tree   = NULL;
    UNICODE_SYMBOL2534_tree   = NULL;
    UNICODE_SYMBOL2537_tree   = NULL;
    BINARY_SYMBOL2538_tree   = NULL;
    BYTE_SYMBOL2539_tree   = NULL;
    BINARY_SYMBOL2542_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2309:9: ( ASCII_SYMBOL ( BINARY_SYMBOL )? | BINARY_SYMBOL ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )? | UNICODE_SYMBOL ( BINARY_SYMBOL )? | BYTE_SYMBOL | charset charset_name ( BINARY_SYMBOL )? )

            ANTLR3_UINT32 alt709;

            alt709=5;

            switch ( LA(1) )
            {
            case ASCII_SYMBOL:
            	{
            		alt709=1;
            	}
                break;
            case BINARY_SYMBOL:
            	{
            		alt709=2;
            	}
                break;
            case UNICODE_SYMBOL:
            	{
            		alt709=3;
            	}
                break;
            case BYTE_SYMBOL:
            	{
            		alt709=4;
            	}
                break;
            case CHARSET_SYMBOL:
            case CHAR_SYMBOL:
            	{
            		alt709=5;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 709;
                EXCEPTION->state        = 0;


                goto ruleencodingEx;

            }

            switch (alt709)
            {
        	case 1:
        	    // MySQL.g:2310:2: ASCII_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2530 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_encoding13105);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2530_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2530));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2530_tree);
        	        }

        	        // MySQL.g:2310:15: ( BINARY_SYMBOL )?
        	        {
        	            int alt705=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt705=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt705)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2310:15: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2531 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding13107);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2531_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2531));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2531_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2311:4: BINARY_SYMBOL ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2532 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding13113);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2532_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2532));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2532_tree);
        	        }

        	        // MySQL.g:2311:18: ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )?
        	        {
        	            int alt706=4;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                	{
        	                		alt706=1;
        	                	}
        	                    break;
        	                case UNICODE_SYMBOL:
        	                	{
        	                		alt706=2;
        	                	}
        	                    break;
        	                case CHARSET_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt706=3;
        	                	}
        	                    break;
        	            }

        	            switch (alt706)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2311:19: ASCII_SYMBOL
        	        	    {
        	        	        ASCII_SYMBOL2533 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_encoding13116);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ASCII_SYMBOL2533_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2533));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2533_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2311:34: UNICODE_SYMBOL
        	        	    {
        	        	        UNICODE_SYMBOL2534 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_encoding13120);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNICODE_SYMBOL2534_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2534));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2534_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2311:51: charset charset_name
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_encoding13124);
        	        	        charset2535=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2535.tree);

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_encoding13126);
        	        	        charset_name2536=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2536.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2312:4: UNICODE_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNICODE_SYMBOL2537 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_encoding13133);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2537_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2537));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2537_tree);
        	        }

        	        // MySQL.g:2312:19: ( BINARY_SYMBOL )?
        	        {
        	            int alt707=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt707=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt707)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2312:19: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2538 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding13135);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2538_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2538));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2538_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2313:4: BYTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BYTE_SYMBOL2539 = (pANTLR3_COMMON_TOKEN) MATCHT(BYTE_SYMBOL, &FOLLOW_BYTE_SYMBOL_in_encoding13141);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BYTE_SYMBOL2539_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BYTE_SYMBOL2539));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BYTE_SYMBOL2539_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2314:4: charset charset_name ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_in_encoding13146);
        	        charset2540=charset(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2540.tree);

        	        FOLLOWPUSH(FOLLOW_charset_name_in_encoding13148);
        	        charset_name2541=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2541.tree);

        	        // MySQL.g:2314:25: ( BINARY_SYMBOL )?
        	        {
        	            int alt708=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt708=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt708)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2314:25: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2542 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding13150);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2542_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2542));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2542_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleencodingEx; /* Prevent compiler warnings */
    ruleencodingEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end encoding */

/**
 * $ANTLR start charset
 * MySQL.g:2317:1: charset : ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL );
 */
static MySQLParser_charset_return
charset(pMySQLParser ctx)
{
    MySQLParser_charset_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2543;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2544;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL2545;

    pANTLR3_BASE_TREE CHAR_SYMBOL2543_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2544_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL2545_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL2543       = NULL;
    SET_SYMBOL2544       = NULL;
    CHARSET_SYMBOL2545       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL2543_tree   = NULL;
    SET_SYMBOL2544_tree   = NULL;
    CHARSET_SYMBOL2545_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2317:8: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL )

            ANTLR3_UINT32 alt710;

            alt710=2;

            switch ( LA(1) )
            {
            case CHAR_SYMBOL:
            	{
            		alt710=1;
            	}
                break;
            case CHARSET_SYMBOL:
            	{
            		alt710=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 710;
                EXCEPTION->state        = 0;


                goto rulecharsetEx;

            }

            switch (alt710)
            {
        	case 1:
        	    // MySQL.g:2318:2: CHAR_SYMBOL SET_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2543 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_charset13160);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2543_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2543));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2543_tree);
        	        }

        	        SET_SYMBOL2544 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_charset13162);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2544_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2544));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2544_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2318:27: CHARSET_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHARSET_SYMBOL2545 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_charset13166);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHARSET_SYMBOL2545_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL2545));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL2545_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecharsetEx; /* Prevent compiler warnings */
    rulecharsetEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end charset */

/**
 * $ANTLR start not_rule
 * MySQL.g:2321:1: not_rule : ( NOT_SYMBOL | NOT2_SYMBOL );
 */
static MySQLParser_not_rule_return
not_rule(pMySQLParser ctx)
{
    MySQLParser_not_rule_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2546;

    pANTLR3_BASE_TREE set2546_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2546       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2546_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2321:9: ( NOT_SYMBOL | NOT2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2546=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == NOT2_SYMBOL || LA(1) == NOT_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2546))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulenot_ruleEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulenot_ruleEx; /* Prevent compiler warnings */
    rulenot_ruleEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end not_rule */

/**
 * $ANTLR start not2_rule
 * MySQL.g:2326:1: not2_rule : ( LOGICAL_NOT_OPERATOR | NOT2_SYMBOL );
 */
static MySQLParser_not2_rule_return
not2_rule(pMySQLParser ctx)
{
    MySQLParser_not2_rule_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2547;

    pANTLR3_BASE_TREE set2547_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2547       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2547_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2326:10: ( LOGICAL_NOT_OPERATOR | NOT2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2547=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == LOGICAL_NOT_OPERATOR || LA(1) == NOT2_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2547))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulenot2_ruleEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulenot2_ruleEx; /* Prevent compiler warnings */
    rulenot2_ruleEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end not2_rule */

/**
 * $ANTLR start or_rule
 * MySQL.g:2331:1: or_rule : ( OR_SYMBOL | LOGICAL_OR_OPERATOR );
 */
static MySQLParser_or_rule_return
or_rule(pMySQLParser ctx)
{
    MySQLParser_or_rule_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2548;

    pANTLR3_BASE_TREE set2548_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2548       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2548_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2331:8: ( OR_SYMBOL | LOGICAL_OR_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2548=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == LOGICAL_OR_OPERATOR || LA(1) == OR_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2548))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleor_ruleEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleor_ruleEx; /* Prevent compiler warnings */
    ruleor_ruleEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end or_rule */

/**
 * $ANTLR start xor_rule
 * MySQL.g:2336:1: xor_rule : ( XOR_SYMBOL | BITWISE_XOR_OPERATOR );
 */
static MySQLParser_xor_rule_return
xor_rule(pMySQLParser ctx)
{
    MySQLParser_xor_rule_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2549;

    pANTLR3_BASE_TREE set2549_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2549       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2549_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2336:9: ( XOR_SYMBOL | BITWISE_XOR_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2549=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == BITWISE_XOR_OPERATOR || LA(1) == XOR_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2549))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulexor_ruleEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulexor_ruleEx; /* Prevent compiler warnings */
    rulexor_ruleEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end xor_rule */

/**
 * $ANTLR start and_rule
 * MySQL.g:2341:1: and_rule : ( AND_SYMBOL | LOGICAL_AND_OPERATOR );
 */
static MySQLParser_and_rule_return
and_rule(pMySQLParser ctx)
{
    MySQLParser_and_rule_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2550;

    pANTLR3_BASE_TREE set2550_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2550       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2550_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2341:9: ( AND_SYMBOL | LOGICAL_AND_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2550=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == AND_SYMBOL || LA(1) == LOGICAL_AND_OPERATOR )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2550))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleand_ruleEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleand_ruleEx; /* Prevent compiler warnings */
    ruleand_ruleEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end and_rule */

/**
 * $ANTLR start interval
 * MySQL.g:2346:1: interval : expression interval_unit ;
 */
static MySQLParser_interval_return
interval(pMySQLParser ctx)
{
    MySQLParser_interval_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_expression_return expression2551;
    #undef	RETURN_TYPE_expression2551
    #define	RETURN_TYPE_expression2551 MySQLParser_expression_return

    MySQLParser_interval_unit_return interval_unit2552;
    #undef	RETURN_TYPE_interval_unit2552
    #define	RETURN_TYPE_interval_unit2552 MySQLParser_interval_unit_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    expression2551.tree = NULL;

    interval_unit2552.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2346:9: ( expression interval_unit )
        // MySQL.g:2347:3: expression interval_unit
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_interval13247);
            expression2551=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleintervalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2551.tree);

            FOLLOWPUSH(FOLLOW_interval_unit_in_interval13249);
            interval_unit2552=interval_unit(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleintervalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_unit2552.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleintervalEx; /* Prevent compiler warnings */
    ruleintervalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end interval */

/**
 * $ANTLR start interval_unit
 * MySQL.g:2351:1: interval_unit : ( interval_timestamp_unit | SECOND_MICROSECOND_SYMBOL | MINUTE_MICROSECOND_SYMBOL | MINUTE_SECOND_SYMBOL | HOUR_MICROSECOND_SYMBOL | HOUR_SECOND_SYMBOL | HOUR_MINUTE_SYMBOL | DAY_MICROSECOND_SYMBOL | DAY_SECOND_SYMBOL | DAY_MINUTE_SYMBOL | DAY_HOUR_SYMBOL | YEAR_MONTH_SYMBOL );
 */
static MySQLParser_interval_unit_return
interval_unit(pMySQLParser ctx)
{
    MySQLParser_interval_unit_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SECOND_MICROSECOND_SYMBOL2554;
    pANTLR3_COMMON_TOKEN    MINUTE_MICROSECOND_SYMBOL2555;
    pANTLR3_COMMON_TOKEN    MINUTE_SECOND_SYMBOL2556;
    pANTLR3_COMMON_TOKEN    HOUR_MICROSECOND_SYMBOL2557;
    pANTLR3_COMMON_TOKEN    HOUR_SECOND_SYMBOL2558;
    pANTLR3_COMMON_TOKEN    HOUR_MINUTE_SYMBOL2559;
    pANTLR3_COMMON_TOKEN    DAY_MICROSECOND_SYMBOL2560;
    pANTLR3_COMMON_TOKEN    DAY_SECOND_SYMBOL2561;
    pANTLR3_COMMON_TOKEN    DAY_MINUTE_SYMBOL2562;
    pANTLR3_COMMON_TOKEN    DAY_HOUR_SYMBOL2563;
    pANTLR3_COMMON_TOKEN    YEAR_MONTH_SYMBOL2564;
    MySQLParser_interval_timestamp_unit_return interval_timestamp_unit2553;
    #undef	RETURN_TYPE_interval_timestamp_unit2553
    #define	RETURN_TYPE_interval_timestamp_unit2553 MySQLParser_interval_timestamp_unit_return

    pANTLR3_BASE_TREE SECOND_MICROSECOND_SYMBOL2554_tree;
    pANTLR3_BASE_TREE MINUTE_MICROSECOND_SYMBOL2555_tree;
    pANTLR3_BASE_TREE MINUTE_SECOND_SYMBOL2556_tree;
    pANTLR3_BASE_TREE HOUR_MICROSECOND_SYMBOL2557_tree;
    pANTLR3_BASE_TREE HOUR_SECOND_SYMBOL2558_tree;
    pANTLR3_BASE_TREE HOUR_MINUTE_SYMBOL2559_tree;
    pANTLR3_BASE_TREE DAY_MICROSECOND_SYMBOL2560_tree;
    pANTLR3_BASE_TREE DAY_SECOND_SYMBOL2561_tree;
    pANTLR3_BASE_TREE DAY_MINUTE_SYMBOL2562_tree;
    pANTLR3_BASE_TREE DAY_HOUR_SYMBOL2563_tree;
    pANTLR3_BASE_TREE YEAR_MONTH_SYMBOL2564_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SECOND_MICROSECOND_SYMBOL2554       = NULL;
    MINUTE_MICROSECOND_SYMBOL2555       = NULL;
    MINUTE_SECOND_SYMBOL2556       = NULL;
    HOUR_MICROSECOND_SYMBOL2557       = NULL;
    HOUR_SECOND_SYMBOL2558       = NULL;
    HOUR_MINUTE_SYMBOL2559       = NULL;
    DAY_MICROSECOND_SYMBOL2560       = NULL;
    DAY_SECOND_SYMBOL2561       = NULL;
    DAY_MINUTE_SYMBOL2562       = NULL;
    DAY_HOUR_SYMBOL2563       = NULL;
    YEAR_MONTH_SYMBOL2564       = NULL;
    interval_timestamp_unit2553.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SECOND_MICROSECOND_SYMBOL2554_tree   = NULL;
    MINUTE_MICROSECOND_SYMBOL2555_tree   = NULL;
    MINUTE_SECOND_SYMBOL2556_tree   = NULL;
    HOUR_MICROSECOND_SYMBOL2557_tree   = NULL;
    HOUR_SECOND_SYMBOL2558_tree   = NULL;
    HOUR_MINUTE_SYMBOL2559_tree   = NULL;
    DAY_MICROSECOND_SYMBOL2560_tree   = NULL;
    DAY_SECOND_SYMBOL2561_tree   = NULL;
    DAY_MINUTE_SYMBOL2562_tree   = NULL;
    DAY_HOUR_SYMBOL2563_tree   = NULL;
    YEAR_MONTH_SYMBOL2564_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2351:14: ( interval_timestamp_unit | SECOND_MICROSECOND_SYMBOL | MINUTE_MICROSECOND_SYMBOL | MINUTE_SECOND_SYMBOL | HOUR_MICROSECOND_SYMBOL | HOUR_SECOND_SYMBOL | HOUR_MINUTE_SYMBOL | DAY_MICROSECOND_SYMBOL | DAY_SECOND_SYMBOL | DAY_MINUTE_SYMBOL | DAY_HOUR_SYMBOL | YEAR_MONTH_SYMBOL )

            ANTLR3_UINT32 alt711;

            alt711=12;

            {
                int LA711_0 = LA(1);
                if ( (LA711_0 == MICROSECOND_SYMBOL))
                {
                    alt711=1;
                }
                else if ( ((SERVER_VERSION < 50503)) && (LA711_0 == FRAC_SECOND_SYMBOL))
                {
                    alt711=1;
                }
                else if ( (LA711_0 == DAY_SYMBOL || LA711_0 == HOUR_SYMBOL || LA711_0 == MINUTE_SYMBOL || LA711_0 == MONTH_SYMBOL || LA711_0 == QUARTER_SYMBOL || LA711_0 == SECOND_SYMBOL || LA711_0 == WEEK_SYMBOL || LA711_0 == YEAR_SYMBOL))
                {
                    alt711=1;
                }
                else if ( (LA711_0 == SECOND_MICROSECOND_SYMBOL))
                {
                    alt711=2;
                }
                else if ( (LA711_0 == MINUTE_MICROSECOND_SYMBOL))
                {
                    alt711=3;
                }
                else if ( (LA711_0 == MINUTE_SECOND_SYMBOL))
                {
                    alt711=4;
                }
                else if ( (LA711_0 == HOUR_MICROSECOND_SYMBOL))
                {
                    alt711=5;
                }
                else if ( (LA711_0 == HOUR_SECOND_SYMBOL))
                {
                    alt711=6;
                }
                else if ( (LA711_0 == HOUR_MINUTE_SYMBOL))
                {
                    alt711=7;
                }
                else if ( (LA711_0 == DAY_MICROSECOND_SYMBOL))
                {
                    alt711=8;
                }
                else if ( (LA711_0 == DAY_SECOND_SYMBOL))
                {
                    alt711=9;
                }
                else if ( (LA711_0 == DAY_MINUTE_SYMBOL))
                {
                    alt711=10;
                }
                else if ( (LA711_0 == DAY_HOUR_SYMBOL))
                {
                    alt711=11;
                }
                else if ( (LA711_0 == YEAR_MONTH_SYMBOL))
                {
                    alt711=12;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 711;
                    EXCEPTION->state        = 0;


                    goto ruleinterval_unitEx;

                }
            }
            switch (alt711)
            {
        	case 1:
        	    // MySQL.g:2352:2: interval_timestamp_unit
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_interval_timestamp_unit_in_interval_unit13259);
        	        interval_timestamp_unit2553=interval_timestamp_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_timestamp_unit2553.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2353:4: SECOND_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_MICROSECOND_SYMBOL2554 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_MICROSECOND_SYMBOL, &FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit13264);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_MICROSECOND_SYMBOL2554_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_MICROSECOND_SYMBOL2554));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_MICROSECOND_SYMBOL2554_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2354:4: MINUTE_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_MICROSECOND_SYMBOL2555 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_MICROSECOND_SYMBOL, &FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit13269);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_MICROSECOND_SYMBOL2555_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_MICROSECOND_SYMBOL2555));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_MICROSECOND_SYMBOL2555_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2355:4: MINUTE_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SECOND_SYMBOL2556 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SECOND_SYMBOL, &FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit13274);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SECOND_SYMBOL2556_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SECOND_SYMBOL2556));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SECOND_SYMBOL2556_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2356:4: HOUR_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_MICROSECOND_SYMBOL2557 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_MICROSECOND_SYMBOL, &FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit13279);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_MICROSECOND_SYMBOL2557_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_MICROSECOND_SYMBOL2557));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_MICROSECOND_SYMBOL2557_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2357:4: HOUR_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SECOND_SYMBOL2558 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SECOND_SYMBOL, &FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit13284);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SECOND_SYMBOL2558_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SECOND_SYMBOL2558));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SECOND_SYMBOL2558_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2358:4: HOUR_MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_MINUTE_SYMBOL2559 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_MINUTE_SYMBOL, &FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit13289);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_MINUTE_SYMBOL2559_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_MINUTE_SYMBOL2559));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_MINUTE_SYMBOL2559_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2359:4: DAY_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_MICROSECOND_SYMBOL2560 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_MICROSECOND_SYMBOL, &FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit13294);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_MICROSECOND_SYMBOL2560_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_MICROSECOND_SYMBOL2560));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_MICROSECOND_SYMBOL2560_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2360:4: DAY_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SECOND_SYMBOL2561 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SECOND_SYMBOL, &FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit13299);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SECOND_SYMBOL2561_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SECOND_SYMBOL2561));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SECOND_SYMBOL2561_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2361:4: DAY_MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_MINUTE_SYMBOL2562 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_MINUTE_SYMBOL, &FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit13304);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_MINUTE_SYMBOL2562_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_MINUTE_SYMBOL2562));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_MINUTE_SYMBOL2562_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2362:4: DAY_HOUR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_HOUR_SYMBOL2563 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_HOUR_SYMBOL, &FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit13309);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_HOUR_SYMBOL2563_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_HOUR_SYMBOL2563));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_HOUR_SYMBOL2563_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2363:4: YEAR_MONTH_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_MONTH_SYMBOL2564 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_MONTH_SYMBOL, &FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit13314);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_MONTH_SYMBOL2564_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_MONTH_SYMBOL2564));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_MONTH_SYMBOL2564_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleinterval_unitEx; /* Prevent compiler warnings */
    ruleinterval_unitEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end interval_unit */

/**
 * $ANTLR start interval_timestamp_unit
 * MySQL.g:2367:1: interval_timestamp_unit : ( MICROSECOND_SYMBOL |{...}? => FRAC_SECOND_SYMBOL | SECOND_SYMBOL | MINUTE_SYMBOL | HOUR_SYMBOL | DAY_SYMBOL | WEEK_SYMBOL | MONTH_SYMBOL | QUARTER_SYMBOL | YEAR_SYMBOL );
 */
static MySQLParser_interval_timestamp_unit_return
interval_timestamp_unit(pMySQLParser ctx)
{
    MySQLParser_interval_timestamp_unit_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MICROSECOND_SYMBOL2565;
    pANTLR3_COMMON_TOKEN    FRAC_SECOND_SYMBOL2566;
    pANTLR3_COMMON_TOKEN    SECOND_SYMBOL2567;
    pANTLR3_COMMON_TOKEN    MINUTE_SYMBOL2568;
    pANTLR3_COMMON_TOKEN    HOUR_SYMBOL2569;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL2570;
    pANTLR3_COMMON_TOKEN    WEEK_SYMBOL2571;
    pANTLR3_COMMON_TOKEN    MONTH_SYMBOL2572;
    pANTLR3_COMMON_TOKEN    QUARTER_SYMBOL2573;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2574;

    pANTLR3_BASE_TREE MICROSECOND_SYMBOL2565_tree;
    pANTLR3_BASE_TREE FRAC_SECOND_SYMBOL2566_tree;
    pANTLR3_BASE_TREE SECOND_SYMBOL2567_tree;
    pANTLR3_BASE_TREE MINUTE_SYMBOL2568_tree;
    pANTLR3_BASE_TREE HOUR_SYMBOL2569_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL2570_tree;
    pANTLR3_BASE_TREE WEEK_SYMBOL2571_tree;
    pANTLR3_BASE_TREE MONTH_SYMBOL2572_tree;
    pANTLR3_BASE_TREE QUARTER_SYMBOL2573_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2574_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MICROSECOND_SYMBOL2565       = NULL;
    FRAC_SECOND_SYMBOL2566       = NULL;
    SECOND_SYMBOL2567       = NULL;
    MINUTE_SYMBOL2568       = NULL;
    HOUR_SYMBOL2569       = NULL;
    DAY_SYMBOL2570       = NULL;
    WEEK_SYMBOL2571       = NULL;
    MONTH_SYMBOL2572       = NULL;
    QUARTER_SYMBOL2573       = NULL;
    YEAR_SYMBOL2574       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MICROSECOND_SYMBOL2565_tree   = NULL;
    FRAC_SECOND_SYMBOL2566_tree   = NULL;
    SECOND_SYMBOL2567_tree   = NULL;
    MINUTE_SYMBOL2568_tree   = NULL;
    HOUR_SYMBOL2569_tree   = NULL;
    DAY_SYMBOL2570_tree   = NULL;
    WEEK_SYMBOL2571_tree   = NULL;
    MONTH_SYMBOL2572_tree   = NULL;
    QUARTER_SYMBOL2573_tree   = NULL;
    YEAR_SYMBOL2574_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2367:24: ( MICROSECOND_SYMBOL |{...}? => FRAC_SECOND_SYMBOL | SECOND_SYMBOL | MINUTE_SYMBOL | HOUR_SYMBOL | DAY_SYMBOL | WEEK_SYMBOL | MONTH_SYMBOL | QUARTER_SYMBOL | YEAR_SYMBOL )

            ANTLR3_UINT32 alt712;

            alt712=10;

            {
                int LA712_0 = LA(1);
                if ( (LA712_0 == MICROSECOND_SYMBOL))
                {
                    alt712=1;
                }
                else if ( ((SERVER_VERSION < 50503)) && (LA712_0 == FRAC_SECOND_SYMBOL))
                {
                    alt712=2;
                }
                else if ( (LA712_0 == SECOND_SYMBOL))
                {
                    alt712=3;
                }
                else if ( (LA712_0 == MINUTE_SYMBOL))
                {
                    alt712=4;
                }
                else if ( (LA712_0 == HOUR_SYMBOL))
                {
                    alt712=5;
                }
                else if ( (LA712_0 == DAY_SYMBOL))
                {
                    alt712=6;
                }
                else if ( (LA712_0 == WEEK_SYMBOL))
                {
                    alt712=7;
                }
                else if ( (LA712_0 == MONTH_SYMBOL))
                {
                    alt712=8;
                }
                else if ( (LA712_0 == QUARTER_SYMBOL))
                {
                    alt712=9;
                }
                else if ( (LA712_0 == YEAR_SYMBOL))
                {
                    alt712=10;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 712;
                    EXCEPTION->state        = 0;


                    goto ruleinterval_timestamp_unitEx;

                }
            }
            switch (alt712)
            {
        	case 1:
        	    // MySQL.g:2368:2: MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MICROSECOND_SYMBOL2565 = (pANTLR3_COMMON_TOKEN) MATCHT(MICROSECOND_SYMBOL, &FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit13324);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MICROSECOND_SYMBOL2565_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MICROSECOND_SYMBOL2565));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MICROSECOND_SYMBOL2565_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2369:4: {...}? => FRAC_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION < 50503)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50503";
        	                EXCEPTION->ruleName	 = (void *)"interval_timestamp_unit";


        	        }

        	        FRAC_SECOND_SYMBOL2566 = (pANTLR3_COMMON_TOKEN) MATCHT(FRAC_SECOND_SYMBOL, &FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit13333);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FRAC_SECOND_SYMBOL2566_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FRAC_SECOND_SYMBOL2566));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FRAC_SECOND_SYMBOL2566_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2370:4: SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_SYMBOL2567 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_SYMBOL, &FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit13338);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_SYMBOL2567_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_SYMBOL2567));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_SYMBOL2567_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2371:4: MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SYMBOL2568 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SYMBOL, &FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit13343);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SYMBOL2568_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SYMBOL2568));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SYMBOL2568_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2372:4: HOUR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SYMBOL2569 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SYMBOL, &FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit13348);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SYMBOL2569_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SYMBOL2569));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SYMBOL2569_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2373:4: DAY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SYMBOL2570 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit13353);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SYMBOL2570_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL2570));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL2570_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2374:4: WEEK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WEEK_SYMBOL2571 = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK_SYMBOL, &FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit13361);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEEK_SYMBOL2571_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEEK_SYMBOL2571));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEEK_SYMBOL2571_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2375:4: MONTH_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MONTH_SYMBOL2572 = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH_SYMBOL, &FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit13366);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MONTH_SYMBOL2572_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MONTH_SYMBOL2572));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MONTH_SYMBOL2572_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2376:4: QUARTER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUARTER_SYMBOL2573 = (pANTLR3_COMMON_TOKEN) MATCHT(QUARTER_SYMBOL, &FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit13371);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUARTER_SYMBOL2573_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUARTER_SYMBOL2573));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUARTER_SYMBOL2573_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2377:4: YEAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2574 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit13376);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2574_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2574));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2574_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleinterval_timestamp_unitEx; /* Prevent compiler warnings */
    ruleinterval_timestamp_unitEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end interval_timestamp_unit */

/**
 * $ANTLR start expression_list_with_parentheses
 * MySQL.g:2380:1: expression_list_with_parentheses : OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL -> ^( PAR_EXPRESSION_TOKEN OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_expression_list_with_parentheses_return
expression_list_with_parentheses(pMySQLParser ctx)
{
    MySQLParser_expression_list_with_parentheses_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2575;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2577;
    MySQLParser_expression_list_return expression_list2576;
    #undef	RETURN_TYPE_expression_list2576
    #define	RETURN_TYPE_expression_list2576 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2575_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2577_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_CLOSE_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_OPEN_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_expression_list;
    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2575       = NULL;
    CLOSE_PAR_SYMBOL2577       = NULL;
    expression_list2576.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2575_tree   = NULL;
    CLOSE_PAR_SYMBOL2577_tree   = NULL;

    stream_CLOSE_PAR_SYMBOL   = NULL;
    #define CREATE_stream_CLOSE_PAR_SYMBOL  if (stream_CLOSE_PAR_SYMBOL == NULL) {stream_CLOSE_PAR_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token CLOSE_PAR_SYMBOL"); } 
    stream_OPEN_PAR_SYMBOL   = NULL;
    #define CREATE_stream_OPEN_PAR_SYMBOL  if (stream_OPEN_PAR_SYMBOL == NULL) {stream_OPEN_PAR_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token OPEN_PAR_SYMBOL"); } 
    stream_expression_list   = NULL;
    #define CREATE_stream_expression_list  if (stream_expression_list == NULL) {stream_expression_list = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule expression_list"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2380:33: ( OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL -> ^( PAR_EXPRESSION_TOKEN OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL ) )
        // MySQL.g:2381:2: OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL2575 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses13385);
            if  (HASEXCEPTION())
            {
                goto ruleexpression_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_OPEN_PAR_SYMBOL; stream_OPEN_PAR_SYMBOL->add(stream_OPEN_PAR_SYMBOL, OPEN_PAR_SYMBOL2575, NULL); }


            FOLLOWPUSH(FOLLOW_expression_list_in_expression_list_with_parentheses13387);
            expression_list2576=expression_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_expression_list; stream_expression_list->add(stream_expression_list, expression_list2576.tree, NULL); }

            CLOSE_PAR_SYMBOL2577 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses13389);
            if  (HASEXCEPTION())
            {
                goto ruleexpression_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_CLOSE_PAR_SYMBOL; stream_CLOSE_PAR_SYMBOL->add(stream_CLOSE_PAR_SYMBOL, CLOSE_PAR_SYMBOL2577, NULL); }


            /* AST REWRITE
             * elements          : expression_list, OPEN_PAR_SYMBOL, CLOSE_PAR_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2381:51: -> ^( PAR_EXPRESSION_TOKEN OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:2381:54: ^( PAR_EXPRESSION_TOKEN OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PAR_EXPRESSION_TOKEN, (pANTLR3_UINT8)"PAR_EXPRESSION_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_OPEN_PAR_SYMBOL == NULL ? NULL : stream_OPEN_PAR_SYMBOL->nextNode(stream_OPEN_PAR_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_expression_list == NULL ? NULL : stream_expression_list->nextTree(stream_expression_list));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_CLOSE_PAR_SYMBOL == NULL ? NULL : stream_CLOSE_PAR_SYMBOL->nextNode(stream_CLOSE_PAR_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleexpression_list_with_parenthesesEx; /* Prevent compiler warnings */
    ruleexpression_list_with_parenthesesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_CLOSE_PAR_SYMBOL != NULL) stream_CLOSE_PAR_SYMBOL->free(stream_CLOSE_PAR_SYMBOL);
        if (stream_OPEN_PAR_SYMBOL != NULL) stream_OPEN_PAR_SYMBOL->free(stream_OPEN_PAR_SYMBOL);
        if (stream_expression_list != NULL) stream_expression_list->free(stream_expression_list);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end expression_list_with_parentheses */

/**
 * $ANTLR start expression_list
 * MySQL.g:2384:1: expression_list : expression ( COMMA_SYMBOL expression )* ;
 */
static MySQLParser_expression_list_return
expression_list(pMySQLParser ctx)
{
    MySQLParser_expression_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2579;
    MySQLParser_expression_return expression2578;
    #undef	RETURN_TYPE_expression2578
    #define	RETURN_TYPE_expression2578 MySQLParser_expression_return

    MySQLParser_expression_return expression2580;
    #undef	RETURN_TYPE_expression2580
    #define	RETURN_TYPE_expression2580 MySQLParser_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2579_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2579       = NULL;
    expression2578.tree = NULL;

    expression2580.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2579_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2384:16: ( expression ( COMMA_SYMBOL expression )* )
        // MySQL.g:2385:2: expression ( COMMA_SYMBOL expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_expression_list13410);
            expression2578=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2578.tree);

            // MySQL.g:2385:13: ( COMMA_SYMBOL expression )*

            for (;;)
            {
                int alt713=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt713=1;
                	}
                    break;

                }

                switch (alt713)
                {
            	case 1:
            	    // MySQL.g:2385:14: COMMA_SYMBOL expression
            	    {
            	        COMMA_SYMBOL2579 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_list13413);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2579_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2579));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2579_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_expression_list13415);
            	        expression2580=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2580.tree);

            	    }
            	    break;

            	default:
            	    goto loop713;	/* break out of the loop */
            	    break;
                }
            }
            loop713: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleexpression_listEx; /* Prevent compiler warnings */
    ruleexpression_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end expression_list */

/**
 * $ANTLR start expression_list_with_direction
 * MySQL.g:2388:1: expression_list_with_direction : expression ( direction )? ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )* ;
 */
static MySQLParser_expression_list_with_direction_return
expression_list_with_direction(pMySQLParser ctx)
{
    MySQLParser_expression_list_with_direction_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2583;
    MySQLParser_expression_return expression2581;
    #undef	RETURN_TYPE_expression2581
    #define	RETURN_TYPE_expression2581 MySQLParser_expression_return

    MySQLParser_direction_return direction2582;
    #undef	RETURN_TYPE_direction2582
    #define	RETURN_TYPE_direction2582 MySQLParser_direction_return

    MySQLParser_expression_return expression2584;
    #undef	RETURN_TYPE_expression2584
    #define	RETURN_TYPE_expression2584 MySQLParser_expression_return

    MySQLParser_direction_return direction2585;
    #undef	RETURN_TYPE_direction2585
    #define	RETURN_TYPE_direction2585 MySQLParser_direction_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2583_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2583       = NULL;
    expression2581.tree = NULL;

    direction2582.tree = NULL;

    expression2584.tree = NULL;

    direction2585.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2583_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2388:31: ( expression ( direction )? ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )* )
        // MySQL.g:2389:2: expression ( direction )? ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_expression_list_with_direction13426);
            expression2581=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_list_with_directionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2581.tree);

            // MySQL.g:2389:13: ( direction )?
            {
                int alt714=2;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt714=1;
                    	}
                        break;
                }

                switch (alt714)
                {
            	case 1:
            	    // MySQL.g:2389:13: direction
            	    {
            	        FOLLOWPUSH(FOLLOW_direction_in_expression_list_with_direction13428);
            	        direction2582=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2582.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2389:24: ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )*

            for (;;)
            {
                int alt716=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA716_19 = LA(2);
                		    if ( (LA716_19 == OPEN_PAR_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == IDENTIFIER))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == DATE_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == ASCII_SYMBOL || ((LA716_19 >= BITNUMBER) && (LA716_19 <= BITSTRING)) || LA716_19 == BITWISE_NOT_OPERATOR || LA716_19 == FALSE_SYMBOL || LA716_19 == FLOAT || ((LA716_19 >= HEXNUMBER) && (LA716_19 <= HEXSTRING)) || LA716_19 == INTEGER || LA716_19 == INTERVAL_SYMBOL || LA716_19 == LOGICAL_NOT_OPERATOR || LA716_19 == MINUS_OPERATOR || LA716_19 == NCHAR_TEXT || LA716_19 == NOT2_SYMBOL || LA716_19 == NOT_SYMBOL || LA716_19 == NULL2_SYMBOL || LA716_19 == NULL_SYMBOL || LA716_19 == PLUS_OPERATOR || LA716_19 == SINGLE_QUOTED_TEXT || LA716_19 == TRUE_SYMBOL || LA716_19 == UNDERSCORE_CHARSET))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == TIME_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == TIMESTAMP_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == DAY_SYMBOL || LA716_19 == CHAR_SYMBOL || LA716_19 == CURRENT_USER_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == HOUR_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == MINUTE_SYMBOL || LA716_19 == INSERT_SYMBOL || LA716_19 == LEFT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == MONTH_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == SECOND_SYMBOL || LA716_19 == RIGHT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == USER_SYMBOL || LA716_19 == TRIM_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == YEAR_SYMBOL || LA716_19 == VALUES_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == ADDDATE_SYMBOL || LA716_19 == SUBDATE_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == GET_FORMAT_SYMBOL || LA716_19 == CURDATE_SYMBOL || LA716_19 == CURTIME_SYMBOL || LA716_19 == DATE_ADD_SYMBOL || LA716_19 == DATE_SUB_SYMBOL || LA716_19 == EXTRACT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (((LA716_19 >= TIMESTAMP_ADD_SYMBOL) && (LA716_19 <= TIMESTAMP_DIFF_SYMBOL)) || LA716_19 == NOW_SYMBOL || LA716_19 == POSITION_SYMBOL || LA716_19 == SUBSTRING_SYMBOL || LA716_19 == SYSDATE_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == COALESCE_SYMBOL || ((LA716_19 >= UTC_DATE_SYMBOL) && (LA716_19 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == CHARSET_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == FORMAT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == COLLATION_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == MICROSECOND_SYMBOL || LA716_19 == DATABASE_SYMBOL || LA716_19 == IF_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == TRUNCATE_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == OLD_PASSWORD_SYMBOL || LA716_19 == MOD_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == PASSWORD_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == QUARTER_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == REVERSE_SYMBOL || ((LA716_19 >= REPEAT_SYMBOL) && (LA716_19 <= REPLACE_SYMBOL))))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == ROW_COUNT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == WEEK_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == CONTAINS_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (((LA716_19 >= BACKUP_SYMBOL) && (LA716_19 <= CACHE_SYMBOL)) || ((LA716_19 >= CHECKSUM_SYMBOL) && (LA716_19 <= COMMIT_SYMBOL)) || ((LA716_19 >= DEALLOCATE_SYMBOL) && (LA716_19 <= FOLLOWS_SYMBOL)) || ((LA716_19 >= HANDLER_SYMBOL) && (LA716_19 <= STOP_SYMBOL)) || ((LA716_19 >= UNICODE_SYMBOL) && (LA716_19 <= XA_SYMBOL))))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == LINESTRING_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == MULTIPOINT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == POINT_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == POLYGON_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == AVG_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == ROW_SYMBOL || ((LA716_19 >= AT_AT_SIGN_SYMBOL) && (LA716_19 <= AT_TEXT_SUFFIX)) || ((LA716_19 >= BIT_AND_SYMBOL) && (LA716_19 <= BIT_XOR_SYMBOL)) || LA716_19 == COUNT_SYMBOL || LA716_19 == EXISTS_SYMBOL || LA716_19 == GROUP_CONCAT_SYMBOL || LA716_19 == MAX_SYMBOL || LA716_19 == MIN_SYMBOL || LA716_19 == PARAM_MARKER || LA716_19 == STDDEV_SAMP_SYMBOL || LA716_19 == STD_SYMBOL || LA716_19 == SUM_SYMBOL || LA716_19 == VARIANCE_SYMBOL || LA716_19 == VAR_SAMP_SYMBOL))
                		    {
                		        alt716=1;
                		    }
                		    else if ( (LA716_19 == ACTION_SYMBOL || ((LA716_19 >= AFTER_SYMBOL) && (LA716_19 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA716_19 >= BINLOG_SYMBOL) && (LA716_19 <= CLASS_ORIGIN_SYMBOL)) || LA716_19 == CODE_SYMBOL || ((LA716_19 >= COLUMN_NAME_SYMBOL) && (LA716_19 <= DATETIME_SYMBOL)) || ((LA716_19 >= DEFAULT_AUTH_SYMBOL) && (LA716_19 <= GEOMETRY_SYMBOL)) || ((LA716_19 >= GRANTS_SYMBOL) && (LA716_19 <= HOSTS_SYMBOL)) || ((LA716_19 >= IDENTIFIED_SYMBOL) && (LA716_19 <= LEVEL_SYMBOL)) || ((LA716_19 >= LIST_SYMBOL) && (LA716_19 <= MESSAGE_TEXT_SYMBOL)) || LA716_19 == MIGRATE_SYMBOL || ((LA716_19 >= MIN_ROWS_SYMBOL) && (LA716_19 <= MODE_SYMBOL)) || ((LA716_19 >= MUTEX_SYMBOL) && (LA716_19 <= OFFSET_SYMBOL)) || ((LA716_19 >= ONE_SHOT_SYMBOL) && (LA716_19 <= PARTITIONS_SYMBOL)) || ((LA716_19 >= PHASE_SYMBOL) && (LA716_19 <= PLUGINS_SYMBOL)) || ((LA716_19 >= PRESERVE_SYMBOL) && (LA716_19 <= PROXY_SYMBOL)) || ((LA716_19 >= QUERY_SYMBOL) && (LA716_19 <= RETURNS_SYMBOL)) || ((LA716_19 >= ROLLUP_SYMBOL) && (LA716_19 <= ROWS_SYMBOL)) || LA716_19 == ROW_FORMAT_SYMBOL || ((LA716_19 >= RTREE_SYMBOL) && (LA716_19 <= SCHEMA_NAME_SYMBOL)) || ((LA716_19 >= SERIAL_SYMBOL) && (LA716_19 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA716_19 >= SUBJECT_SYMBOL) && (LA716_19 <= TRIGGERS_SYMBOL)) || ((LA716_19 >= TYPES_SYMBOL) && (LA716_19 <= USER_RESOURCES_SYMBOL)) || ((LA716_19 >= USE_FRM_SYMBOL) && (LA716_19 <= WAIT_SYMBOL)) || LA716_19 == WORK_SYMBOL || ((LA716_19 >= X509_SYMBOL) && (LA716_19 <= XML_SYMBOL)) || LA716_19 == BINARY_SYMBOL || ((LA716_19 >= CASE_SYMBOL) && (LA716_19 <= CAST_SYMBOL)) || LA716_19 == CONVERT_SYMBOL || LA716_19 == MATCH_SYMBOL))
                		    {
                		        alt716=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt716)
                {
            	case 1:
            	    // MySQL.g:2389:54: COMMA_SYMBOL expression ( direction )?
            	    {
            	        COMMA_SYMBOL2583 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction13445);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2583_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2583));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2583_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_expression_list_with_direction13447);
            	        expression2584=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2584.tree);

            	        // MySQL.g:2389:78: ( direction )?
            	        {
            	            int alt715=2;
            	            switch ( LA(1) )
            	            {
            	                case ASC_SYMBOL:
            	                case DESC_SYMBOL:
            	                	{
            	                		alt715=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt715)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2389:78: direction
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_direction_in_expression_list_with_direction13449);
            	        	        direction2585=direction(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleexpression_list_with_directionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2585.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop716;	/* break out of the loop */
            	    break;
                }
            }
            loop716: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleexpression_list_with_directionEx; /* Prevent compiler warnings */
    ruleexpression_list_with_directionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end expression_list_with_direction */

/**
 * $ANTLR start channel
 * MySQL.g:2392:1: channel :{...}? => FROM_SYMBOL CHANNEL_SYMBOL string_literal_no_linebreak ;
 */
static MySQLParser_channel_return
channel(pMySQLParser ctx)
{
    MySQLParser_channel_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2586;
    pANTLR3_COMMON_TOKEN    CHANNEL_SYMBOL2587;
    MySQLParser_string_literal_no_linebreak_return string_literal_no_linebreak2588;
    #undef	RETURN_TYPE_string_literal_no_linebreak2588
    #define	RETURN_TYPE_string_literal_no_linebreak2588 MySQLParser_string_literal_no_linebreak_return

    pANTLR3_BASE_TREE FROM_SYMBOL2586_tree;
    pANTLR3_BASE_TREE CHANNEL_SYMBOL2587_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FROM_SYMBOL2586       = NULL;
    CHANNEL_SYMBOL2587       = NULL;
    string_literal_no_linebreak2588.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FROM_SYMBOL2586_tree   = NULL;
    CHANNEL_SYMBOL2587_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2392:8: ({...}? => FROM_SYMBOL CHANNEL_SYMBOL string_literal_no_linebreak )
        // MySQL.g:2393:2: {...}? => FROM_SYMBOL CHANNEL_SYMBOL string_literal_no_linebreak
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50706)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50706";
                    EXCEPTION->ruleName	 = (void *)"channel";


            }

            FROM_SYMBOL2586 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_channel13465);
            if  (HASEXCEPTION())
            {
                goto rulechannelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FROM_SYMBOL2586_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2586));
            ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2586_tree);
            }

            CHANNEL_SYMBOL2587 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANNEL_SYMBOL, &FOLLOW_CHANNEL_SYMBOL_in_channel13467);
            if  (HASEXCEPTION())
            {
                goto rulechannelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CHANNEL_SYMBOL2587_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANNEL_SYMBOL2587));
            ADAPTOR->addChild(ADAPTOR, root_0, CHANNEL_SYMBOL2587_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_no_linebreak_in_channel13469);
            string_literal_no_linebreak2588=string_literal_no_linebreak(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulechannelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal_no_linebreak2588.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulechannelEx; /* Prevent compiler warnings */
    rulechannelEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end channel */

/**
 * $ANTLR start compound_statement
 * MySQL.g:2399:1: compound_statement : ( ( label )? ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block ) | case_statement | if_statement | iterate_statement | leave_statement | return_statement | cursor_open | cursor_fetch | cursor_close | statement |{...}? => get_diagnostics |{...}? => signal_statement |{...}? => resignal_statement );
 */
static MySQLParser_compound_statement_return
compound_statement(pMySQLParser ctx)
{
    MySQLParser_compound_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_label_return label2589;
    #undef	RETURN_TYPE_label2589
    #define	RETURN_TYPE_label2589 MySQLParser_label_return

    MySQLParser_begin_end_block_return begin_end_block2590;
    #undef	RETURN_TYPE_begin_end_block2590
    #define	RETURN_TYPE_begin_end_block2590 MySQLParser_begin_end_block_return

    MySQLParser_loop_block_return loop_block2591;
    #undef	RETURN_TYPE_loop_block2591
    #define	RETURN_TYPE_loop_block2591 MySQLParser_loop_block_return

    MySQLParser_repeat_until_block_return repeat_until_block2592;
    #undef	RETURN_TYPE_repeat_until_block2592
    #define	RETURN_TYPE_repeat_until_block2592 MySQLParser_repeat_until_block_return

    MySQLParser_while_do_block_return while_do_block2593;
    #undef	RETURN_TYPE_while_do_block2593
    #define	RETURN_TYPE_while_do_block2593 MySQLParser_while_do_block_return

    MySQLParser_case_statement_return case_statement2594;
    #undef	RETURN_TYPE_case_statement2594
    #define	RETURN_TYPE_case_statement2594 MySQLParser_case_statement_return

    MySQLParser_if_statement_return if_statement2595;
    #undef	RETURN_TYPE_if_statement2595
    #define	RETURN_TYPE_if_statement2595 MySQLParser_if_statement_return

    MySQLParser_iterate_statement_return iterate_statement2596;
    #undef	RETURN_TYPE_iterate_statement2596
    #define	RETURN_TYPE_iterate_statement2596 MySQLParser_iterate_statement_return

    MySQLParser_leave_statement_return leave_statement2597;
    #undef	RETURN_TYPE_leave_statement2597
    #define	RETURN_TYPE_leave_statement2597 MySQLParser_leave_statement_return

    MySQLParser_return_statement_return return_statement2598;
    #undef	RETURN_TYPE_return_statement2598
    #define	RETURN_TYPE_return_statement2598 MySQLParser_return_statement_return

    MySQLParser_cursor_open_return cursor_open2599;
    #undef	RETURN_TYPE_cursor_open2599
    #define	RETURN_TYPE_cursor_open2599 MySQLParser_cursor_open_return

    MySQLParser_cursor_fetch_return cursor_fetch2600;
    #undef	RETURN_TYPE_cursor_fetch2600
    #define	RETURN_TYPE_cursor_fetch2600 MySQLParser_cursor_fetch_return

    MySQLParser_cursor_close_return cursor_close2601;
    #undef	RETURN_TYPE_cursor_close2601
    #define	RETURN_TYPE_cursor_close2601 MySQLParser_cursor_close_return

    MySQLParser_statement_return statement2602;
    #undef	RETURN_TYPE_statement2602
    #define	RETURN_TYPE_statement2602 MySQLParser_statement_return

    MySQLParser_get_diagnostics_return get_diagnostics2603;
    #undef	RETURN_TYPE_get_diagnostics2603
    #define	RETURN_TYPE_get_diagnostics2603 MySQLParser_get_diagnostics_return

    MySQLParser_signal_statement_return signal_statement2604;
    #undef	RETURN_TYPE_signal_statement2604
    #define	RETURN_TYPE_signal_statement2604 MySQLParser_signal_statement_return

    MySQLParser_resignal_statement_return resignal_statement2605;
    #undef	RETURN_TYPE_resignal_statement2605
    #define	RETURN_TYPE_resignal_statement2605 MySQLParser_resignal_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    label2589.tree = NULL;

    begin_end_block2590.tree = NULL;

    loop_block2591.tree = NULL;

    repeat_until_block2592.tree = NULL;

    while_do_block2593.tree = NULL;

    case_statement2594.tree = NULL;

    if_statement2595.tree = NULL;

    iterate_statement2596.tree = NULL;

    leave_statement2597.tree = NULL;

    return_statement2598.tree = NULL;

    cursor_open2599.tree = NULL;

    cursor_fetch2600.tree = NULL;

    cursor_close2601.tree = NULL;

    statement2602.tree = NULL;

    get_diagnostics2603.tree = NULL;

    signal_statement2604.tree = NULL;

    resignal_statement2605.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2399:19: ( ( label )? ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block ) | case_statement | if_statement | iterate_statement | leave_statement | return_statement | cursor_open | cursor_fetch | cursor_close | statement |{...}? => get_diagnostics |{...}? => signal_statement |{...}? => resignal_statement )

            ANTLR3_UINT32 alt719;

            alt719=13;

            {
                int LA719_0 = LA(1);
                if ( (LA719_0 == BACK_TICK_QUOTED_ID || LA719_0 == IDENTIFIER))
                {
                    alt719=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA719_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt719=1;
                }
                else if ( (LA719_0 == ANALYZE_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case COLON_SYMBOL:
                    	{
                    		alt719=1;
                    	}
                        break;
                    case LOCAL_SYMBOL:
                    case NO_WRITE_TO_BINLOG_SYMBOL:
                    case TABLE_SYMBOL:
                    	{
                    		alt719=10;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 719;
                        EXCEPTION->state        = 4;


                        goto rulecompound_statementEx;

                    }

                }
                else if ( (LA719_0 == BEGIN_SYMBOL))
                {
                    {
                        int LA719_5 = LA(2);
                        if ( (((LA719_5 >= BACKUP_SYMBOL) && (LA719_5 <= BEGIN_SYMBOL)) || LA719_5 == CACHE_SYMBOL || ((LA719_5 >= CHECKSUM_SYMBOL) && (LA719_5 <= CLOSE_SYMBOL)) || LA719_5 == COMMIT_SYMBOL || ((LA719_5 >= DEALLOCATE_SYMBOL) && (LA719_5 <= FLUSH_SYMBOL)) || ((LA719_5 >= HANDLER_SYMBOL) && (LA719_5 <= HELP_SYMBOL)) || LA719_5 == INSTALL_SYMBOL || LA719_5 == OPEN_SYMBOL || LA719_5 == PARTITION_SYMBOL || LA719_5 == PREPARE_SYMBOL || ((LA719_5 >= REPAIR_SYMBOL) && (LA719_5 <= SAVEPOINT_SYMBOL)) || ((LA719_5 >= START_SYMBOL) && (LA719_5 <= TRUNCATE_SYMBOL)) || LA719_5 == UNINSTALL_SYMBOL || ((LA719_5 >= XA_SYMBOL) && (LA719_5 <= WEEK_SYMBOL)) || ((LA719_5 >= WEIGHT_STRING_SYMBOL) && (LA719_5 <= YEAR_SYMBOL)) || LA719_5 == ALTER_SYMBOL || LA719_5 == BACK_TICK_QUOTED_ID || LA719_5 == CALL_SYMBOL || LA719_5 == CASE_SYMBOL || LA719_5 == CHANGE_SYMBOL || LA719_5 == CHECK_SYMBOL || LA719_5 == CREATE_SYMBOL || LA719_5 == DECLARE_SYMBOL || ((LA719_5 >= DELETE_SYMBOL) && (LA719_5 <= DESC_SYMBOL)) || LA719_5 == DOUBLE_QUOTED_TEXT || LA719_5 == DROP_SYMBOL || LA719_5 == FETCH_SYMBOL || ((LA719_5 >= GET_SYMBOL) && (LA719_5 <= GRANT_SYMBOL)) || ((LA719_5 >= IDENTIFIER) && (LA719_5 <= IF_SYMBOL)) || LA719_5 == INSERT_SYMBOL || LA719_5 == ITERATE_SYMBOL || LA719_5 == KILL_SYMBOL || LA719_5 == LEAVE_SYMBOL || LA719_5 == LOAD_SYMBOL || LA719_5 == LOCK_SYMBOL || LA719_5 == LOOP_SYMBOL || LA719_5 == OPEN_PAR_SYMBOL || LA719_5 == OPTIMIZE_SYMBOL || LA719_5 == PURGE_SYMBOL || ((LA719_5 >= RELEASE_SYMBOL) && (LA719_5 <= REPLACE_SYMBOL)) || LA719_5 == RESIGNAL_SYMBOL || ((LA719_5 >= RETURN_SYMBOL) && (LA719_5 <= REVOKE_SYMBOL)) || LA719_5 == SELECT_SYMBOL || LA719_5 == SET_SYMBOL || ((LA719_5 >= SHOW_SYMBOL) && (LA719_5 <= SIGNAL_SYMBOL)) || LA719_5 == UNLOCK_SYMBOL || LA719_5 == UPDATE_SYMBOL || LA719_5 == USE_SYMBOL || LA719_5 == WHILE_SYMBOL))
                        {
                            alt719=1;
                        }
                        else if ( (LA719_5 == WORK_SYMBOL))
                        {
                            {
                                int LA719_136 = LA(3);
                                if ( ((LA(2) != WORK_SYMBOL)))
                                {
                                    alt719=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    alt719=10;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 719;
                                    EXCEPTION->state        = 136;


                                    goto rulecompound_statementEx;

                                }
                            }
                        }
                        else if ( (LA719_5 == EOF || LA719_5 == SEMICOLON_SYMBOL))
                        {
                            alt719=10;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 719;
                            EXCEPTION->state        = 5;


                            goto rulecompound_statementEx;

                        }
                    }
                }
                else if ( (((LA719_0 >= ACTION_SYMBOL) && (LA719_0 <= ALGORITHM_SYMBOL)) || ((LA719_0 >= ANY_SYMBOL) && (LA719_0 <= AVG_SYMBOL)) || ((LA719_0 >= BIT_SYMBOL) && (LA719_0 <= YEAR_SYMBOL)) || LA719_0 == LOOP_SYMBOL || LA719_0 == REPEAT_SYMBOL || LA719_0 == WHILE_SYMBOL))
                {
                    alt719=1;
                }
                else if ( (LA719_0 == CASE_SYMBOL))
                {
                    alt719=2;
                }
                else if ( (LA719_0 == IF_SYMBOL))
                {
                    alt719=3;
                }
                else if ( (LA719_0 == ITERATE_SYMBOL))
                {
                    alt719=4;
                }
                else if ( (LA719_0 == LEAVE_SYMBOL))
                {
                    alt719=5;
                }
                else if ( (LA719_0 == RETURN_SYMBOL))
                {
                    alt719=6;
                }
                else if ( (LA719_0 == OPEN_SYMBOL))
                {
                    alt719=7;
                }
                else if ( (LA719_0 == FETCH_SYMBOL))
                {
                    alt719=8;
                }
                else if ( (LA719_0 == CLOSE_SYMBOL))
                {
                    alt719=9;
                }
                else if ( (LA719_0 == DO_SYMBOL || LA719_0 == HANDLER_SYMBOL || LA719_0 == TRUNCATE_SYMBOL || LA719_0 == ALTER_SYMBOL || LA719_0 == CALL_SYMBOL || LA719_0 == CREATE_SYMBOL || LA719_0 == DELETE_SYMBOL || LA719_0 == DROP_SYMBOL || LA719_0 == INSERT_SYMBOL || LA719_0 == LOAD_SYMBOL || LA719_0 == OPEN_PAR_SYMBOL || LA719_0 == RENAME_SYMBOL || LA719_0 == REPLACE_SYMBOL || LA719_0 == SELECT_SYMBOL || LA719_0 == UPDATE_SYMBOL))
                {
                    alt719=10;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA719_0 == PARTITION_SYMBOL))
                {
                    alt719=10;
                }
                else if ( (LA719_0 == CHECKSUM_SYMBOL || LA719_0 == COMMIT_SYMBOL || LA719_0 == DEALLOCATE_SYMBOL || LA719_0 == EXECUTE_SYMBOL || LA719_0 == PREPARE_SYMBOL || LA719_0 == REPAIR_SYMBOL || ((LA719_0 >= ROLLBACK_SYMBOL) && (LA719_0 <= SAVEPOINT_SYMBOL)) || ((LA719_0 >= START_SYMBOL) && (LA719_0 <= STOP_SYMBOL)) || LA719_0 == XA_SYMBOL || LA719_0 == CHANGE_SYMBOL || LA719_0 == CHECK_SYMBOL || LA719_0 == GRANT_SYMBOL || LA719_0 == LOCK_SYMBOL || LA719_0 == OPTIMIZE_SYMBOL || LA719_0 == PURGE_SYMBOL || LA719_0 == RELEASE_SYMBOL || LA719_0 == REVOKE_SYMBOL || LA719_0 == SET_SYMBOL || LA719_0 == UNLOCK_SYMBOL))
                {
                    alt719=10;
                }
                else if ( (LA719_0 == BINLOG_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case COLON_SYMBOL:
                    	{
                    		alt719=1;
                    	}
                        break;
                    case DOUBLE_QUOTED_TEXT:
                    case NCHAR_TEXT:
                    case SINGLE_QUOTED_TEXT:
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt719=10;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 719;
                        EXCEPTION->state        = 50;


                        goto rulecompound_statementEx;

                    }

                }
                else if ( ((SERVER_VERSION < 50500)) && (LA719_0 == BACKUP_SYMBOL || LA719_0 == RESTORE_SYMBOL))
                {
                    alt719=10;
                }
                else if ( (LA719_0 == CACHE_SYMBOL || LA719_0 == FLUSH_SYMBOL || LA719_0 == HELP_SYMBOL || LA719_0 == INSTALL_SYMBOL || LA719_0 == RESET_SYMBOL || LA719_0 == UNINSTALL_SYMBOL || ((LA719_0 >= DESCRIBE_SYMBOL) && (LA719_0 <= DESC_SYMBOL)) || LA719_0 == KILL_SYMBOL || LA719_0 == SHOW_SYMBOL || LA719_0 == USE_SYMBOL))
                {
                    alt719=10;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA719_0 == GET_SYMBOL))
                {
                    alt719=11;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA719_0 == SIGNAL_SYMBOL))
                {
                    alt719=12;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA719_0 == RESIGNAL_SYMBOL))
                {
                    alt719=13;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 719;
                    EXCEPTION->state        = 0;


                    goto rulecompound_statementEx;

                }
            }
            switch (alt719)
            {
        	case 1:
        	    // MySQL.g:2400:2: ( label )? ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2400:2: ( label )?
        	        {
        	            int alt717=2;
        	            {
        	                int LA717_0 = LA(1);
        	                if ( (LA717_0 == BACK_TICK_QUOTED_ID || LA717_0 == IDENTIFIER))
        	                {
        	                    alt717=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA717_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt717=1;
        	                }
        	                else if ( (((LA717_0 >= ACTION_SYMBOL) && (LA717_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt717=1;
        	                }
        	            }
        	            switch (alt717)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2400:2: label
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_label_in_compound_statement13481);
        	        	        label2589=label(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label2589.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2401:3: ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block )
        	        {
        	            int alt718=4;
        	            switch ( LA(1) )
        	            {
        	            case BEGIN_SYMBOL:
        	            	{
        	            		alt718=1;
        	            	}
        	                break;
        	            case LOOP_SYMBOL:
        	            	{
        	            		alt718=2;
        	            	}
        	                break;
        	            case REPEAT_SYMBOL:
        	            	{
        	            		alt718=3;
        	            	}
        	                break;
        	            case WHILE_SYMBOL:
        	            	{
        	            		alt718=4;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 718;
        	                EXCEPTION->state        = 0;


        	                goto rulecompound_statementEx;

        	            }

        	            switch (alt718)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2402:4: {...}? begin_end_block
        	        	    {
        	        	        if ( !((LA(2) != WORK_SYMBOL)) )
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	                CONSTRUCTEX();
        	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	                EXCEPTION->message      = (void *)"LA(2) != WORK_SYMBOL";
        	        	                EXCEPTION->ruleName	 = (void *)"compound_statement";


        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_begin_end_block_in_compound_statement13493);
        	        	        begin_end_block2590=begin_end_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, begin_end_block2590.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2403:6: loop_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_loop_block_in_compound_statement13500);
        	        	        loop_block2591=loop_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, loop_block2591.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2404:6: repeat_until_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repeat_until_block_in_compound_statement13507);
        	        	        repeat_until_block2592=repeat_until_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, repeat_until_block2592.tree);

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:2405:6: while_do_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_while_do_block_in_compound_statement13514);
        	        	        while_do_block2593=while_do_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, while_do_block2593.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2407:4: case_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_case_statement_in_compound_statement13523);
        	        case_statement2594=case_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, case_statement2594.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2408:4: if_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_if_statement_in_compound_statement13528);
        	        if_statement2595=if_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_statement2595.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2409:4: iterate_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_iterate_statement_in_compound_statement13533);
        	        iterate_statement2596=iterate_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, iterate_statement2596.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2410:4: leave_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_leave_statement_in_compound_statement13538);
        	        leave_statement2597=leave_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, leave_statement2597.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2411:4: return_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_return_statement_in_compound_statement13543);
        	        return_statement2598=return_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, return_statement2598.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2413:4: cursor_open
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_open_in_compound_statement13550);
        	        cursor_open2599=cursor_open(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_open2599.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2414:4: cursor_fetch
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_fetch_in_compound_statement13555);
        	        cursor_fetch2600=cursor_fetch(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_fetch2600.tree);

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2415:4: cursor_close
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_close_in_compound_statement13560);
        	        cursor_close2601=cursor_close(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_close2601.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2417:4: statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_statement_in_compound_statement13567);
        	        statement2602=statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement2602.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2418:4: {...}? => get_diagnostics
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50600)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
        	                EXCEPTION->ruleName	 = (void *)"compound_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_get_diagnostics_in_compound_statement13576);
        	        get_diagnostics2603=get_diagnostics(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, get_diagnostics2603.tree);

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2419:4: {...}? => signal_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"compound_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_signal_statement_in_compound_statement13585);
        	        signal_statement2604=signal_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_statement2604.tree);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2420:4: {...}? => resignal_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"compound_statement";


        	        }

        	        FOLLOWPUSH(FOLLOW_resignal_statement_in_compound_statement13594);
        	        resignal_statement2605=resignal_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, resignal_statement2605.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecompound_statementEx; /* Prevent compiler warnings */
    rulecompound_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end compound_statement */

/**
 * $ANTLR start compound_statement_list
 * MySQL.g:2423:1: compound_statement_list : ( compound_statement SEMICOLON_SYMBOL )+ ;
 */
static MySQLParser_compound_statement_list_return
compound_statement_list(pMySQLParser ctx)
{
    MySQLParser_compound_statement_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2607;
    MySQLParser_compound_statement_return compound_statement2606;
    #undef	RETURN_TYPE_compound_statement2606
    #define	RETURN_TYPE_compound_statement2606 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2607_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL2607       = NULL;
    compound_statement2606.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL2607_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2423:24: ( ( compound_statement SEMICOLON_SYMBOL )+ )
        // MySQL.g:2424:2: ( compound_statement SEMICOLON_SYMBOL )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2424:2: ( compound_statement SEMICOLON_SYMBOL )+
            {
                int cnt720=0;

                for (;;)
                {
                    int alt720=2;
            	{
            	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	    */
            	    int LA720_0 = LA(1);
            	    if ( (LA720_0 == UNTIL_SYMBOL))
            	    {
            	        switch ( LA(2) )
            	        {
            	        case COLON_SYMBOL:
            	        	{
            	        		alt720=1;
            	        	}
            	            break;

            	        }

            	    }
            	    else if ( (LA720_0 == BACK_TICK_QUOTED_ID || LA720_0 == IDENTIFIER))
            	    {
            	        alt720=1;
            	    }
            	    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA720_0 == DOUBLE_QUOTED_TEXT))
            	    {
            	        alt720=1;
            	    }
            	    else if ( (LA720_0 == BEGIN_SYMBOL || LA720_0 == CLOSE_SYMBOL || LA720_0 == DO_SYMBOL || LA720_0 == HANDLER_SYMBOL || LA720_0 == OPEN_SYMBOL || LA720_0 == TRUNCATE_SYMBOL || LA720_0 == ANALYZE_SYMBOL || LA720_0 == ALTER_SYMBOL || LA720_0 == CALL_SYMBOL || LA720_0 == CASE_SYMBOL || LA720_0 == CREATE_SYMBOL || LA720_0 == DELETE_SYMBOL || LA720_0 == DROP_SYMBOL || LA720_0 == FETCH_SYMBOL || LA720_0 == IF_SYMBOL || LA720_0 == INSERT_SYMBOL || LA720_0 == ITERATE_SYMBOL || LA720_0 == LEAVE_SYMBOL || LA720_0 == LOAD_SYMBOL || LA720_0 == LOOP_SYMBOL || LA720_0 == OPEN_PAR_SYMBOL || ((LA720_0 >= RENAME_SYMBOL) && (LA720_0 <= REPLACE_SYMBOL)) || LA720_0 == RETURN_SYMBOL || LA720_0 == SELECT_SYMBOL || LA720_0 == UPDATE_SYMBOL || LA720_0 == WHILE_SYMBOL))
            	    {
            	        alt720=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50100)) && (LA720_0 == PARTITION_SYMBOL))
            	    {
            	        alt720=1;
            	    }
            	    else if ( (LA720_0 == CHECKSUM_SYMBOL || LA720_0 == COMMIT_SYMBOL || LA720_0 == DEALLOCATE_SYMBOL || LA720_0 == EXECUTE_SYMBOL || LA720_0 == PREPARE_SYMBOL || LA720_0 == REPAIR_SYMBOL || ((LA720_0 >= ROLLBACK_SYMBOL) && (LA720_0 <= SAVEPOINT_SYMBOL)) || ((LA720_0 >= START_SYMBOL) && (LA720_0 <= STOP_SYMBOL)) || LA720_0 == XA_SYMBOL || LA720_0 == BINLOG_SYMBOL || LA720_0 == CHANGE_SYMBOL || LA720_0 == CHECK_SYMBOL || LA720_0 == GRANT_SYMBOL || LA720_0 == LOCK_SYMBOL || LA720_0 == OPTIMIZE_SYMBOL || LA720_0 == PURGE_SYMBOL || LA720_0 == RELEASE_SYMBOL || LA720_0 == REVOKE_SYMBOL || LA720_0 == SET_SYMBOL || LA720_0 == UNLOCK_SYMBOL))
            	    {
            	        alt720=1;
            	    }
            	    else if ( ((SERVER_VERSION < 50500)) && (LA720_0 == BACKUP_SYMBOL || LA720_0 == RESTORE_SYMBOL))
            	    {
            	        alt720=1;
            	    }
            	    else if ( (LA720_0 == CACHE_SYMBOL || LA720_0 == FLUSH_SYMBOL || LA720_0 == HELP_SYMBOL || LA720_0 == INSTALL_SYMBOL || LA720_0 == RESET_SYMBOL || LA720_0 == UNINSTALL_SYMBOL || ((LA720_0 >= ACTION_SYMBOL) && (LA720_0 <= ALGORITHM_SYMBOL)) || ((LA720_0 >= ANY_SYMBOL) && (LA720_0 <= AVG_SYMBOL)) || ((LA720_0 >= BIT_SYMBOL) && (LA720_0 <= UNKNOWN_SYMBOL)) || ((LA720_0 >= USER_RESOURCES_SYMBOL) && (LA720_0 <= YEAR_SYMBOL)) || ((LA720_0 >= DESCRIBE_SYMBOL) && (LA720_0 <= DESC_SYMBOL)) || LA720_0 == KILL_SYMBOL || LA720_0 == SHOW_SYMBOL || LA720_0 == USE_SYMBOL))
            	    {
            	        alt720=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50600)) && (LA720_0 == GET_SYMBOL))
            	    {
            	        alt720=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50500)) && (LA720_0 == RESIGNAL_SYMBOL || LA720_0 == SIGNAL_SYMBOL))
            	    {
            	        alt720=1;
            	    }

            	}
            	switch (alt720)
            	{
            	    case 1:
            	        // MySQL.g:2424:3: compound_statement SEMICOLON_SYMBOL
            	        {
            	            FOLLOWPUSH(FOLLOW_compound_statement_in_compound_statement_list13604);
            	            compound_statement2606=compound_statement(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecompound_statement_listEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement2606.tree);

            	            SEMICOLON_SYMBOL2607 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list13606);
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecompound_statement_listEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) {
            	            SEMICOLON_SYMBOL2607_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2607));
            	            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2607_tree);
            	            }

            	        }
            	        break;

            	    default:

            		if ( cnt720 >= 1 )
            		{
            		    goto loop720;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulecompound_statement_listEx;
            	}
            	cnt720++;
                }
                loop720: ;	/* Jump to here if this rule does not match */
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecompound_statement_listEx; /* Prevent compiler warnings */
    rulecompound_statement_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end compound_statement_list */

/**
 * $ANTLR start label
 * MySQL.g:2427:1: label : label_identifier COLON_SYMBOL -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL ) ;
 */
static MySQLParser_label_return
label(pMySQLParser ctx)
{
    MySQLParser_label_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COLON_SYMBOL2609;
    MySQLParser_label_identifier_return label_identifier2608;
    #undef	RETURN_TYPE_label_identifier2608
    #define	RETURN_TYPE_label_identifier2608 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE COLON_SYMBOL2609_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COLON_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_label_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COLON_SYMBOL2609       = NULL;
    label_identifier2608.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COLON_SYMBOL2609_tree   = NULL;

    stream_COLON_SYMBOL   = NULL;
    #define CREATE_stream_COLON_SYMBOL  if (stream_COLON_SYMBOL == NULL) {stream_COLON_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COLON_SYMBOL"); } 
    stream_label_identifier   = NULL;
    #define CREATE_stream_label_identifier  if (stream_label_identifier == NULL) {stream_label_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule label_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2427:6: ( label_identifier COLON_SYMBOL -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL ) )
        // MySQL.g:2429:2: label_identifier COLON_SYMBOL
        {
            FOLLOWPUSH(FOLLOW_label_identifier_in_label13619);
            label_identifier2608=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelabelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_label_identifier; stream_label_identifier->add(stream_label_identifier, label_identifier2608.tree, NULL); }

            COLON_SYMBOL2609 = (pANTLR3_COMMON_TOKEN) MATCHT(COLON_SYMBOL, &FOLLOW_COLON_SYMBOL_in_label13621);
            if  (HASEXCEPTION())
            {
                goto rulelabelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_COLON_SYMBOL; stream_COLON_SYMBOL->add(stream_COLON_SYMBOL, COLON_SYMBOL2609, NULL); }


            /* AST REWRITE
             * elements          : COLON_SYMBOL, label_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2429:32: -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL )
            	{
            	    // MySQL.g:2429:35: ^( LABEL_TOKEN label_identifier COLON_SYMBOL )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, LABEL_TOKEN, (pANTLR3_UINT8)"LABEL_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_label_identifier == NULL ? NULL : stream_label_identifier->nextTree(stream_label_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_COLON_SYMBOL == NULL ? NULL : stream_COLON_SYMBOL->nextNode(stream_COLON_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulelabelEx; /* Prevent compiler warnings */
    rulelabelEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COLON_SYMBOL != NULL) stream_COLON_SYMBOL->free(stream_COLON_SYMBOL);
        if (stream_label_identifier != NULL) stream_label_identifier->free(stream_label_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end label */

/**
 * $ANTLR start label_identifier
 * MySQL.g:2432:1: label_identifier : ( pure_identifier | keyword_sp );
 */
static MySQLParser_label_identifier_return
label_identifier(pMySQLParser ctx)
{
    MySQLParser_label_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_pure_identifier_return pure_identifier2610;
    #undef	RETURN_TYPE_pure_identifier2610
    #define	RETURN_TYPE_pure_identifier2610 MySQLParser_pure_identifier_return

    MySQLParser_keyword_sp_return keyword_sp2611;
    #undef	RETURN_TYPE_keyword_sp2611
    #define	RETURN_TYPE_keyword_sp2611 MySQLParser_keyword_sp_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    pure_identifier2610.tree = NULL;

    keyword_sp2611.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2432:17: ( pure_identifier | keyword_sp )

            ANTLR3_UINT32 alt721;

            alt721=2;

            {
                int LA721_0 = LA(1);
                if ( (LA721_0 == BACK_TICK_QUOTED_ID || LA721_0 == IDENTIFIER))
                {
                    alt721=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA721_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt721=1;
                }
                else if ( (((LA721_0 >= ACTION_SYMBOL) && (LA721_0 <= YEAR_SYMBOL))))
                {
                    alt721=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 721;
                    EXCEPTION->state        = 0;


                    goto rulelabel_identifierEx;

                }
            }
            switch (alt721)
            {
        	case 1:
        	    // MySQL.g:2433:2: pure_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_label_identifier13640);
        	        pure_identifier2610=pure_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelabel_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier2610.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2433:20: keyword_sp
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_sp_in_label_identifier13644);
        	        keyword_sp2611=keyword_sp(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelabel_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword_sp2611.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelabel_identifierEx; /* Prevent compiler warnings */
    rulelabel_identifierEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end label_identifier */

/**
 * $ANTLR start begin_end_block
 * MySQL.g:2436:1: begin_end_block : BEGIN_SYMBOL ^ declarations ( compound_statement_list )? END_SYMBOL ( label_identifier )? ;
 */
static MySQLParser_begin_end_block_return
begin_end_block(pMySQLParser ctx)
{
    MySQLParser_begin_end_block_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BEGIN_SYMBOL2612;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2615;
    MySQLParser_declarations_return declarations2613;
    #undef	RETURN_TYPE_declarations2613
    #define	RETURN_TYPE_declarations2613 MySQLParser_declarations_return

    MySQLParser_compound_statement_list_return compound_statement_list2614;
    #undef	RETURN_TYPE_compound_statement_list2614
    #define	RETURN_TYPE_compound_statement_list2614 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2616;
    #undef	RETURN_TYPE_label_identifier2616
    #define	RETURN_TYPE_label_identifier2616 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE BEGIN_SYMBOL2612_tree;
    pANTLR3_BASE_TREE END_SYMBOL2615_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BEGIN_SYMBOL2612       = NULL;
    END_SYMBOL2615       = NULL;
    declarations2613.tree = NULL;

    compound_statement_list2614.tree = NULL;

    label_identifier2616.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BEGIN_SYMBOL2612_tree   = NULL;
    END_SYMBOL2615_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2436:16: ( BEGIN_SYMBOL ^ declarations ( compound_statement_list )? END_SYMBOL ( label_identifier )? )
        // MySQL.g:2437:2: BEGIN_SYMBOL ^ declarations ( compound_statement_list )? END_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            BEGIN_SYMBOL2612 = (pANTLR3_COMMON_TOKEN) MATCHT(BEGIN_SYMBOL, &FOLLOW_BEGIN_SYMBOL_in_begin_end_block13654);
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BEGIN_SYMBOL2612_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEGIN_SYMBOL2612))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BEGIN_SYMBOL2612_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_declarations_in_begin_end_block13657);
            declarations2613=declarations(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, declarations2613.tree);

            // MySQL.g:2437:29: ( compound_statement_list )?
            {
                int alt722=2;
                {
                    int LA722_0 = LA(1);
                    if ( (LA722_0 == BACK_TICK_QUOTED_ID || LA722_0 == IDENTIFIER))
                    {
                        alt722=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA722_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt722=1;
                    }
                    else if ( (LA722_0 == BEGIN_SYMBOL || LA722_0 == CLOSE_SYMBOL || LA722_0 == DO_SYMBOL || LA722_0 == HANDLER_SYMBOL || LA722_0 == OPEN_SYMBOL || LA722_0 == TRUNCATE_SYMBOL || LA722_0 == ANALYZE_SYMBOL || LA722_0 == ALTER_SYMBOL || LA722_0 == CALL_SYMBOL || LA722_0 == CASE_SYMBOL || LA722_0 == CREATE_SYMBOL || LA722_0 == DELETE_SYMBOL || LA722_0 == DROP_SYMBOL || LA722_0 == FETCH_SYMBOL || LA722_0 == IF_SYMBOL || LA722_0 == INSERT_SYMBOL || LA722_0 == ITERATE_SYMBOL || LA722_0 == LEAVE_SYMBOL || LA722_0 == LOAD_SYMBOL || LA722_0 == LOOP_SYMBOL || LA722_0 == OPEN_PAR_SYMBOL || ((LA722_0 >= RENAME_SYMBOL) && (LA722_0 <= REPLACE_SYMBOL)) || LA722_0 == RETURN_SYMBOL || LA722_0 == SELECT_SYMBOL || LA722_0 == UPDATE_SYMBOL || LA722_0 == WHILE_SYMBOL))
                    {
                        alt722=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA722_0 == PARTITION_SYMBOL))
                    {
                        alt722=1;
                    }
                    else if ( (LA722_0 == CHECKSUM_SYMBOL || LA722_0 == COMMIT_SYMBOL || LA722_0 == DEALLOCATE_SYMBOL || LA722_0 == EXECUTE_SYMBOL || LA722_0 == PREPARE_SYMBOL || LA722_0 == REPAIR_SYMBOL || ((LA722_0 >= ROLLBACK_SYMBOL) && (LA722_0 <= SAVEPOINT_SYMBOL)) || ((LA722_0 >= START_SYMBOL) && (LA722_0 <= STOP_SYMBOL)) || LA722_0 == XA_SYMBOL || LA722_0 == BINLOG_SYMBOL || LA722_0 == CHANGE_SYMBOL || LA722_0 == CHECK_SYMBOL || LA722_0 == GRANT_SYMBOL || LA722_0 == LOCK_SYMBOL || LA722_0 == OPTIMIZE_SYMBOL || LA722_0 == PURGE_SYMBOL || LA722_0 == RELEASE_SYMBOL || LA722_0 == REVOKE_SYMBOL || LA722_0 == SET_SYMBOL || LA722_0 == UNLOCK_SYMBOL))
                    {
                        alt722=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA722_0 == BACKUP_SYMBOL || LA722_0 == RESTORE_SYMBOL))
                    {
                        alt722=1;
                    }
                    else if ( (LA722_0 == CACHE_SYMBOL || LA722_0 == FLUSH_SYMBOL || LA722_0 == HELP_SYMBOL || LA722_0 == INSTALL_SYMBOL || LA722_0 == RESET_SYMBOL || LA722_0 == UNINSTALL_SYMBOL || ((LA722_0 >= ACTION_SYMBOL) && (LA722_0 <= ALGORITHM_SYMBOL)) || ((LA722_0 >= ANY_SYMBOL) && (LA722_0 <= AVG_SYMBOL)) || ((LA722_0 >= BIT_SYMBOL) && (LA722_0 <= YEAR_SYMBOL)) || ((LA722_0 >= DESCRIBE_SYMBOL) && (LA722_0 <= DESC_SYMBOL)) || LA722_0 == KILL_SYMBOL || LA722_0 == SHOW_SYMBOL || LA722_0 == USE_SYMBOL))
                    {
                        alt722=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (LA722_0 == GET_SYMBOL))
                    {
                        alt722=1;
                    }
                    else if ( ((SERVER_VERSION >= 50500)) && (LA722_0 == RESIGNAL_SYMBOL || LA722_0 == SIGNAL_SYMBOL))
                    {
                        alt722=1;
                    }
                }
                switch (alt722)
                {
            	case 1:
            	    // MySQL.g:2437:29: compound_statement_list
            	    {
            	        FOLLOWPUSH(FOLLOW_compound_statement_list_in_begin_end_block13659);
            	        compound_statement_list2614=compound_statement_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebegin_end_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2614.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2615 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_begin_end_block13662);
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2615_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2615));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2615_tree);
            }

            // MySQL.g:2437:65: ( label_identifier )?
            {
                int alt723=2;
                {
                    int LA723_0 = LA(1);
                    if ( (LA723_0 == BACK_TICK_QUOTED_ID || LA723_0 == IDENTIFIER))
                    {
                        alt723=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA723_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt723=1;
                    }
                    else if ( (((LA723_0 >= ACTION_SYMBOL) && (LA723_0 <= YEAR_SYMBOL))))
                    {
                        alt723=1;
                    }
                }
                switch (alt723)
                {
            	case 1:
            	    // MySQL.g:2437:65: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_begin_end_block13664);
            	        label_identifier2616=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebegin_end_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2616.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulebegin_end_blockEx; /* Prevent compiler warnings */
    rulebegin_end_blockEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end begin_end_block */

/**
 * $ANTLR start loop_block
 * MySQL.g:2440:1: loop_block : LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )? ;
 */
static MySQLParser_loop_block_return
loop_block(pMySQLParser ctx)
{
    MySQLParser_loop_block_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOOP_SYMBOL2617;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2619;
    pANTLR3_COMMON_TOKEN    LOOP_SYMBOL2620;
    MySQLParser_compound_statement_list_return compound_statement_list2618;
    #undef	RETURN_TYPE_compound_statement_list2618
    #define	RETURN_TYPE_compound_statement_list2618 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2621;
    #undef	RETURN_TYPE_label_identifier2621
    #define	RETURN_TYPE_label_identifier2621 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE LOOP_SYMBOL2617_tree;
    pANTLR3_BASE_TREE END_SYMBOL2619_tree;
    pANTLR3_BASE_TREE LOOP_SYMBOL2620_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOOP_SYMBOL2617       = NULL;
    END_SYMBOL2619       = NULL;
    LOOP_SYMBOL2620       = NULL;
    compound_statement_list2618.tree = NULL;

    label_identifier2621.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOOP_SYMBOL2617_tree   = NULL;
    END_SYMBOL2619_tree   = NULL;
    LOOP_SYMBOL2620_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2440:11: ( LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )? )
        // MySQL.g:2441:2: LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOOP_SYMBOL2617 = (pANTLR3_COMMON_TOKEN) MATCHT(LOOP_SYMBOL, &FOLLOW_LOOP_SYMBOL_in_loop_block13674);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOOP_SYMBOL2617_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOOP_SYMBOL2617))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOOP_SYMBOL2617_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_loop_block13677);
            compound_statement_list2618=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2618.tree);

            END_SYMBOL2619 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_loop_block13679);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2619_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2619));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2619_tree);
            }

            LOOP_SYMBOL2620 = (pANTLR3_COMMON_TOKEN) MATCHT(LOOP_SYMBOL, &FOLLOW_LOOP_SYMBOL_in_loop_block13681);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOOP_SYMBOL2620_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOOP_SYMBOL2620));
            ADAPTOR->addChild(ADAPTOR, root_0, LOOP_SYMBOL2620_tree);
            }

            // MySQL.g:2441:62: ( label_identifier )?
            {
                int alt724=2;
                {
                    int LA724_0 = LA(1);
                    if ( (LA724_0 == BACK_TICK_QUOTED_ID || LA724_0 == IDENTIFIER))
                    {
                        alt724=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA724_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt724=1;
                    }
                    else if ( (((LA724_0 >= ACTION_SYMBOL) && (LA724_0 <= YEAR_SYMBOL))))
                    {
                        alt724=1;
                    }
                }
                switch (alt724)
                {
            	case 1:
            	    // MySQL.g:2441:62: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_loop_block13683);
            	        label_identifier2621=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleloop_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2621.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleloop_blockEx; /* Prevent compiler warnings */
    ruleloop_blockEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end loop_block */

/**
 * $ANTLR start repeat_until_block
 * MySQL.g:2444:1: repeat_until_block : REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )? ;
 */
static MySQLParser_repeat_until_block_return
repeat_until_block(pMySQLParser ctx)
{
    MySQLParser_repeat_until_block_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2622;
    pANTLR3_COMMON_TOKEN    UNTIL_SYMBOL2624;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2626;
    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2627;
    MySQLParser_compound_statement_list_return compound_statement_list2623;
    #undef	RETURN_TYPE_compound_statement_list2623
    #define	RETURN_TYPE_compound_statement_list2623 MySQLParser_compound_statement_list_return

    MySQLParser_expression_return expression2625;
    #undef	RETURN_TYPE_expression2625
    #define	RETURN_TYPE_expression2625 MySQLParser_expression_return

    MySQLParser_label_identifier_return label_identifier2628;
    #undef	RETURN_TYPE_label_identifier2628
    #define	RETURN_TYPE_label_identifier2628 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE REPEAT_SYMBOL2622_tree;
    pANTLR3_BASE_TREE UNTIL_SYMBOL2624_tree;
    pANTLR3_BASE_TREE END_SYMBOL2626_tree;
    pANTLR3_BASE_TREE REPEAT_SYMBOL2627_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPEAT_SYMBOL2622       = NULL;
    UNTIL_SYMBOL2624       = NULL;
    END_SYMBOL2626       = NULL;
    REPEAT_SYMBOL2627       = NULL;
    compound_statement_list2623.tree = NULL;

    expression2625.tree = NULL;

    label_identifier2628.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPEAT_SYMBOL2622_tree   = NULL;
    UNTIL_SYMBOL2624_tree   = NULL;
    END_SYMBOL2626_tree   = NULL;
    REPEAT_SYMBOL2627_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2444:19: ( REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )? )
        // MySQL.g:2445:2: REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REPEAT_SYMBOL2622 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13693);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPEAT_SYMBOL2622_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2622))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPEAT_SYMBOL2622_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_repeat_until_block13696);
            compound_statement_list2623=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2623.tree);

            UNTIL_SYMBOL2624 = (pANTLR3_COMMON_TOKEN) MATCHT(UNTIL_SYMBOL, &FOLLOW_UNTIL_SYMBOL_in_repeat_until_block13698);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UNTIL_SYMBOL2624_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNTIL_SYMBOL2624));
            ADAPTOR->addChild(ADAPTOR, root_0, UNTIL_SYMBOL2624_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_repeat_until_block13700);
            expression2625=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2625.tree);

            END_SYMBOL2626 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_repeat_until_block13702);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2626_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2626));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2626_tree);
            }

            REPEAT_SYMBOL2627 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_repeat_until_block13704);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPEAT_SYMBOL2627_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2627));
            ADAPTOR->addChild(ADAPTOR, root_0, REPEAT_SYMBOL2627_tree);
            }

            // MySQL.g:2445:90: ( label_identifier )?
            {
                int alt725=2;
                {
                    int LA725_0 = LA(1);
                    if ( (LA725_0 == BACK_TICK_QUOTED_ID || LA725_0 == IDENTIFIER))
                    {
                        alt725=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA725_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt725=1;
                    }
                    else if ( (((LA725_0 >= ACTION_SYMBOL) && (LA725_0 <= YEAR_SYMBOL))))
                    {
                        alt725=1;
                    }
                }
                switch (alt725)
                {
            	case 1:
            	    // MySQL.g:2445:90: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_repeat_until_block13706);
            	        label_identifier2628=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerepeat_until_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2628.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulerepeat_until_blockEx; /* Prevent compiler warnings */
    rulerepeat_until_blockEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end repeat_until_block */

/**
 * $ANTLR start while_do_block
 * MySQL.g:2448:1: while_do_block : WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )? ;
 */
static MySQLParser_while_do_block_return
while_do_block(pMySQLParser ctx)
{
    MySQLParser_while_do_block_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    WHILE_SYMBOL2629;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL2631;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2633;
    pANTLR3_COMMON_TOKEN    WHILE_SYMBOL2634;
    MySQLParser_expression_return expression2630;
    #undef	RETURN_TYPE_expression2630
    #define	RETURN_TYPE_expression2630 MySQLParser_expression_return

    MySQLParser_compound_statement_list_return compound_statement_list2632;
    #undef	RETURN_TYPE_compound_statement_list2632
    #define	RETURN_TYPE_compound_statement_list2632 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2635;
    #undef	RETURN_TYPE_label_identifier2635
    #define	RETURN_TYPE_label_identifier2635 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE WHILE_SYMBOL2629_tree;
    pANTLR3_BASE_TREE DO_SYMBOL2631_tree;
    pANTLR3_BASE_TREE END_SYMBOL2633_tree;
    pANTLR3_BASE_TREE WHILE_SYMBOL2634_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHILE_SYMBOL2629       = NULL;
    DO_SYMBOL2631       = NULL;
    END_SYMBOL2633       = NULL;
    WHILE_SYMBOL2634       = NULL;
    expression2630.tree = NULL;

    compound_statement_list2632.tree = NULL;

    label_identifier2635.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHILE_SYMBOL2629_tree   = NULL;
    DO_SYMBOL2631_tree   = NULL;
    END_SYMBOL2633_tree   = NULL;
    WHILE_SYMBOL2634_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2448:15: ( WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )? )
        // MySQL.g:2449:2: WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHILE_SYMBOL2629 = (pANTLR3_COMMON_TOKEN) MATCHT(WHILE_SYMBOL, &FOLLOW_WHILE_SYMBOL_in_while_do_block13716);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHILE_SYMBOL2629_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHILE_SYMBOL2629))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHILE_SYMBOL2629_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_while_do_block13719);
            expression2630=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2630.tree);

            DO_SYMBOL2631 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_while_do_block13721);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DO_SYMBOL2631_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL2631));
            ADAPTOR->addChild(ADAPTOR, root_0, DO_SYMBOL2631_tree);
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_while_do_block13723);
            compound_statement_list2632=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2632.tree);

            END_SYMBOL2633 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_while_do_block13725);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2633_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2633));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2633_tree);
            }

            WHILE_SYMBOL2634 = (pANTLR3_COMMON_TOKEN) MATCHT(WHILE_SYMBOL, &FOLLOW_WHILE_SYMBOL_in_while_do_block13727);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHILE_SYMBOL2634_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHILE_SYMBOL2634));
            ADAPTOR->addChild(ADAPTOR, root_0, WHILE_SYMBOL2634_tree);
            }

            // MySQL.g:2449:85: ( label_identifier )?
            {
                int alt726=2;
                {
                    int LA726_0 = LA(1);
                    if ( (LA726_0 == BACK_TICK_QUOTED_ID || LA726_0 == IDENTIFIER))
                    {
                        alt726=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA726_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt726=1;
                    }
                    else if ( (((LA726_0 >= ACTION_SYMBOL) && (LA726_0 <= YEAR_SYMBOL))))
                    {
                        alt726=1;
                    }
                }
                switch (alt726)
                {
            	case 1:
            	    // MySQL.g:2449:85: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_while_do_block13729);
            	        label_identifier2635=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulewhile_do_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2635.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulewhile_do_blockEx; /* Prevent compiler warnings */
    rulewhile_do_blockEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end while_do_block */

/**
 * $ANTLR start declarations
 * MySQL.g:2452:1: declarations : ( options {k=3; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )* ( cursor_declaration )* ( handler_declaration )* ;
 */
static MySQLParser_declarations_return
declarations(pMySQLParser ctx)
{
    MySQLParser_declarations_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DECLARE_SYMBOL2636;
    MySQLParser_identifier_return identifier2637;
    #undef	RETURN_TYPE_identifier2637
    #define	RETURN_TYPE_identifier2637 MySQLParser_identifier_return

    MySQLParser_variable_declaration_return variable_declaration2638;
    #undef	RETURN_TYPE_variable_declaration2638
    #define	RETURN_TYPE_variable_declaration2638 MySQLParser_variable_declaration_return

    MySQLParser_condition_declaration_return condition_declaration2639;
    #undef	RETURN_TYPE_condition_declaration2639
    #define	RETURN_TYPE_condition_declaration2639 MySQLParser_condition_declaration_return

    MySQLParser_cursor_declaration_return cursor_declaration2640;
    #undef	RETURN_TYPE_cursor_declaration2640
    #define	RETURN_TYPE_cursor_declaration2640 MySQLParser_cursor_declaration_return

    MySQLParser_handler_declaration_return handler_declaration2641;
    #undef	RETURN_TYPE_handler_declaration2641
    #define	RETURN_TYPE_handler_declaration2641 MySQLParser_handler_declaration_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2636_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2636       = NULL;
    identifier2637.tree = NULL;

    variable_declaration2638.tree = NULL;

    condition_declaration2639.tree = NULL;

    cursor_declaration2640.tree = NULL;

    handler_declaration2641.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2636_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2452:13: ( ( options {k=3; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )* ( cursor_declaration )* ( handler_declaration )* )
        // MySQL.g:2453:2: ( options {k=3; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )* ( cursor_declaration )* ( handler_declaration )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2453:2: ( options {k=3; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )*

            for (;;)
            {
                int alt728=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA728_1 = LA(2);
                		    if ( (LA728_1 == IDENTIFIER))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA728_75 = LA(3);
                		            if ( (LA728_75 == BIT_SYMBOL || ((LA728_75 >= BOOL_SYMBOL) && (LA728_75 <= BOOLEAN_SYMBOL)) || ((LA728_75 >= DATETIME_SYMBOL) && (LA728_75 <= DATE_SYMBOL)) || LA728_75 == ENUM_SYMBOL || LA728_75 == FIXED_SYMBOL || ((LA728_75 >= GEOMETRY_SYMBOL) && (LA728_75 <= GEOMETRYCOLLECTION_SYMBOL)) || LA728_75 == LINESTRING_SYMBOL || ((LA728_75 >= MULTILINESTRING_SYMBOL) && (LA728_75 <= MULTIPOLYGON_SYMBOL)) || ((LA728_75 >= NATIONAL_SYMBOL) && (LA728_75 <= NCHAR_SYMBOL)) || LA728_75 == NVARCHAR_SYMBOL || ((LA728_75 >= POINT_SYMBOL) && (LA728_75 <= POLYGON_SYMBOL)) || LA728_75 == SERIAL_SYMBOL || LA728_75 == TEXT_SYMBOL || LA728_75 == TIMESTAMP_SYMBOL || LA728_75 == TIME_SYMBOL || LA728_75 == YEAR_SYMBOL || ((LA728_75 >= BIGINT_SYMBOL) && (LA728_75 <= BINARY_SYMBOL)) || LA728_75 == BLOB_SYMBOL || LA728_75 == CHAR_SYMBOL || LA728_75 == COMMA_SYMBOL || LA728_75 == CONDITION_SYMBOL || LA728_75 == DECIMAL_SYMBOL || LA728_75 == DOUBLE_SYMBOL || LA728_75 == FLOAT_SYMBOL || LA728_75 == INT_SYMBOL || ((LA728_75 >= LONGBLOB_SYMBOL) && (LA728_75 <= LONGTEXT_SYMBOL)) || LA728_75 == LONG_SYMBOL || ((LA728_75 >= MEDIUMBLOB_SYMBOL) && (LA728_75 <= MEDIUMTEXT_SYMBOL)) || LA728_75 == NUMERIC_SYMBOL || LA728_75 == REAL_SYMBOL || LA728_75 == SET_SYMBOL || LA728_75 == SMALLINT_SYMBOL || ((LA728_75 >= TINYBLOB_SYMBOL) && (LA728_75 <= TINYTEXT_SYMBOL)) || LA728_75 == VARBINARY_SYMBOL || LA728_75 == VARCHAR_SYMBOL))
                		            {
                		                alt728=1;
                		            }

                		        }
                		    }
                		    else if ( (LA728_1 == BACK_TICK_QUOTED_ID))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA728_76 = LA(3);
                		            if ( (LA728_76 == BIT_SYMBOL || ((LA728_76 >= BOOL_SYMBOL) && (LA728_76 <= BOOLEAN_SYMBOL)) || ((LA728_76 >= DATETIME_SYMBOL) && (LA728_76 <= DATE_SYMBOL)) || LA728_76 == ENUM_SYMBOL || LA728_76 == FIXED_SYMBOL || ((LA728_76 >= GEOMETRY_SYMBOL) && (LA728_76 <= GEOMETRYCOLLECTION_SYMBOL)) || LA728_76 == LINESTRING_SYMBOL || ((LA728_76 >= MULTILINESTRING_SYMBOL) && (LA728_76 <= MULTIPOLYGON_SYMBOL)) || ((LA728_76 >= NATIONAL_SYMBOL) && (LA728_76 <= NCHAR_SYMBOL)) || LA728_76 == NVARCHAR_SYMBOL || ((LA728_76 >= POINT_SYMBOL) && (LA728_76 <= POLYGON_SYMBOL)) || LA728_76 == SERIAL_SYMBOL || LA728_76 == TEXT_SYMBOL || LA728_76 == TIMESTAMP_SYMBOL || LA728_76 == TIME_SYMBOL || LA728_76 == YEAR_SYMBOL || ((LA728_76 >= BIGINT_SYMBOL) && (LA728_76 <= BINARY_SYMBOL)) || LA728_76 == BLOB_SYMBOL || LA728_76 == CHAR_SYMBOL || LA728_76 == COMMA_SYMBOL || LA728_76 == CONDITION_SYMBOL || LA728_76 == DECIMAL_SYMBOL || LA728_76 == DOUBLE_SYMBOL || LA728_76 == FLOAT_SYMBOL || LA728_76 == INT_SYMBOL || ((LA728_76 >= LONGBLOB_SYMBOL) && (LA728_76 <= LONGTEXT_SYMBOL)) || LA728_76 == LONG_SYMBOL || ((LA728_76 >= MEDIUMBLOB_SYMBOL) && (LA728_76 <= MEDIUMTEXT_SYMBOL)) || LA728_76 == NUMERIC_SYMBOL || LA728_76 == REAL_SYMBOL || LA728_76 == SET_SYMBOL || LA728_76 == SMALLINT_SYMBOL || ((LA728_76 >= TINYBLOB_SYMBOL) && (LA728_76 <= TINYTEXT_SYMBOL)) || LA728_76 == VARBINARY_SYMBOL || LA728_76 == VARCHAR_SYMBOL))
                		            {
                		                alt728=1;
                		            }

                		        }
                		    }
                		    else if ( (LA728_1 == DOUBLE_QUOTED_TEXT))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA728_77 = LA(3);
                		            if ( (LA728_77 == BIT_SYMBOL || ((LA728_77 >= BOOL_SYMBOL) && (LA728_77 <= BOOLEAN_SYMBOL)) || ((LA728_77 >= DATETIME_SYMBOL) && (LA728_77 <= DATE_SYMBOL)) || LA728_77 == ENUM_SYMBOL || LA728_77 == FIXED_SYMBOL || ((LA728_77 >= GEOMETRY_SYMBOL) && (LA728_77 <= GEOMETRYCOLLECTION_SYMBOL)) || LA728_77 == LINESTRING_SYMBOL || ((LA728_77 >= MULTILINESTRING_SYMBOL) && (LA728_77 <= MULTIPOLYGON_SYMBOL)) || ((LA728_77 >= NATIONAL_SYMBOL) && (LA728_77 <= NCHAR_SYMBOL)) || LA728_77 == NVARCHAR_SYMBOL || ((LA728_77 >= POINT_SYMBOL) && (LA728_77 <= POLYGON_SYMBOL)) || LA728_77 == SERIAL_SYMBOL || LA728_77 == TEXT_SYMBOL || LA728_77 == TIMESTAMP_SYMBOL || LA728_77 == TIME_SYMBOL || LA728_77 == YEAR_SYMBOL || ((LA728_77 >= BIGINT_SYMBOL) && (LA728_77 <= BINARY_SYMBOL)) || LA728_77 == BLOB_SYMBOL || LA728_77 == CHAR_SYMBOL || LA728_77 == COMMA_SYMBOL || LA728_77 == CONDITION_SYMBOL || LA728_77 == DECIMAL_SYMBOL || LA728_77 == DOUBLE_SYMBOL || LA728_77 == FLOAT_SYMBOL || LA728_77 == INT_SYMBOL || ((LA728_77 >= LONGBLOB_SYMBOL) && (LA728_77 <= LONGTEXT_SYMBOL)) || LA728_77 == LONG_SYMBOL || ((LA728_77 >= MEDIUMBLOB_SYMBOL) && (LA728_77 <= MEDIUMTEXT_SYMBOL)) || LA728_77 == NUMERIC_SYMBOL || LA728_77 == REAL_SYMBOL || LA728_77 == SET_SYMBOL || LA728_77 == SMALLINT_SYMBOL || ((LA728_77 >= TINYBLOB_SYMBOL) && (LA728_77 <= TINYTEXT_SYMBOL)) || LA728_77 == VARBINARY_SYMBOL || LA728_77 == VARCHAR_SYMBOL))
                		            {
                		                alt728=1;
                		            }

                		        }
                		    }
                		    else if ( (((LA728_1 >= ACTION_SYMBOL) && (LA728_1 <= YEAR_SYMBOL))))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA728_78 = LA(3);
                		            if ( (LA728_78 == BIT_SYMBOL || ((LA728_78 >= BOOL_SYMBOL) && (LA728_78 <= BOOLEAN_SYMBOL)) || ((LA728_78 >= DATETIME_SYMBOL) && (LA728_78 <= DATE_SYMBOL)) || LA728_78 == ENUM_SYMBOL || LA728_78 == FIXED_SYMBOL || ((LA728_78 >= GEOMETRY_SYMBOL) && (LA728_78 <= GEOMETRYCOLLECTION_SYMBOL)) || LA728_78 == LINESTRING_SYMBOL || ((LA728_78 >= MULTILINESTRING_SYMBOL) && (LA728_78 <= MULTIPOLYGON_SYMBOL)) || ((LA728_78 >= NATIONAL_SYMBOL) && (LA728_78 <= NCHAR_SYMBOL)) || LA728_78 == NVARCHAR_SYMBOL || ((LA728_78 >= POINT_SYMBOL) && (LA728_78 <= POLYGON_SYMBOL)) || LA728_78 == SERIAL_SYMBOL || LA728_78 == TEXT_SYMBOL || LA728_78 == TIMESTAMP_SYMBOL || LA728_78 == TIME_SYMBOL || LA728_78 == YEAR_SYMBOL || ((LA728_78 >= BIGINT_SYMBOL) && (LA728_78 <= BINARY_SYMBOL)) || LA728_78 == BLOB_SYMBOL || LA728_78 == CHAR_SYMBOL || LA728_78 == COMMA_SYMBOL || LA728_78 == CONDITION_SYMBOL || LA728_78 == DECIMAL_SYMBOL || LA728_78 == DOUBLE_SYMBOL || LA728_78 == FLOAT_SYMBOL || LA728_78 == INT_SYMBOL || ((LA728_78 >= LONGBLOB_SYMBOL) && (LA728_78 <= LONGTEXT_SYMBOL)) || LA728_78 == LONG_SYMBOL || ((LA728_78 >= MEDIUMBLOB_SYMBOL) && (LA728_78 <= MEDIUMTEXT_SYMBOL)) || LA728_78 == NUMERIC_SYMBOL || LA728_78 == REAL_SYMBOL || LA728_78 == SET_SYMBOL || LA728_78 == SMALLINT_SYMBOL || ((LA728_78 >= TINYBLOB_SYMBOL) && (LA728_78 <= TINYTEXT_SYMBOL)) || LA728_78 == VARBINARY_SYMBOL || LA728_78 == VARCHAR_SYMBOL))
                		            {
                		                alt728=1;
                		            }

                		        }
                		    }
                		    else if ( (((LA728_1 >= ASCII_SYMBOL) && (LA728_1 <= XA_SYMBOL))))
                		    {
                		        {
                		           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		            */
                		            int LA728_79 = LA(3);
                		            if ( (LA728_79 == BIT_SYMBOL || ((LA728_79 >= BOOL_SYMBOL) && (LA728_79 <= BOOLEAN_SYMBOL)) || ((LA728_79 >= DATETIME_SYMBOL) && (LA728_79 <= DATE_SYMBOL)) || LA728_79 == ENUM_SYMBOL || LA728_79 == FIXED_SYMBOL || ((LA728_79 >= GEOMETRY_SYMBOL) && (LA728_79 <= GEOMETRYCOLLECTION_SYMBOL)) || LA728_79 == LINESTRING_SYMBOL || ((LA728_79 >= MULTILINESTRING_SYMBOL) && (LA728_79 <= MULTIPOLYGON_SYMBOL)) || ((LA728_79 >= NATIONAL_SYMBOL) && (LA728_79 <= NCHAR_SYMBOL)) || LA728_79 == NVARCHAR_SYMBOL || ((LA728_79 >= POINT_SYMBOL) && (LA728_79 <= POLYGON_SYMBOL)) || LA728_79 == SERIAL_SYMBOL || LA728_79 == TEXT_SYMBOL || LA728_79 == TIMESTAMP_SYMBOL || LA728_79 == TIME_SYMBOL || LA728_79 == YEAR_SYMBOL || ((LA728_79 >= BIGINT_SYMBOL) && (LA728_79 <= BINARY_SYMBOL)) || LA728_79 == BLOB_SYMBOL || LA728_79 == CHAR_SYMBOL || LA728_79 == COMMA_SYMBOL || LA728_79 == CONDITION_SYMBOL || LA728_79 == DECIMAL_SYMBOL || LA728_79 == DOUBLE_SYMBOL || LA728_79 == FLOAT_SYMBOL || LA728_79 == INT_SYMBOL || ((LA728_79 >= LONGBLOB_SYMBOL) && (LA728_79 <= LONGTEXT_SYMBOL)) || LA728_79 == LONG_SYMBOL || ((LA728_79 >= MEDIUMBLOB_SYMBOL) && (LA728_79 <= MEDIUMTEXT_SYMBOL)) || LA728_79 == NUMERIC_SYMBOL || LA728_79 == REAL_SYMBOL || LA728_79 == SET_SYMBOL || LA728_79 == SMALLINT_SYMBOL || ((LA728_79 >= TINYBLOB_SYMBOL) && (LA728_79 <= TINYTEXT_SYMBOL)) || LA728_79 == VARBINARY_SYMBOL || LA728_79 == VARCHAR_SYMBOL))
                		            {
                		                alt728=1;
                		            }

                		        }
                		    }

                		}
                	}
                    break;

                }

                switch (alt728)
                {
            	case 1:
            	    // MySQL.g:2453:24: DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration )
            	    {
            	        DECLARE_SYMBOL2636 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_declarations13754);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DECLARE_SYMBOL2636_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2636));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2636_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_declarations13756);
            	        identifier2637=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2637.tree);

            	        // MySQL.g:2453:50: ( variable_declaration | condition_declaration )
            	        {
            	            int alt727=2;
            	            {
            	                int LA727_0 = LA(1);
            	                if ( (LA727_0 == BIT_SYMBOL || ((LA727_0 >= BOOL_SYMBOL) && (LA727_0 <= BOOLEAN_SYMBOL)) || ((LA727_0 >= DATETIME_SYMBOL) && (LA727_0 <= DATE_SYMBOL)) || LA727_0 == ENUM_SYMBOL || LA727_0 == FIXED_SYMBOL || ((LA727_0 >= GEOMETRY_SYMBOL) && (LA727_0 <= GEOMETRYCOLLECTION_SYMBOL)) || LA727_0 == LINESTRING_SYMBOL || ((LA727_0 >= MULTILINESTRING_SYMBOL) && (LA727_0 <= MULTIPOLYGON_SYMBOL)) || ((LA727_0 >= NATIONAL_SYMBOL) && (LA727_0 <= NCHAR_SYMBOL)) || LA727_0 == NVARCHAR_SYMBOL || ((LA727_0 >= POINT_SYMBOL) && (LA727_0 <= POLYGON_SYMBOL)) || LA727_0 == SERIAL_SYMBOL || LA727_0 == TEXT_SYMBOL || LA727_0 == TIMESTAMP_SYMBOL || LA727_0 == TIME_SYMBOL || LA727_0 == YEAR_SYMBOL || ((LA727_0 >= BIGINT_SYMBOL) && (LA727_0 <= BINARY_SYMBOL)) || LA727_0 == BLOB_SYMBOL || LA727_0 == CHAR_SYMBOL || LA727_0 == COMMA_SYMBOL || LA727_0 == DECIMAL_SYMBOL || LA727_0 == DOUBLE_SYMBOL || LA727_0 == FLOAT_SYMBOL || LA727_0 == INT_SYMBOL || ((LA727_0 >= LONGBLOB_SYMBOL) && (LA727_0 <= LONGTEXT_SYMBOL)) || LA727_0 == LONG_SYMBOL || ((LA727_0 >= MEDIUMBLOB_SYMBOL) && (LA727_0 <= MEDIUMTEXT_SYMBOL)) || LA727_0 == NUMERIC_SYMBOL || LA727_0 == REAL_SYMBOL || LA727_0 == SET_SYMBOL || LA727_0 == SMALLINT_SYMBOL || ((LA727_0 >= TINYBLOB_SYMBOL) && (LA727_0 <= TINYTEXT_SYMBOL)) || LA727_0 == VARBINARY_SYMBOL || LA727_0 == VARCHAR_SYMBOL))
            	                {
            	                    alt727=1;
            	                }
            	                else if ( (LA727_0 == CONDITION_SYMBOL))
            	                {
            	                    alt727=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 727;
            	                    EXCEPTION->state        = 0;


            	                    goto ruledeclarationsEx;

            	                }
            	            }
            	            switch (alt727)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2453:51: variable_declaration
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_variable_declaration_in_declarations13759);
            	        	        variable_declaration2638=variable_declaration(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledeclarationsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_declaration2638.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2453:74: condition_declaration
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_condition_declaration_in_declarations13763);
            	        	        condition_declaration2639=condition_declaration(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledeclarationsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_declaration2639.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop728;	/* break out of the loop */
            	    break;
                }
            }
            loop728: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2454:3: ( cursor_declaration )*

            for (;;)
            {
                int alt729=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA729_1 = LA(2);
                		    if ( (((LA729_1 >= ASCII_SYMBOL) && (LA729_1 <= YEAR_SYMBOL)) || LA729_1 == BACK_TICK_QUOTED_ID || LA729_1 == DOUBLE_QUOTED_TEXT || LA729_1 == IDENTIFIER))
                		    {
                		        alt729=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt729)
                {
            	case 1:
            	    // MySQL.g:2454:3: cursor_declaration
            	    {
            	        FOLLOWPUSH(FOLLOW_cursor_declaration_in_declarations13770);
            	        cursor_declaration2640=cursor_declaration(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_declaration2640.tree);

            	    }
            	    break;

            	default:
            	    goto loop729;	/* break out of the loop */
            	    break;
                }
            }
            loop729: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2454:23: ( handler_declaration )*

            for (;;)
            {
                int alt730=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		alt730=1;
                	}
                    break;

                }

                switch (alt730)
                {
            	case 1:
            	    // MySQL.g:2454:23: handler_declaration
            	    {
            	        FOLLOWPUSH(FOLLOW_handler_declaration_in_declarations13773);
            	        handler_declaration2641=handler_declaration(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_declaration2641.tree);

            	    }
            	    break;

            	default:
            	    goto loop730;	/* break out of the loop */
            	    break;
                }
            }
            loop730: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruledeclarationsEx; /* Prevent compiler warnings */
    ruledeclarationsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end declarations */

/**
 * $ANTLR start variable_declaration
 * MySQL.g:2457:1: variable_declaration : ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL ;
 */
static MySQLParser_variable_declaration_return
variable_declaration(pMySQLParser ctx)
{
    MySQLParser_variable_declaration_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2642;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2645;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2647;
    MySQLParser_identifier_return identifier2643;
    #undef	RETURN_TYPE_identifier2643
    #define	RETURN_TYPE_identifier2643 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2644;
    #undef	RETURN_TYPE_data_type2644
    #define	RETURN_TYPE_data_type2644 MySQLParser_data_type_return

    MySQLParser_expression_return expression2646;
    #undef	RETURN_TYPE_expression2646
    #define	RETURN_TYPE_expression2646 MySQLParser_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2642_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2645_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2647_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2642       = NULL;
    DEFAULT_SYMBOL2645       = NULL;
    SEMICOLON_SYMBOL2647       = NULL;
    identifier2643.tree = NULL;

    data_type2644.tree = NULL;

    expression2646.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2642_tree   = NULL;
    DEFAULT_SYMBOL2645_tree   = NULL;
    SEMICOLON_SYMBOL2647_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2457:21: ( ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL )
        // MySQL.g:2458:2: ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2458:2: ( COMMA_SYMBOL identifier )*

            for (;;)
            {
                int alt731=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt731=1;
                	}
                    break;

                }

                switch (alt731)
                {
            	case 1:
            	    // MySQL.g:2458:3: COMMA_SYMBOL identifier
            	    {
            	        COMMA_SYMBOL2642 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_variable_declaration13784);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2642_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2642));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2642_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_variable_declaration13786);
            	        identifier2643=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2643.tree);

            	    }
            	    break;

            	default:
            	    goto loop731;	/* break out of the loop */
            	    break;
                }
            }
            loop731: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_data_type_in_variable_declaration13790);
            data_type2644=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulevariable_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2644.tree);

            // MySQL.g:2458:39: ( DEFAULT_SYMBOL expression )?
            {
                int alt732=2;
                switch ( LA(1) )
                {
                    case DEFAULT_SYMBOL:
                    	{
                    		alt732=1;
                    	}
                        break;
                }

                switch (alt732)
                {
            	case 1:
            	    // MySQL.g:2458:40: DEFAULT_SYMBOL expression
            	    {
            	        DEFAULT_SYMBOL2645 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_variable_declaration13793);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2645_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2645));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2645_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_variable_declaration13795);
            	        expression2646=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2646.tree);

            	    }
            	    break;

                }
            }

            SEMICOLON_SYMBOL2647 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration13799);
            if  (HASEXCEPTION())
            {
                goto rulevariable_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2647_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2647));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2647_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulevariable_declarationEx; /* Prevent compiler warnings */
    rulevariable_declarationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end variable_declaration */

/**
 * $ANTLR start condition_declaration
 * MySQL.g:2461:1: condition_declaration : CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL ;
 */
static MySQLParser_condition_declaration_return
condition_declaration(pMySQLParser ctx)
{
    MySQLParser_condition_declaration_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CONDITION_SYMBOL2648;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2649;
    pANTLR3_COMMON_TOKEN    INTEGER2650;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2651;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2652;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2654;
    MySQLParser_string_literal_return string_literal2653;
    #undef	RETURN_TYPE_string_literal2653
    #define	RETURN_TYPE_string_literal2653 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE CONDITION_SYMBOL2648_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2649_tree;
    pANTLR3_BASE_TREE INTEGER2650_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2651_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2652_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2654_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONDITION_SYMBOL2648       = NULL;
    FOR_SYMBOL2649       = NULL;
    INTEGER2650       = NULL;
    SQLSTATE_SYMBOL2651       = NULL;
    VALUE_SYMBOL2652       = NULL;
    SEMICOLON_SYMBOL2654       = NULL;
    string_literal2653.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONDITION_SYMBOL2648_tree   = NULL;
    FOR_SYMBOL2649_tree   = NULL;
    INTEGER2650_tree   = NULL;
    SQLSTATE_SYMBOL2651_tree   = NULL;
    VALUE_SYMBOL2652_tree   = NULL;
    SEMICOLON_SYMBOL2654_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2461:22: ( CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL )
        // MySQL.g:2462:2: CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CONDITION_SYMBOL2648 = (pANTLR3_COMMON_TOKEN) MATCHT(CONDITION_SYMBOL, &FOLLOW_CONDITION_SYMBOL_in_condition_declaration13808);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CONDITION_SYMBOL2648_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONDITION_SYMBOL2648));
            ADAPTOR->addChild(ADAPTOR, root_0, CONDITION_SYMBOL2648_tree);
            }

            FOR_SYMBOL2649 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_condition_declaration13810);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2649_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2649));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2649_tree);
            }

            // MySQL.g:2462:30: ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal )
            {
                int alt734=2;
                switch ( LA(1) )
                {
                case INTEGER:
                	{
                		alt734=1;
                	}
                    break;
                case SQLSTATE_SYMBOL:
                	{
                		alt734=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 734;
                    EXCEPTION->state        = 0;


                    goto rulecondition_declarationEx;

                }

                switch (alt734)
                {
            	case 1:
            	    // MySQL.g:2462:31: INTEGER
            	    {
            	        INTEGER2650 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_condition_declaration13813);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2650));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2650_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2462:41: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal
            	    {
            	        SQLSTATE_SYMBOL2651 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration13817);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2651_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2651));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2651_tree);
            	        }

            	        // MySQL.g:2462:57: ( VALUE_SYMBOL )?
            	        {
            	            int alt733=2;
            	            switch ( LA(1) )
            	            {
            	                case VALUE_SYMBOL:
            	                	{
            	                		alt733=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt733)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2462:57: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2652 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_condition_declaration13819);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecondition_declarationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2652_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2652));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2652_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_condition_declaration13822);
            	        string_literal2653=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2653.tree);

            	    }
            	    break;

                }
            }

            SEMICOLON_SYMBOL2654 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration13825);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2654_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2654));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2654_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecondition_declarationEx; /* Prevent compiler warnings */
    rulecondition_declarationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end condition_declaration */

/**
 * $ANTLR start cursor_declaration
 * MySQL.g:2465:1: cursor_declaration : DECLARE_SYMBOL identifier CURSOR_SYMBOL FOR_SYMBOL select_statement SEMICOLON_SYMBOL ;
 */
static MySQLParser_cursor_declaration_return
cursor_declaration(pMySQLParser ctx)
{
    MySQLParser_cursor_declaration_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DECLARE_SYMBOL2655;
    pANTLR3_COMMON_TOKEN    CURSOR_SYMBOL2657;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2658;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2660;
    MySQLParser_identifier_return identifier2656;
    #undef	RETURN_TYPE_identifier2656
    #define	RETURN_TYPE_identifier2656 MySQLParser_identifier_return

    MySQLParser_select_statement_return select_statement2659;
    #undef	RETURN_TYPE_select_statement2659
    #define	RETURN_TYPE_select_statement2659 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2655_tree;
    pANTLR3_BASE_TREE CURSOR_SYMBOL2657_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2658_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2660_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2655       = NULL;
    CURSOR_SYMBOL2657       = NULL;
    FOR_SYMBOL2658       = NULL;
    SEMICOLON_SYMBOL2660       = NULL;
    identifier2656.tree = NULL;

    select_statement2659.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2655_tree   = NULL;
    CURSOR_SYMBOL2657_tree   = NULL;
    FOR_SYMBOL2658_tree   = NULL;
    SEMICOLON_SYMBOL2660_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2465:19: ( DECLARE_SYMBOL identifier CURSOR_SYMBOL FOR_SYMBOL select_statement SEMICOLON_SYMBOL )
        // MySQL.g:2466:2: DECLARE_SYMBOL identifier CURSOR_SYMBOL FOR_SYMBOL select_statement SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DECLARE_SYMBOL2655 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_cursor_declaration13834);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DECLARE_SYMBOL2655_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2655));
            ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2655_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_declaration13836);
            identifier2656=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2656.tree);

            CURSOR_SYMBOL2657 = (pANTLR3_COMMON_TOKEN) MATCHT(CURSOR_SYMBOL, &FOLLOW_CURSOR_SYMBOL_in_cursor_declaration13838);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CURSOR_SYMBOL2657_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURSOR_SYMBOL2657));
            ADAPTOR->addChild(ADAPTOR, root_0, CURSOR_SYMBOL2657_tree);
            }

            FOR_SYMBOL2658 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_cursor_declaration13840);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2658_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2658));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2658_tree);
            }

            FOLLOWPUSH(FOLLOW_select_statement_in_cursor_declaration13842);
            select_statement2659=select_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement2659.tree);

            SEMICOLON_SYMBOL2660 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration13844);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2660_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2660));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2660_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecursor_declarationEx; /* Prevent compiler warnings */
    rulecursor_declarationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cursor_declaration */

/**
 * $ANTLR start handler_declaration
 * MySQL.g:2469:1: handler_declaration : DECLARE_SYMBOL ( CONTINUE_SYMBOL | EXIT_SYMBOL | UNDO_SYMBOL ) HANDLER_SYMBOL FOR_SYMBOL handler_condition ( COMMA_SYMBOL handler_condition )* compound_statement SEMICOLON_SYMBOL ;
 */
static MySQLParser_handler_declaration_return
handler_declaration(pMySQLParser ctx)
{
    MySQLParser_handler_declaration_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DECLARE_SYMBOL2661;
    pANTLR3_COMMON_TOKEN    set2662;
    pANTLR3_COMMON_TOKEN    HANDLER_SYMBOL2663;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2664;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2666;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2669;
    MySQLParser_handler_condition_return handler_condition2665;
    #undef	RETURN_TYPE_handler_condition2665
    #define	RETURN_TYPE_handler_condition2665 MySQLParser_handler_condition_return

    MySQLParser_handler_condition_return handler_condition2667;
    #undef	RETURN_TYPE_handler_condition2667
    #define	RETURN_TYPE_handler_condition2667 MySQLParser_handler_condition_return

    MySQLParser_compound_statement_return compound_statement2668;
    #undef	RETURN_TYPE_compound_statement2668
    #define	RETURN_TYPE_compound_statement2668 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2661_tree;
    pANTLR3_BASE_TREE set2662_tree;
    pANTLR3_BASE_TREE HANDLER_SYMBOL2663_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2664_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2666_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2669_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2661       = NULL;
    set2662       = NULL;
    HANDLER_SYMBOL2663       = NULL;
    FOR_SYMBOL2664       = NULL;
    COMMA_SYMBOL2666       = NULL;
    SEMICOLON_SYMBOL2669       = NULL;
    handler_condition2665.tree = NULL;

    handler_condition2667.tree = NULL;

    compound_statement2668.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2661_tree   = NULL;
    set2662_tree   = NULL;
    HANDLER_SYMBOL2663_tree   = NULL;
    FOR_SYMBOL2664_tree   = NULL;
    COMMA_SYMBOL2666_tree   = NULL;
    SEMICOLON_SYMBOL2669_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2469:20: ( DECLARE_SYMBOL ( CONTINUE_SYMBOL | EXIT_SYMBOL | UNDO_SYMBOL ) HANDLER_SYMBOL FOR_SYMBOL handler_condition ( COMMA_SYMBOL handler_condition )* compound_statement SEMICOLON_SYMBOL )
        // MySQL.g:2470:2: DECLARE_SYMBOL ( CONTINUE_SYMBOL | EXIT_SYMBOL | UNDO_SYMBOL ) HANDLER_SYMBOL FOR_SYMBOL handler_condition ( COMMA_SYMBOL handler_condition )* compound_statement SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DECLARE_SYMBOL2661 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_handler_declaration13853);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DECLARE_SYMBOL2661_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2661));
            ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2661_tree);
            }

            set2662=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == CONTINUE_SYMBOL || LA(1) == EXIT_SYMBOL || LA(1) == UNDO_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2662))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulehandler_declarationEx;
            }


            HANDLER_SYMBOL2663 = (pANTLR3_COMMON_TOKEN) MATCHT(HANDLER_SYMBOL, &FOLLOW_HANDLER_SYMBOL_in_handler_declaration13867);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HANDLER_SYMBOL2663_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HANDLER_SYMBOL2663));
            ADAPTOR->addChild(ADAPTOR, root_0, HANDLER_SYMBOL2663_tree);
            }

            FOR_SYMBOL2664 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_handler_declaration13871);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2664_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2664));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2664_tree);
            }

            FOLLOWPUSH(FOLLOW_handler_condition_in_handler_declaration13873);
            handler_condition2665=handler_condition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_condition2665.tree);

            // MySQL.g:2471:32: ( COMMA_SYMBOL handler_condition )*

            for (;;)
            {
                int alt735=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt735=1;
                	}
                    break;

                }

                switch (alt735)
                {
            	case 1:
            	    // MySQL.g:2471:33: COMMA_SYMBOL handler_condition
            	    {
            	        COMMA_SYMBOL2666 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_handler_declaration13876);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2666_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2666));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2666_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_handler_condition_in_handler_declaration13878);
            	        handler_condition2667=handler_condition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_condition2667.tree);

            	    }
            	    break;

            	default:
            	    goto loop735;	/* break out of the loop */
            	    break;
                }
            }
            loop735: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_compound_statement_in_handler_declaration13882);
            compound_statement2668=compound_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement2668.tree);

            SEMICOLON_SYMBOL2669 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration13884);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2669_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2669));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2669_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulehandler_declarationEx; /* Prevent compiler warnings */
    rulehandler_declarationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end handler_declaration */

/**
 * $ANTLR start handler_condition
 * MySQL.g:2474:1: handler_condition : ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal | identifier | SQLWARNING_SYMBOL | NOT_SYMBOL FOUND_SYMBOL | SQLEXCEPTION_SYMBOL );
 */
static MySQLParser_handler_condition_return
handler_condition(pMySQLParser ctx)
{
    MySQLParser_handler_condition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTEGER2670;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2671;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2672;
    pANTLR3_COMMON_TOKEN    SQLWARNING_SYMBOL2675;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL2676;
    pANTLR3_COMMON_TOKEN    FOUND_SYMBOL2677;
    pANTLR3_COMMON_TOKEN    SQLEXCEPTION_SYMBOL2678;
    MySQLParser_string_literal_return string_literal2673;
    #undef	RETURN_TYPE_string_literal2673
    #define	RETURN_TYPE_string_literal2673 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2674;
    #undef	RETURN_TYPE_identifier2674
    #define	RETURN_TYPE_identifier2674 MySQLParser_identifier_return

    pANTLR3_BASE_TREE INTEGER2670_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2671_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2672_tree;
    pANTLR3_BASE_TREE SQLWARNING_SYMBOL2675_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL2676_tree;
    pANTLR3_BASE_TREE FOUND_SYMBOL2677_tree;
    pANTLR3_BASE_TREE SQLEXCEPTION_SYMBOL2678_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2670       = NULL;
    SQLSTATE_SYMBOL2671       = NULL;
    VALUE_SYMBOL2672       = NULL;
    SQLWARNING_SYMBOL2675       = NULL;
    NOT_SYMBOL2676       = NULL;
    FOUND_SYMBOL2677       = NULL;
    SQLEXCEPTION_SYMBOL2678       = NULL;
    string_literal2673.tree = NULL;

    identifier2674.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2670_tree   = NULL;
    SQLSTATE_SYMBOL2671_tree   = NULL;
    VALUE_SYMBOL2672_tree   = NULL;
    SQLWARNING_SYMBOL2675_tree   = NULL;
    NOT_SYMBOL2676_tree   = NULL;
    FOUND_SYMBOL2677_tree   = NULL;
    SQLEXCEPTION_SYMBOL2678_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2474:18: ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal | identifier | SQLWARNING_SYMBOL | NOT_SYMBOL FOUND_SYMBOL | SQLEXCEPTION_SYMBOL )

            ANTLR3_UINT32 alt737;

            alt737=6;

            {
                int LA737_0 = LA(1);
                if ( (LA737_0 == INTEGER))
                {
                    alt737=1;
                }
                else if ( (LA737_0 == SQLSTATE_SYMBOL))
                {
                    alt737=2;
                }
                else if ( (LA737_0 == BACK_TICK_QUOTED_ID || LA737_0 == IDENTIFIER))
                {
                    alt737=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA737_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt737=3;
                }
                else if ( (((LA737_0 >= ASCII_SYMBOL) && (LA737_0 <= YEAR_SYMBOL))))
                {
                    alt737=3;
                }
                else if ( (LA737_0 == SQLWARNING_SYMBOL))
                {
                    alt737=4;
                }
                else if ( (LA737_0 == NOT_SYMBOL))
                {
                    alt737=5;
                }
                else if ( (LA737_0 == SQLEXCEPTION_SYMBOL))
                {
                    alt737=6;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 737;
                    EXCEPTION->state        = 0;


                    goto rulehandler_conditionEx;

                }
            }
            switch (alt737)
            {
        	case 1:
        	    // MySQL.g:2475:2: INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTEGER2670 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_handler_condition13893);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2670_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2670));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2670_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2476:4: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLSTATE_SYMBOL2671 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_handler_condition13898);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLSTATE_SYMBOL2671_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2671));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2671_tree);
        	        }

        	        // MySQL.g:2476:20: ( VALUE_SYMBOL )?
        	        {
        	            int alt736=2;
        	            switch ( LA(1) )
        	            {
        	                case VALUE_SYMBOL:
        	                	{
        	                		alt736=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt736)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2476:20: VALUE_SYMBOL
        	        	    {
        	        	        VALUE_SYMBOL2672 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_handler_condition13900);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_conditionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        VALUE_SYMBOL2672_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2672));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2672_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_handler_condition13903);
        	        string_literal2673=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2673.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2477:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_condition13908);
        	        identifier2674=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2674.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2478:4: SQLWARNING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLWARNING_SYMBOL2675 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLWARNING_SYMBOL, &FOLLOW_SQLWARNING_SYMBOL_in_handler_condition13913);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLWARNING_SYMBOL2675_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLWARNING_SYMBOL2675));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLWARNING_SYMBOL2675_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2479:4: NOT_SYMBOL FOUND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOT_SYMBOL2676 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_handler_condition13918);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOT_SYMBOL2676_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2676));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2676_tree);
        	        }

        	        FOUND_SYMBOL2677 = (pANTLR3_COMMON_TOKEN) MATCHT(FOUND_SYMBOL, &FOLLOW_FOUND_SYMBOL_in_handler_condition13920);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOUND_SYMBOL2677_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOUND_SYMBOL2677));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOUND_SYMBOL2677_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2480:4: SQLEXCEPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLEXCEPTION_SYMBOL2678 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLEXCEPTION_SYMBOL, &FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition13925);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLEXCEPTION_SYMBOL2678_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLEXCEPTION_SYMBOL2678));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLEXCEPTION_SYMBOL2678_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulehandler_conditionEx; /* Prevent compiler warnings */
    rulehandler_conditionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end handler_condition */

/**
 * $ANTLR start case_statement
 * MySQL.g:2484:1: case_statement : CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL ;
 */
static MySQLParser_case_statement_return
case_statement(pMySQLParser ctx)
{
    MySQLParser_case_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CASE_SYMBOL2679;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2684;
    pANTLR3_COMMON_TOKEN    CASE_SYMBOL2685;
    MySQLParser_expression_return expression2680;
    #undef	RETURN_TYPE_expression2680
    #define	RETURN_TYPE_expression2680 MySQLParser_expression_return

    MySQLParser_when_expression_return when_expression2681;
    #undef	RETURN_TYPE_when_expression2681
    #define	RETURN_TYPE_when_expression2681 MySQLParser_when_expression_return

    MySQLParser_then_statement_return then_statement2682;
    #undef	RETURN_TYPE_then_statement2682
    #define	RETURN_TYPE_then_statement2682 MySQLParser_then_statement_return

    MySQLParser_else_statement_return else_statement2683;
    #undef	RETURN_TYPE_else_statement2683
    #define	RETURN_TYPE_else_statement2683 MySQLParser_else_statement_return

    pANTLR3_BASE_TREE CASE_SYMBOL2679_tree;
    pANTLR3_BASE_TREE END_SYMBOL2684_tree;
    pANTLR3_BASE_TREE CASE_SYMBOL2685_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CASE_SYMBOL2679       = NULL;
    END_SYMBOL2684       = NULL;
    CASE_SYMBOL2685       = NULL;
    expression2680.tree = NULL;

    when_expression2681.tree = NULL;

    then_statement2682.tree = NULL;

    else_statement2683.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CASE_SYMBOL2679_tree   = NULL;
    END_SYMBOL2684_tree   = NULL;
    CASE_SYMBOL2685_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2484:15: ( CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL )
        // MySQL.g:2485:2: CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CASE_SYMBOL2679 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_statement13935);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2679_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2679))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CASE_SYMBOL2679_tree, root_0));
            }

            // MySQL.g:2485:15: ( expression )?
            {
                int alt738=2;
                {
                    int LA738_0 = LA(1);
                    if ( (LA738_0 == BITWISE_NOT_OPERATOR || LA738_0 == INTERVAL_SYMBOL || LA738_0 == LOGICAL_NOT_OPERATOR || LA738_0 == MINUS_OPERATOR || LA738_0 == NCHAR_TEXT || LA738_0 == NOT2_SYMBOL || LA738_0 == NOT_SYMBOL || LA738_0 == PLUS_OPERATOR || LA738_0 == SINGLE_QUOTED_TEXT || LA738_0 == UNDERSCORE_CHARSET))
                    {
                        alt738=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA738_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt738=1;
                    }
                    else if ( (LA738_0 == FALSE_SYMBOL || LA738_0 == FLOAT || ((LA738_0 >= HEXNUMBER) && (LA738_0 <= HEXSTRING)) || LA738_0 == INTEGER || LA738_0 == TRUE_SYMBOL))
                    {
                        alt738=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA738_0 >= BITNUMBER) && (LA738_0 <= BITSTRING))))
                    {
                        alt738=1;
                    }
                    else if ( (((LA738_0 >= ASCII_SYMBOL) && (LA738_0 <= YEAR_SYMBOL)) || ((LA738_0 >= AT_AT_SIGN_SYMBOL) && (LA738_0 <= AT_TEXT_SUFFIX)) || LA738_0 == BACK_TICK_QUOTED_ID || LA738_0 == BINARY_SYMBOL || ((LA738_0 >= BIT_AND_SYMBOL) && (LA738_0 <= BIT_XOR_SYMBOL)) || ((LA738_0 >= CASE_SYMBOL) && (LA738_0 <= CAST_SYMBOL)) || LA738_0 == CHAR_SYMBOL || ((LA738_0 >= CONVERT_SYMBOL) && (LA738_0 <= COUNT_SYMBOL)) || LA738_0 == CURDATE_SYMBOL || LA738_0 == CURRENT_USER_SYMBOL || LA738_0 == CURTIME_SYMBOL || LA738_0 == DATABASE_SYMBOL || LA738_0 == DATE_ADD_SYMBOL || LA738_0 == DATE_SUB_SYMBOL || LA738_0 == EXISTS_SYMBOL || LA738_0 == EXTRACT_SYMBOL || LA738_0 == GROUP_CONCAT_SYMBOL || ((LA738_0 >= IDENTIFIER) && (LA738_0 <= IF_SYMBOL)) || LA738_0 == INSERT_SYMBOL || LA738_0 == LEFT_SYMBOL || LA738_0 == MATCH_SYMBOL || LA738_0 == MAX_SYMBOL || LA738_0 == MIN_SYMBOL || LA738_0 == MOD_SYMBOL || LA738_0 == NOW_SYMBOL || LA738_0 == NULL2_SYMBOL || LA738_0 == NULL_SYMBOL || ((LA738_0 >= OPEN_CURLY_SYMBOL) && (LA738_0 <= OPEN_PAR_SYMBOL)) || LA738_0 == PARAM_MARKER || LA738_0 == POSITION_SYMBOL || ((LA738_0 >= REPEAT_SYMBOL) && (LA738_0 <= REPLACE_SYMBOL)) || LA738_0 == RIGHT_SYMBOL || LA738_0 == STDDEV_SAMP_SYMBOL || LA738_0 == STD_SYMBOL || LA738_0 == SUBSTRING_SYMBOL || ((LA738_0 >= SUM_SYMBOL) && (LA738_0 <= SYSDATE_SYMBOL)) || LA738_0 == TRIM_SYMBOL || ((LA738_0 >= UTC_DATE_SYMBOL) && (LA738_0 <= UTC_TIME_SYMBOL)) || LA738_0 == VALUES_SYMBOL || LA738_0 == VARIANCE_SYMBOL || LA738_0 == VAR_SAMP_SYMBOL))
                    {
                        alt738=1;
                    }
                }
                switch (alt738)
                {
            	case 1:
            	    // MySQL.g:2485:15: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_case_statement13938);
            	        expression2680=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2680.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2485:27: ( when_expression then_statement )+
            {
                int cnt739=0;

                for (;;)
                {
                    int alt739=2;
            	switch ( LA(1) )
            	{
            	case WHEN_SYMBOL:
            		{
            			alt739=1;
            		}
            	    break;

            	}

            	switch (alt739)
            	{
            	    case 1:
            	        // MySQL.g:2485:28: when_expression then_statement
            	        {
            	            FOLLOWPUSH(FOLLOW_when_expression_in_case_statement13942);
            	            when_expression2681=when_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_statementEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, when_expression2681.tree);

            	            FOLLOWPUSH(FOLLOW_then_statement_in_case_statement13944);
            	            then_statement2682=then_statement(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_statementEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_statement2682.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt739 >= 1 )
            		{
            		    goto loop739;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulecase_statementEx;
            	}
            	cnt739++;
                }
                loop739: ;	/* Jump to here if this rule does not match */
            }

            // MySQL.g:2485:61: ( else_statement )?
            {
                int alt740=2;
                switch ( LA(1) )
                {
                    case ELSE_SYMBOL:
                    	{
                    		alt740=1;
                    	}
                        break;
                }

                switch (alt740)
                {
            	case 1:
            	    // MySQL.g:2485:61: else_statement
            	    {
            	        FOLLOWPUSH(FOLLOW_else_statement_in_case_statement13948);
            	        else_statement2683=else_statement(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, else_statement2683.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2684 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_case_statement13951);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2684_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2684));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2684_tree);
            }

            CASE_SYMBOL2685 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_statement13953);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2685_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2685));
            ADAPTOR->addChild(ADAPTOR, root_0, CASE_SYMBOL2685_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecase_statementEx; /* Prevent compiler warnings */
    rulecase_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end case_statement */

/**
 * $ANTLR start then_statement
 * MySQL.g:2488:1: then_statement : THEN_SYMBOL ^ compound_statement_list ;
 */
static MySQLParser_then_statement_return
then_statement(pMySQLParser ctx)
{
    MySQLParser_then_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    THEN_SYMBOL2686;
    MySQLParser_compound_statement_list_return compound_statement_list2687;
    #undef	RETURN_TYPE_compound_statement_list2687
    #define	RETURN_TYPE_compound_statement_list2687 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE THEN_SYMBOL2686_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    THEN_SYMBOL2686       = NULL;
    compound_statement_list2687.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    THEN_SYMBOL2686_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2488:15: ( THEN_SYMBOL ^ compound_statement_list )
        // MySQL.g:2489:2: THEN_SYMBOL ^ compound_statement_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            THEN_SYMBOL2686 = (pANTLR3_COMMON_TOKEN) MATCHT(THEN_SYMBOL, &FOLLOW_THEN_SYMBOL_in_then_statement13962);
            if  (HASEXCEPTION())
            {
                goto rulethen_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            THEN_SYMBOL2686_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THEN_SYMBOL2686))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, THEN_SYMBOL2686_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_then_statement13965);
            compound_statement_list2687=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulethen_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2687.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulethen_statementEx; /* Prevent compiler warnings */
    rulethen_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end then_statement */

/**
 * $ANTLR start else_statement
 * MySQL.g:2492:1: else_statement : ELSE_SYMBOL ^ compound_statement_list ;
 */
static MySQLParser_else_statement_return
else_statement(pMySQLParser ctx)
{
    MySQLParser_else_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ELSE_SYMBOL2688;
    MySQLParser_compound_statement_list_return compound_statement_list2689;
    #undef	RETURN_TYPE_compound_statement_list2689
    #define	RETURN_TYPE_compound_statement_list2689 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE ELSE_SYMBOL2688_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSE_SYMBOL2688       = NULL;
    compound_statement_list2689.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSE_SYMBOL2688_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2492:15: ( ELSE_SYMBOL ^ compound_statement_list )
        // MySQL.g:2493:2: ELSE_SYMBOL ^ compound_statement_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ELSE_SYMBOL2688 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_else_statement13974);
            if  (HASEXCEPTION())
            {
                goto ruleelse_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ELSE_SYMBOL2688_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2688))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ELSE_SYMBOL2688_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_else_statement13977);
            compound_statement_list2689=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleelse_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2689.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleelse_statementEx; /* Prevent compiler warnings */
    ruleelse_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end else_statement */

/**
 * $ANTLR start if_statement
 * MySQL.g:2496:1: if_statement : IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL ;
 */
static MySQLParser_if_statement_return
if_statement(pMySQLParser ctx)
{
    MySQLParser_if_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IF_SYMBOL2690;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2692;
    pANTLR3_COMMON_TOKEN    IF_SYMBOL2693;
    MySQLParser_if_body_return if_body2691;
    #undef	RETURN_TYPE_if_body2691
    #define	RETURN_TYPE_if_body2691 MySQLParser_if_body_return

    pANTLR3_BASE_TREE IF_SYMBOL2690_tree;
    pANTLR3_BASE_TREE END_SYMBOL2692_tree;
    pANTLR3_BASE_TREE IF_SYMBOL2693_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2690       = NULL;
    END_SYMBOL2692       = NULL;
    IF_SYMBOL2693       = NULL;
    if_body2691.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2690_tree   = NULL;
    END_SYMBOL2692_tree   = NULL;
    IF_SYMBOL2693_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2496:13: ( IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL )
        // MySQL.g:2497:2: IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2690 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_statement13986);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2690_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2690))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, IF_SYMBOL2690_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_if_body_in_if_statement13989);
            if_body2691=if_body(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_body2691.tree);

            END_SYMBOL2692 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_if_statement13991);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2692_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2692));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2692_tree);
            }

            IF_SYMBOL2693 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_statement13993);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2693_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2693));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2693_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleif_statementEx; /* Prevent compiler warnings */
    ruleif_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end if_statement */

/**
 * $ANTLR start if_body
 * MySQL.g:2500:1: if_body : expression then_statement ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )? ;
 */
static MySQLParser_if_body_return
if_body(pMySQLParser ctx)
{
    MySQLParser_if_body_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ELSEIF_SYMBOL2696;
    pANTLR3_COMMON_TOKEN    ELSE_SYMBOL2698;
    MySQLParser_expression_return expression2694;
    #undef	RETURN_TYPE_expression2694
    #define	RETURN_TYPE_expression2694 MySQLParser_expression_return

    MySQLParser_then_statement_return then_statement2695;
    #undef	RETURN_TYPE_then_statement2695
    #define	RETURN_TYPE_then_statement2695 MySQLParser_then_statement_return

    MySQLParser_if_body_return if_body2697;
    #undef	RETURN_TYPE_if_body2697
    #define	RETURN_TYPE_if_body2697 MySQLParser_if_body_return

    MySQLParser_compound_statement_list_return compound_statement_list2699;
    #undef	RETURN_TYPE_compound_statement_list2699
    #define	RETURN_TYPE_compound_statement_list2699 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE ELSEIF_SYMBOL2696_tree;
    pANTLR3_BASE_TREE ELSE_SYMBOL2698_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSEIF_SYMBOL2696       = NULL;
    ELSE_SYMBOL2698       = NULL;
    expression2694.tree = NULL;

    then_statement2695.tree = NULL;

    if_body2697.tree = NULL;

    compound_statement_list2699.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSEIF_SYMBOL2696_tree   = NULL;
    ELSE_SYMBOL2698_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2500:8: ( expression then_statement ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )? )
        // MySQL.g:2501:2: expression then_statement ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_if_body14002);
            expression2694=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2694.tree);

            FOLLOWPUSH(FOLLOW_then_statement_in_if_body14004);
            then_statement2695=then_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_statement2695.tree);

            // MySQL.g:2501:28: ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )?
            {
                int alt741=3;
                switch ( LA(1) )
                {
                    case ELSEIF_SYMBOL:
                    	{
                    		alt741=1;
                    	}
                        break;
                    case ELSE_SYMBOL:
                    	{
                    		alt741=2;
                    	}
                        break;
                }

                switch (alt741)
                {
            	case 1:
            	    // MySQL.g:2501:29: ELSEIF_SYMBOL if_body
            	    {
            	        ELSEIF_SYMBOL2696 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSEIF_SYMBOL, &FOLLOW_ELSEIF_SYMBOL_in_if_body14007);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ELSEIF_SYMBOL2696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSEIF_SYMBOL2696));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ELSEIF_SYMBOL2696_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_if_body_in_if_body14009);
            	        if_body2697=if_body(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_body2697.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2501:53: ELSE_SYMBOL compound_statement_list
            	    {
            	        ELSE_SYMBOL2698 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_if_body14013);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ELSE_SYMBOL2698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2698));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ELSE_SYMBOL2698_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_compound_statement_list_in_if_body14015);
            	        compound_statement_list2699=compound_statement_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2699.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleif_bodyEx; /* Prevent compiler warnings */
    ruleif_bodyEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end if_body */

/**
 * $ANTLR start iterate_statement
 * MySQL.g:2504:1: iterate_statement : ITERATE_SYMBOL label_identifier ;
 */
static MySQLParser_iterate_statement_return
iterate_statement(pMySQLParser ctx)
{
    MySQLParser_iterate_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ITERATE_SYMBOL2700;
    MySQLParser_label_identifier_return label_identifier2701;
    #undef	RETURN_TYPE_label_identifier2701
    #define	RETURN_TYPE_label_identifier2701 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE ITERATE_SYMBOL2700_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ITERATE_SYMBOL2700       = NULL;
    label_identifier2701.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ITERATE_SYMBOL2700_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2504:18: ( ITERATE_SYMBOL label_identifier )
        // MySQL.g:2505:2: ITERATE_SYMBOL label_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ITERATE_SYMBOL2700 = (pANTLR3_COMMON_TOKEN) MATCHT(ITERATE_SYMBOL, &FOLLOW_ITERATE_SYMBOL_in_iterate_statement14026);
            if  (HASEXCEPTION())
            {
                goto ruleiterate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ITERATE_SYMBOL2700_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ITERATE_SYMBOL2700));
            ADAPTOR->addChild(ADAPTOR, root_0, ITERATE_SYMBOL2700_tree);
            }

            FOLLOWPUSH(FOLLOW_label_identifier_in_iterate_statement14028);
            label_identifier2701=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleiterate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2701.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleiterate_statementEx; /* Prevent compiler warnings */
    ruleiterate_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end iterate_statement */

/**
 * $ANTLR start leave_statement
 * MySQL.g:2508:1: leave_statement : LEAVE_SYMBOL label_identifier ;
 */
static MySQLParser_leave_statement_return
leave_statement(pMySQLParser ctx)
{
    MySQLParser_leave_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LEAVE_SYMBOL2702;
    MySQLParser_label_identifier_return label_identifier2703;
    #undef	RETURN_TYPE_label_identifier2703
    #define	RETURN_TYPE_label_identifier2703 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE LEAVE_SYMBOL2702_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LEAVE_SYMBOL2702       = NULL;
    label_identifier2703.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LEAVE_SYMBOL2702_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2508:16: ( LEAVE_SYMBOL label_identifier )
        // MySQL.g:2509:2: LEAVE_SYMBOL label_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LEAVE_SYMBOL2702 = (pANTLR3_COMMON_TOKEN) MATCHT(LEAVE_SYMBOL, &FOLLOW_LEAVE_SYMBOL_in_leave_statement14037);
            if  (HASEXCEPTION())
            {
                goto ruleleave_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LEAVE_SYMBOL2702_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEAVE_SYMBOL2702));
            ADAPTOR->addChild(ADAPTOR, root_0, LEAVE_SYMBOL2702_tree);
            }

            FOLLOWPUSH(FOLLOW_label_identifier_in_leave_statement14039);
            label_identifier2703=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleleave_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2703.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleleave_statementEx; /* Prevent compiler warnings */
    ruleleave_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end leave_statement */

/**
 * $ANTLR start return_statement
 * MySQL.g:2512:1: return_statement : RETURN_SYMBOL expression ;
 */
static MySQLParser_return_statement_return
return_statement(pMySQLParser ctx)
{
    MySQLParser_return_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    RETURN_SYMBOL2704;
    MySQLParser_expression_return expression2705;
    #undef	RETURN_TYPE_expression2705
    #define	RETURN_TYPE_expression2705 MySQLParser_expression_return

    pANTLR3_BASE_TREE RETURN_SYMBOL2704_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RETURN_SYMBOL2704       = NULL;
    expression2705.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RETURN_SYMBOL2704_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2512:17: ( RETURN_SYMBOL expression )
        // MySQL.g:2513:2: RETURN_SYMBOL expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RETURN_SYMBOL2704 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURN_SYMBOL, &FOLLOW_RETURN_SYMBOL_in_return_statement14048);
            if  (HASEXCEPTION())
            {
                goto rulereturn_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RETURN_SYMBOL2704_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RETURN_SYMBOL2704));
            ADAPTOR->addChild(ADAPTOR, root_0, RETURN_SYMBOL2704_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_return_statement14050);
            expression2705=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereturn_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2705.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulereturn_statementEx; /* Prevent compiler warnings */
    rulereturn_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end return_statement */

/**
 * $ANTLR start get_diagnostics
 * MySQL.g:2516:1: get_diagnostics : GET_SYMBOL ( CURRENT_SYMBOL |{...}? => STACKED_SYMBOL )? DIAGNOSTICS_SYMBOL ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* ) ;
 */
static MySQLParser_get_diagnostics_return
get_diagnostics(pMySQLParser ctx)
{
    MySQLParser_get_diagnostics_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    GET_SYMBOL2706;
    pANTLR3_COMMON_TOKEN    CURRENT_SYMBOL2707;
    pANTLR3_COMMON_TOKEN    STACKED_SYMBOL2708;
    pANTLR3_COMMON_TOKEN    DIAGNOSTICS_SYMBOL2709;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2711;
    pANTLR3_COMMON_TOKEN    CONDITION_SYMBOL2713;
    pANTLR3_COMMON_TOKEN    INTEGER2714;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2716;
    MySQLParser_statement_information_item_return statement_information_item2710;
    #undef	RETURN_TYPE_statement_information_item2710
    #define	RETURN_TYPE_statement_information_item2710 MySQLParser_statement_information_item_return

    MySQLParser_statement_information_item_return statement_information_item2712;
    #undef	RETURN_TYPE_statement_information_item2712
    #define	RETURN_TYPE_statement_information_item2712 MySQLParser_statement_information_item_return

    MySQLParser_condition_information_item_return condition_information_item2715;
    #undef	RETURN_TYPE_condition_information_item2715
    #define	RETURN_TYPE_condition_information_item2715 MySQLParser_condition_information_item_return

    MySQLParser_condition_information_item_return condition_information_item2717;
    #undef	RETURN_TYPE_condition_information_item2717
    #define	RETURN_TYPE_condition_information_item2717 MySQLParser_condition_information_item_return

    pANTLR3_BASE_TREE GET_SYMBOL2706_tree;
    pANTLR3_BASE_TREE CURRENT_SYMBOL2707_tree;
    pANTLR3_BASE_TREE STACKED_SYMBOL2708_tree;
    pANTLR3_BASE_TREE DIAGNOSTICS_SYMBOL2709_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2711_tree;
    pANTLR3_BASE_TREE CONDITION_SYMBOL2713_tree;
    pANTLR3_BASE_TREE INTEGER2714_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2716_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GET_SYMBOL2706       = NULL;
    CURRENT_SYMBOL2707       = NULL;
    STACKED_SYMBOL2708       = NULL;
    DIAGNOSTICS_SYMBOL2709       = NULL;
    COMMA_SYMBOL2711       = NULL;
    CONDITION_SYMBOL2713       = NULL;
    INTEGER2714       = NULL;
    COMMA_SYMBOL2716       = NULL;
    statement_information_item2710.tree = NULL;

    statement_information_item2712.tree = NULL;

    condition_information_item2715.tree = NULL;

    condition_information_item2717.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GET_SYMBOL2706_tree   = NULL;
    CURRENT_SYMBOL2707_tree   = NULL;
    STACKED_SYMBOL2708_tree   = NULL;
    DIAGNOSTICS_SYMBOL2709_tree   = NULL;
    COMMA_SYMBOL2711_tree   = NULL;
    CONDITION_SYMBOL2713_tree   = NULL;
    INTEGER2714_tree   = NULL;
    COMMA_SYMBOL2716_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2516:16: ( GET_SYMBOL ( CURRENT_SYMBOL |{...}? => STACKED_SYMBOL )? DIAGNOSTICS_SYMBOL ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* ) )
        // MySQL.g:2517:2: GET_SYMBOL ( CURRENT_SYMBOL |{...}? => STACKED_SYMBOL )? DIAGNOSTICS_SYMBOL ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            GET_SYMBOL2706 = (pANTLR3_COMMON_TOKEN) MATCHT(GET_SYMBOL, &FOLLOW_GET_SYMBOL_in_get_diagnostics14059);
            if  (HASEXCEPTION())
            {
                goto ruleget_diagnosticsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GET_SYMBOL2706_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GET_SYMBOL2706));
            ADAPTOR->addChild(ADAPTOR, root_0, GET_SYMBOL2706_tree);
            }

            // MySQL.g:2518:2: ( CURRENT_SYMBOL |{...}? => STACKED_SYMBOL )?
            {
                int alt742=3;
                {
                    int LA742_0 = LA(1);
                    if ( (LA742_0 == CURRENT_SYMBOL))
                    {
                        alt742=1;
                    }
                    else if ( ((SERVER_VERSION >= 50700)) && (LA742_0 == STACKED_SYMBOL))
                    {
                        alt742=2;
                    }
                }
                switch (alt742)
                {
            	case 1:
            	    // MySQL.g:2519:3: CURRENT_SYMBOL
            	    {
            	        CURRENT_SYMBOL2707 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_SYMBOL, &FOLLOW_CURRENT_SYMBOL_in_get_diagnostics14066);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CURRENT_SYMBOL2707_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_SYMBOL2707));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_SYMBOL2707_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2520:5: {...}? => STACKED_SYMBOL
            	    {
            	        if ( !((SERVER_VERSION >= 50700)) )
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
            	                EXCEPTION->ruleName	 = (void *)"get_diagnostics";


            	        }

            	        STACKED_SYMBOL2708 = (pANTLR3_COMMON_TOKEN) MATCHT(STACKED_SYMBOL, &FOLLOW_STACKED_SYMBOL_in_get_diagnostics14076);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STACKED_SYMBOL2708_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STACKED_SYMBOL2708));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STACKED_SYMBOL2708_tree);
            	        }

            	    }
            	    break;

                }
            }

            DIAGNOSTICS_SYMBOL2709 = (pANTLR3_COMMON_TOKEN) MATCHT(DIAGNOSTICS_SYMBOL, &FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics14082);
            if  (HASEXCEPTION())
            {
                goto ruleget_diagnosticsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DIAGNOSTICS_SYMBOL2709_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIAGNOSTICS_SYMBOL2709));
            ADAPTOR->addChild(ADAPTOR, root_0, DIAGNOSTICS_SYMBOL2709_tree);
            }

            // MySQL.g:2522:2: ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* )
            {
                int alt745=2;
                {
                    int LA745_0 = LA(1);
                    if ( (((LA745_0 >= AT_AT_SIGN_SYMBOL) && (LA745_0 <= AT_TEXT_SUFFIX)) || LA745_0 == BACK_TICK_QUOTED_ID || LA745_0 == IDENTIFIER))
                    {
                        alt745=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA745_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt745=1;
                    }
                    else if ( (((LA745_0 >= ASCII_SYMBOL) && (LA745_0 <= YEAR_SYMBOL))))
                    {
                        alt745=1;
                    }
                    else if ( (LA745_0 == CONDITION_SYMBOL))
                    {
                        alt745=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 745;
                        EXCEPTION->state        = 0;


                        goto ruleget_diagnosticsEx;

                    }
                }
                switch (alt745)
                {
            	case 1:
            	    // MySQL.g:2523:3: statement_information_item ( COMMA_SYMBOL statement_information_item )*
            	    {
            	        FOLLOWPUSH(FOLLOW_statement_information_item_in_get_diagnostics14089);
            	        statement_information_item2710=statement_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement_information_item2710.tree);

            	        // MySQL.g:2523:30: ( COMMA_SYMBOL statement_information_item )*

            	        for (;;)
            	        {
            	            int alt743=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt743=1;
            	            	}
            	                break;

            	            }

            	            switch (alt743)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2523:31: COMMA_SYMBOL statement_information_item
            	        	    {
            	        	        COMMA_SYMBOL2711 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_get_diagnostics14092);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2711_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2711));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2711_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_statement_information_item_in_get_diagnostics14094);
            	        	        statement_information_item2712=statement_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement_information_item2712.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop743;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop743: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2524:5: CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )*
            	    {
            	        CONDITION_SYMBOL2713 = (pANTLR3_COMMON_TOKEN) MATCHT(CONDITION_SYMBOL, &FOLLOW_CONDITION_SYMBOL_in_get_diagnostics14102);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONDITION_SYMBOL2713_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONDITION_SYMBOL2713));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CONDITION_SYMBOL2713_tree);
            	        }

            	        INTEGER2714 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_get_diagnostics14104);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2714_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2714));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2714_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_condition_information_item_in_get_diagnostics14106);
            	        condition_information_item2715=condition_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item2715.tree);

            	        // MySQL.g:2524:57: ( COMMA_SYMBOL condition_information_item )*

            	        for (;;)
            	        {
            	            int alt744=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt744=1;
            	            	}
            	                break;

            	            }

            	            switch (alt744)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2524:58: COMMA_SYMBOL condition_information_item
            	        	    {
            	        	        COMMA_SYMBOL2716 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_get_diagnostics14109);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2716_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2716));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2716_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_condition_information_item_in_get_diagnostics14111);
            	        	        condition_information_item2717=condition_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item2717.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop744;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop744: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleget_diagnosticsEx; /* Prevent compiler warnings */
    ruleget_diagnosticsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end get_diagnostics */

/**
 * $ANTLR start statement_information_item
 * MySQL.g:2528:1: statement_information_item : ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL ) ;
 */
static MySQLParser_statement_information_item_return
statement_information_item(pMySQLParser ctx)
{
    MySQLParser_statement_information_item_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2720;
    pANTLR3_COMMON_TOKEN    set2721;
    MySQLParser_variable_return variable2718;
    #undef	RETURN_TYPE_variable2718
    #define	RETURN_TYPE_variable2718 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2719;
    #undef	RETURN_TYPE_identifier2719
    #define	RETURN_TYPE_identifier2719 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2720_tree;
    pANTLR3_BASE_TREE set2721_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2720       = NULL;
    set2721       = NULL;
    variable2718.tree = NULL;

    identifier2719.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2720_tree   = NULL;
    set2721_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2528:27: ( ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL ) )
        // MySQL.g:2529:2: ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2529:2: ( variable | identifier )
            {
                int alt746=2;
                {
                    int LA746_0 = LA(1);
                    if ( (((LA746_0 >= AT_AT_SIGN_SYMBOL) && (LA746_0 <= AT_TEXT_SUFFIX))))
                    {
                        alt746=1;
                    }
                    else if ( (LA746_0 == BACK_TICK_QUOTED_ID || LA746_0 == IDENTIFIER))
                    {
                        alt746=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA746_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt746=2;
                    }
                    else if ( (((LA746_0 >= ASCII_SYMBOL) && (LA746_0 <= YEAR_SYMBOL))))
                    {
                        alt746=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 746;
                        EXCEPTION->state        = 0;


                        goto rulestatement_information_itemEx;

                    }
                }
                switch (alt746)
                {
            	case 1:
            	    // MySQL.g:2529:3: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_statement_information_item14126);
            	        variable2718=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestatement_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2718.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2529:14: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_statement_information_item14130);
            	        identifier2719=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestatement_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2719.tree);

            	    }
            	    break;

                }
            }

            EQUAL_OPERATOR2720 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_statement_information_item14133);
            if  (HASEXCEPTION())
            {
                goto rulestatement_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2720_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2720));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2720_tree);
            }

            set2721=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == NUMBER_SYMBOL || LA(1) == ROW_COUNT_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2721))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulestatement_information_itemEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulestatement_information_itemEx; /* Prevent compiler warnings */
    rulestatement_information_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end statement_information_item */

/**
 * $ANTLR start condition_information_item
 * MySQL.g:2532:1: condition_information_item : ( variable | identifier ) EQUAL_OPERATOR ( signal_information_item_name | RETURNED_SQLSTATE_SYMBOL ) ;
 */
static MySQLParser_condition_information_item_return
condition_information_item(pMySQLParser ctx)
{
    MySQLParser_condition_information_item_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2724;
    pANTLR3_COMMON_TOKEN    RETURNED_SQLSTATE_SYMBOL2726;
    MySQLParser_variable_return variable2722;
    #undef	RETURN_TYPE_variable2722
    #define	RETURN_TYPE_variable2722 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2723;
    #undef	RETURN_TYPE_identifier2723
    #define	RETURN_TYPE_identifier2723 MySQLParser_identifier_return

    MySQLParser_signal_information_item_name_return signal_information_item_name2725;
    #undef	RETURN_TYPE_signal_information_item_name2725
    #define	RETURN_TYPE_signal_information_item_name2725 MySQLParser_signal_information_item_name_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2724_tree;
    pANTLR3_BASE_TREE RETURNED_SQLSTATE_SYMBOL2726_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2724       = NULL;
    RETURNED_SQLSTATE_SYMBOL2726       = NULL;
    variable2722.tree = NULL;

    identifier2723.tree = NULL;

    signal_information_item_name2725.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2724_tree   = NULL;
    RETURNED_SQLSTATE_SYMBOL2726_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2532:27: ( ( variable | identifier ) EQUAL_OPERATOR ( signal_information_item_name | RETURNED_SQLSTATE_SYMBOL ) )
        // MySQL.g:2533:2: ( variable | identifier ) EQUAL_OPERATOR ( signal_information_item_name | RETURNED_SQLSTATE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2533:2: ( variable | identifier )
            {
                int alt747=2;
                {
                    int LA747_0 = LA(1);
                    if ( (((LA747_0 >= AT_AT_SIGN_SYMBOL) && (LA747_0 <= AT_TEXT_SUFFIX))))
                    {
                        alt747=1;
                    }
                    else if ( (LA747_0 == BACK_TICK_QUOTED_ID || LA747_0 == IDENTIFIER))
                    {
                        alt747=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA747_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt747=2;
                    }
                    else if ( (((LA747_0 >= ASCII_SYMBOL) && (LA747_0 <= YEAR_SYMBOL))))
                    {
                        alt747=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 747;
                        EXCEPTION->state        = 0;


                        goto rulecondition_information_itemEx;

                    }
                }
                switch (alt747)
                {
            	case 1:
            	    // MySQL.g:2533:3: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_condition_information_item14151);
            	        variable2722=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2722.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2533:14: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_condition_information_item14155);
            	        identifier2723=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2723.tree);

            	    }
            	    break;

                }
            }

            EQUAL_OPERATOR2724 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_condition_information_item14158);
            if  (HASEXCEPTION())
            {
                goto rulecondition_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2724_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2724));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2724_tree);
            }

            // MySQL.g:2533:41: ( signal_information_item_name | RETURNED_SQLSTATE_SYMBOL )
            {
                int alt748=2;
                switch ( LA(1) )
                {
                case CATALOG_NAME_SYMBOL:
                case CLASS_ORIGIN_SYMBOL:
                case COLUMN_NAME_SYMBOL:
                case CONSTRAINT_CATALOG_SYMBOL:
                case CONSTRAINT_SCHEMA_SYMBOL:
                case CONSTRAINT_NAME_SYMBOL:
                case CURSOR_NAME_SYMBOL:
                case MESSAGE_TEXT_SYMBOL:
                case MYSQL_ERRNO_SYMBOL:
                case SCHEMA_NAME_SYMBOL:
                case SUBCLASS_ORIGIN_SYMBOL:
                case TABLE_NAME_SYMBOL:
                	{
                		alt748=1;
                	}
                    break;
                case RETURNED_SQLSTATE_SYMBOL:
                	{
                		alt748=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 748;
                    EXCEPTION->state        = 0;


                    goto rulecondition_information_itemEx;

                }

                switch (alt748)
                {
            	case 1:
            	    // MySQL.g:2533:42: signal_information_item_name
            	    {
            	        FOLLOWPUSH(FOLLOW_signal_information_item_name_in_condition_information_item14161);
            	        signal_information_item_name2725=signal_information_item_name(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item_name2725.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2533:73: RETURNED_SQLSTATE_SYMBOL
            	    {
            	        RETURNED_SQLSTATE_SYMBOL2726 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURNED_SQLSTATE_SYMBOL, &FOLLOW_RETURNED_SQLSTATE_SYMBOL_in_condition_information_item14165);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        RETURNED_SQLSTATE_SYMBOL2726_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RETURNED_SQLSTATE_SYMBOL2726));
            	        ADAPTOR->addChild(ADAPTOR, root_0, RETURNED_SQLSTATE_SYMBOL2726_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecondition_information_itemEx; /* Prevent compiler warnings */
    rulecondition_information_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end condition_information_item */

/**
 * $ANTLR start signal_information_item_name
 * MySQL.g:2536:1: signal_information_item_name : ( CLASS_ORIGIN_SYMBOL | SUBCLASS_ORIGIN_SYMBOL | CONSTRAINT_CATALOG_SYMBOL | CONSTRAINT_SCHEMA_SYMBOL | CONSTRAINT_NAME_SYMBOL | CATALOG_NAME_SYMBOL | SCHEMA_NAME_SYMBOL | TABLE_NAME_SYMBOL | COLUMN_NAME_SYMBOL | CURSOR_NAME_SYMBOL | MESSAGE_TEXT_SYMBOL | MYSQL_ERRNO_SYMBOL );
 */
static MySQLParser_signal_information_item_name_return
signal_information_item_name(pMySQLParser ctx)
{
    MySQLParser_signal_information_item_name_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2727;

    pANTLR3_BASE_TREE set2727_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2727       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2727_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2536:29: ( CLASS_ORIGIN_SYMBOL | SUBCLASS_ORIGIN_SYMBOL | CONSTRAINT_CATALOG_SYMBOL | CONSTRAINT_SCHEMA_SYMBOL | CONSTRAINT_NAME_SYMBOL | CATALOG_NAME_SYMBOL | SCHEMA_NAME_SYMBOL | TABLE_NAME_SYMBOL | COLUMN_NAME_SYMBOL | CURSOR_NAME_SYMBOL | MESSAGE_TEXT_SYMBOL | MYSQL_ERRNO_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2727=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == CATALOG_NAME_SYMBOL || LA(1) == CLASS_ORIGIN_SYMBOL || LA(1) == COLUMN_NAME_SYMBOL || ((LA(1) >= CONSTRAINT_CATALOG_SYMBOL) && (LA(1) <= CONSTRAINT_NAME_SYMBOL)) || LA(1) == CURSOR_NAME_SYMBOL || LA(1) == MESSAGE_TEXT_SYMBOL || LA(1) == MYSQL_ERRNO_SYMBOL || LA(1) == SCHEMA_NAME_SYMBOL || LA(1) == SUBCLASS_ORIGIN_SYMBOL || LA(1) == TABLE_NAME_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2727))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulesignal_information_item_nameEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulesignal_information_item_nameEx; /* Prevent compiler warnings */
    rulesignal_information_item_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end signal_information_item_name */

/**
 * $ANTLR start signal_statement
 * MySQL.g:2551:1: signal_statement : SIGNAL_SYMBOL ( identifier | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier ) ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? ;
 */
static MySQLParser_signal_statement_return
signal_statement(pMySQLParser ctx)
{
    MySQLParser_signal_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SIGNAL_SYMBOL2728;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2730;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2731;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2733;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2735;
    MySQLParser_identifier_return identifier2729;
    #undef	RETURN_TYPE_identifier2729
    #define	RETURN_TYPE_identifier2729 MySQLParser_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier2732;
    #undef	RETURN_TYPE_text_or_identifier2732
    #define	RETURN_TYPE_text_or_identifier2732 MySQLParser_text_or_identifier_return

    MySQLParser_signal_information_item_return signal_information_item2734;
    #undef	RETURN_TYPE_signal_information_item2734
    #define	RETURN_TYPE_signal_information_item2734 MySQLParser_signal_information_item_return

    MySQLParser_signal_information_item_return signal_information_item2736;
    #undef	RETURN_TYPE_signal_information_item2736
    #define	RETURN_TYPE_signal_information_item2736 MySQLParser_signal_information_item_return

    pANTLR3_BASE_TREE SIGNAL_SYMBOL2728_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2730_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2731_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2733_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2735_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SIGNAL_SYMBOL2728       = NULL;
    SQLSTATE_SYMBOL2730       = NULL;
    VALUE_SYMBOL2731       = NULL;
    SET_SYMBOL2733       = NULL;
    COMMA_SYMBOL2735       = NULL;
    identifier2729.tree = NULL;

    text_or_identifier2732.tree = NULL;

    signal_information_item2734.tree = NULL;

    signal_information_item2736.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SIGNAL_SYMBOL2728_tree   = NULL;
    SQLSTATE_SYMBOL2730_tree   = NULL;
    VALUE_SYMBOL2731_tree   = NULL;
    SET_SYMBOL2733_tree   = NULL;
    COMMA_SYMBOL2735_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2551:17: ( SIGNAL_SYMBOL ( identifier | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier ) ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? )
        // MySQL.g:2552:2: SIGNAL_SYMBOL ( identifier | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier ) ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SIGNAL_SYMBOL2728 = (pANTLR3_COMMON_TOKEN) MATCHT(SIGNAL_SYMBOL, &FOLLOW_SIGNAL_SYMBOL_in_signal_statement14239);
            if  (HASEXCEPTION())
            {
                goto rulesignal_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SIGNAL_SYMBOL2728_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SIGNAL_SYMBOL2728));
            ADAPTOR->addChild(ADAPTOR, root_0, SIGNAL_SYMBOL2728_tree);
            }

            // MySQL.g:2553:3: ( identifier | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )
            {
                int alt750=2;
                {
                    int LA750_0 = LA(1);
                    if ( (LA750_0 == BACK_TICK_QUOTED_ID || LA750_0 == IDENTIFIER))
                    {
                        alt750=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA750_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt750=1;
                    }
                    else if ( (((LA750_0 >= ASCII_SYMBOL) && (LA750_0 <= YEAR_SYMBOL))))
                    {
                        alt750=1;
                    }
                    else if ( (LA750_0 == SQLSTATE_SYMBOL))
                    {
                        alt750=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 750;
                        EXCEPTION->state        = 0;


                        goto rulesignal_statementEx;

                    }
                }
                switch (alt750)
                {
            	case 1:
            	    // MySQL.g:2554:4: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_signal_statement14248);
            	        identifier2729=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2729.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2555:6: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier
            	    {
            	        SQLSTATE_SYMBOL2730 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_signal_statement14255);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2730_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2730));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2730_tree);
            	        }

            	        // MySQL.g:2555:22: ( VALUE_SYMBOL )?
            	        {
            	            int alt749=2;
            	            switch ( LA(1) )
            	            {
            	                case VALUE_SYMBOL:
            	                	{
            	                		{
            	                		    int LA749_1 = LA(2);
            	                		    if ( (((LA749_1 >= ASCII_SYMBOL) && (LA749_1 <= YEAR_SYMBOL)) || LA749_1 == BACK_TICK_QUOTED_ID || LA749_1 == DOUBLE_QUOTED_TEXT || LA749_1 == IDENTIFIER || LA749_1 == SINGLE_QUOTED_TEXT))
            	                		    {
            	                		        alt749=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt749)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2555:22: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2731 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_signal_statement14257);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2731_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2731));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2731_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_signal_statement14260);
            	        text_or_identifier2732=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2732.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2557:3: ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
            {
                int alt752=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt752=1;
                    	}
                        break;
                }

                switch (alt752)
                {
            	case 1:
            	    // MySQL.g:2557:4: SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )*
            	    {
            	        SET_SYMBOL2733 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_signal_statement14269);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2733_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2733));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2733_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_signal_information_item_in_signal_statement14271);
            	        signal_information_item2734=signal_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2734.tree);

            	        // MySQL.g:2557:39: ( COMMA_SYMBOL signal_information_item )*

            	        for (;;)
            	        {
            	            int alt751=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt751=1;
            	            	}
            	                break;

            	            }

            	            switch (alt751)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2557:40: COMMA_SYMBOL signal_information_item
            	        	    {
            	        	        COMMA_SYMBOL2735 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_signal_statement14274);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2735_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2735));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2735_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_signal_information_item_in_signal_statement14276);
            	        	        signal_information_item2736=signal_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2736.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop751;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop751: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulesignal_statementEx; /* Prevent compiler warnings */
    rulesignal_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end signal_statement */

/**
 * $ANTLR start resignal_statement
 * MySQL.g:2560:1: resignal_statement : RESIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )? ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? ;
 */
static MySQLParser_resignal_statement_return
resignal_statement(pMySQLParser ctx)
{
    MySQLParser_resignal_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    RESIGNAL_SYMBOL2737;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2738;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2739;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2741;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2743;
    MySQLParser_text_or_identifier_return text_or_identifier2740;
    #undef	RETURN_TYPE_text_or_identifier2740
    #define	RETURN_TYPE_text_or_identifier2740 MySQLParser_text_or_identifier_return

    MySQLParser_signal_information_item_return signal_information_item2742;
    #undef	RETURN_TYPE_signal_information_item2742
    #define	RETURN_TYPE_signal_information_item2742 MySQLParser_signal_information_item_return

    MySQLParser_signal_information_item_return signal_information_item2744;
    #undef	RETURN_TYPE_signal_information_item2744
    #define	RETURN_TYPE_signal_information_item2744 MySQLParser_signal_information_item_return

    pANTLR3_BASE_TREE RESIGNAL_SYMBOL2737_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2738_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2739_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2741_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2743_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RESIGNAL_SYMBOL2737       = NULL;
    SQLSTATE_SYMBOL2738       = NULL;
    VALUE_SYMBOL2739       = NULL;
    SET_SYMBOL2741       = NULL;
    COMMA_SYMBOL2743       = NULL;
    text_or_identifier2740.tree = NULL;

    signal_information_item2742.tree = NULL;

    signal_information_item2744.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RESIGNAL_SYMBOL2737_tree   = NULL;
    SQLSTATE_SYMBOL2738_tree   = NULL;
    VALUE_SYMBOL2739_tree   = NULL;
    SET_SYMBOL2741_tree   = NULL;
    COMMA_SYMBOL2743_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2560:19: ( RESIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )? ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? )
        // MySQL.g:2561:2: RESIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )? ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RESIGNAL_SYMBOL2737 = (pANTLR3_COMMON_TOKEN) MATCHT(RESIGNAL_SYMBOL, &FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement14289);
            if  (HASEXCEPTION())
            {
                goto ruleresignal_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RESIGNAL_SYMBOL2737_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESIGNAL_SYMBOL2737));
            ADAPTOR->addChild(ADAPTOR, root_0, RESIGNAL_SYMBOL2737_tree);
            }

            // MySQL.g:2561:18: ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )?
            {
                int alt754=2;
                switch ( LA(1) )
                {
                    case SQLSTATE_SYMBOL:
                    	{
                    		alt754=1;
                    	}
                        break;
                }

                switch (alt754)
                {
            	case 1:
            	    // MySQL.g:2561:19: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier
            	    {
            	        SQLSTATE_SYMBOL2738 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement14292);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2738_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2738));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2738_tree);
            	        }

            	        // MySQL.g:2561:35: ( VALUE_SYMBOL )?
            	        {
            	            int alt753=2;
            	            switch ( LA(1) )
            	            {
            	                case VALUE_SYMBOL:
            	                	{
            	                		{
            	                		    int LA753_1 = LA(2);
            	                		    if ( (((LA753_1 >= ASCII_SYMBOL) && (LA753_1 <= YEAR_SYMBOL)) || LA753_1 == BACK_TICK_QUOTED_ID || LA753_1 == DOUBLE_QUOTED_TEXT || LA753_1 == IDENTIFIER || LA753_1 == SINGLE_QUOTED_TEXT))
            	                		    {
            	                		        alt753=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt753)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2561:35: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2739 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_resignal_statement14294);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2739_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2739));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2739_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_resignal_statement14297);
            	        text_or_identifier2740=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2740.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2562:3: ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
            {
                int alt756=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt756=1;
                    	}
                        break;
                }

                switch (alt756)
                {
            	case 1:
            	    // MySQL.g:2562:4: SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )*
            	    {
            	        SET_SYMBOL2741 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_resignal_statement14304);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2741_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2741));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2741_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_signal_information_item_in_resignal_statement14306);
            	        signal_information_item2742=signal_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2742.tree);

            	        // MySQL.g:2562:39: ( COMMA_SYMBOL signal_information_item )*

            	        for (;;)
            	        {
            	            int alt755=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt755=1;
            	            	}
            	                break;

            	            }

            	            switch (alt755)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2562:40: COMMA_SYMBOL signal_information_item
            	        	    {
            	        	        COMMA_SYMBOL2743 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_resignal_statement14309);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2743_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2743));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2743_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_signal_information_item_in_resignal_statement14311);
            	        	        signal_information_item2744=signal_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2744.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop755;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop755: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleresignal_statementEx; /* Prevent compiler warnings */
    ruleresignal_statementEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end resignal_statement */

/**
 * $ANTLR start signal_information_item
 * MySQL.g:2565:1: signal_information_item : signal_information_item_name EQUAL_OPERATOR ( literal | variable | identifier ) ;
 */
static MySQLParser_signal_information_item_return
signal_information_item(pMySQLParser ctx)
{
    MySQLParser_signal_information_item_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2746;
    MySQLParser_signal_information_item_name_return signal_information_item_name2745;
    #undef	RETURN_TYPE_signal_information_item_name2745
    #define	RETURN_TYPE_signal_information_item_name2745 MySQLParser_signal_information_item_name_return

    MySQLParser_literal_return literal2747;
    #undef	RETURN_TYPE_literal2747
    #define	RETURN_TYPE_literal2747 MySQLParser_literal_return

    MySQLParser_variable_return variable2748;
    #undef	RETURN_TYPE_variable2748
    #define	RETURN_TYPE_variable2748 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2749;
    #undef	RETURN_TYPE_identifier2749
    #define	RETURN_TYPE_identifier2749 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2746_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2746       = NULL;
    signal_information_item_name2745.tree = NULL;

    literal2747.tree = NULL;

    variable2748.tree = NULL;

    identifier2749.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2746_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2565:24: ( signal_information_item_name EQUAL_OPERATOR ( literal | variable | identifier ) )
        // MySQL.g:2566:2: signal_information_item_name EQUAL_OPERATOR ( literal | variable | identifier )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_signal_information_item_name_in_signal_information_item14324);
            signal_information_item_name2745=signal_information_item_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item_name2745.tree);

            EQUAL_OPERATOR2746 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_signal_information_item14326);
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2746_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2746));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2746_tree);
            }

            // MySQL.g:2566:46: ( literal | variable | identifier )
            {
                int alt757=3;
                {
                    int LA757_0 = LA(1);
                    if ( (LA757_0 == FALSE_SYMBOL || LA757_0 == FLOAT || ((LA757_0 >= HEXNUMBER) && (LA757_0 <= HEXSTRING)) || LA757_0 == INTEGER || LA757_0 == NCHAR_TEXT || LA757_0 == SINGLE_QUOTED_TEXT || LA757_0 == TRUE_SYMBOL || LA757_0 == UNDERSCORE_CHARSET))
                    {
                        alt757=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA757_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA757_4 = LA(2);
                            if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt757=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt757=3;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 757;
                                EXCEPTION->state        = 4;


                                goto rulesignal_information_itemEx;

                            }
                        }
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA757_0 >= BITNUMBER) && (LA757_0 <= BITSTRING))))
                    {
                        alt757=1;
                    }
                    else if ( (LA757_0 == NULL2_SYMBOL || LA757_0 == NULL_SYMBOL))
                    {
                        alt757=1;
                    }
                    else if ( (LA757_0 == DATE_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case SINGLE_QUOTED_TEXT:
                        	{
                        		alt757=1;
                        	}
                            break;
                        case EOF:
                        case COMMA_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt757=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 757;
                            EXCEPTION->state        = 10;


                            goto rulesignal_information_itemEx;

                        }

                    }
                    else if ( (LA757_0 == TIME_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case SINGLE_QUOTED_TEXT:
                        	{
                        		alt757=1;
                        	}
                            break;
                        case EOF:
                        case COMMA_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt757=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 757;
                            EXCEPTION->state        = 11;


                            goto rulesignal_information_itemEx;

                        }

                    }
                    else if ( (LA757_0 == TIMESTAMP_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case SINGLE_QUOTED_TEXT:
                        	{
                        		alt757=1;
                        	}
                            break;
                        case EOF:
                        case COMMA_SYMBOL:
                        case SEMICOLON_SYMBOL:
                        	{
                        		alt757=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 757;
                            EXCEPTION->state        = 12;


                            goto rulesignal_information_itemEx;

                        }

                    }
                    else if ( (((LA757_0 >= AT_AT_SIGN_SYMBOL) && (LA757_0 <= AT_TEXT_SUFFIX))))
                    {
                        alt757=2;
                    }
                    else if ( (((LA757_0 >= ASCII_SYMBOL) && (LA757_0 <= DATETIME_SYMBOL)) || ((LA757_0 >= DAY_SYMBOL) && (LA757_0 <= TRIGGERS_SYMBOL)) || ((LA757_0 >= TIMESTAMP_ADD_SYMBOL) && (LA757_0 <= TIMESTAMP_DIFF_SYMBOL)) || ((LA757_0 >= TYPES_SYMBOL) && (LA757_0 <= YEAR_SYMBOL)) || LA757_0 == BACK_TICK_QUOTED_ID || LA757_0 == IDENTIFIER))
                    {
                        alt757=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 757;
                        EXCEPTION->state        = 0;


                        goto rulesignal_information_itemEx;

                    }
                }
                switch (alt757)
                {
            	case 1:
            	    // MySQL.g:2566:47: literal
            	    {
            	        FOLLOWPUSH(FOLLOW_literal_in_signal_information_item14329);
            	        literal2747=literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal2747.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2566:57: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_signal_information_item14333);
            	        variable2748=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2748.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2566:68: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_signal_information_item14337);
            	        identifier2749=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2749.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulesignal_information_itemEx; /* Prevent compiler warnings */
    rulesignal_information_itemEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end signal_information_item */

/**
 * $ANTLR start cursor_close
 * MySQL.g:2569:1: cursor_close : CLOSE_SYMBOL identifier ;
 */
static MySQLParser_cursor_close_return
cursor_close(pMySQLParser ctx)
{
    MySQLParser_cursor_close_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CLOSE_SYMBOL2750;
    MySQLParser_identifier_return identifier2751;
    #undef	RETURN_TYPE_identifier2751
    #define	RETURN_TYPE_identifier2751 MySQLParser_identifier_return

    pANTLR3_BASE_TREE CLOSE_SYMBOL2750_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CLOSE_SYMBOL2750       = NULL;
    identifier2751.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CLOSE_SYMBOL2750_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2569:13: ( CLOSE_SYMBOL identifier )
        // MySQL.g:2570:2: CLOSE_SYMBOL identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CLOSE_SYMBOL2750 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_SYMBOL, &FOLLOW_CLOSE_SYMBOL_in_cursor_close14347);
            if  (HASEXCEPTION())
            {
                goto rulecursor_closeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_SYMBOL2750_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_SYMBOL2750));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_SYMBOL2750_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_close14349);
            identifier2751=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_closeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2751.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecursor_closeEx; /* Prevent compiler warnings */
    rulecursor_closeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cursor_close */

/**
 * $ANTLR start cursor_fetch
 * MySQL.g:2573:1: cursor_fetch : FETCH_SYMBOL identifier INTO_SYMBOL identifier_list ;
 */
static MySQLParser_cursor_fetch_return
cursor_fetch(pMySQLParser ctx)
{
    MySQLParser_cursor_fetch_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FETCH_SYMBOL2752;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL2754;
    MySQLParser_identifier_return identifier2753;
    #undef	RETURN_TYPE_identifier2753
    #define	RETURN_TYPE_identifier2753 MySQLParser_identifier_return

    MySQLParser_identifier_list_return identifier_list2755;
    #undef	RETURN_TYPE_identifier_list2755
    #define	RETURN_TYPE_identifier_list2755 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE FETCH_SYMBOL2752_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL2754_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FETCH_SYMBOL2752       = NULL;
    INTO_SYMBOL2754       = NULL;
    identifier2753.tree = NULL;

    identifier_list2755.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FETCH_SYMBOL2752_tree   = NULL;
    INTO_SYMBOL2754_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2573:13: ( FETCH_SYMBOL identifier INTO_SYMBOL identifier_list )
        // MySQL.g:2574:2: FETCH_SYMBOL identifier INTO_SYMBOL identifier_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FETCH_SYMBOL2752 = (pANTLR3_COMMON_TOKEN) MATCHT(FETCH_SYMBOL, &FOLLOW_FETCH_SYMBOL_in_cursor_fetch14358);
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FETCH_SYMBOL2752_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FETCH_SYMBOL2752));
            ADAPTOR->addChild(ADAPTOR, root_0, FETCH_SYMBOL2752_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_fetch14360);
            identifier2753=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2753.tree);

            INTO_SYMBOL2754 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_cursor_fetch14362);
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL2754_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL2754));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL2754_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_cursor_fetch14364);
            identifier_list2755=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list2755.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecursor_fetchEx; /* Prevent compiler warnings */
    rulecursor_fetchEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cursor_fetch */

/**
 * $ANTLR start cursor_open
 * MySQL.g:2577:1: cursor_open : OPEN_SYMBOL identifier ;
 */
static MySQLParser_cursor_open_return
cursor_open(pMySQLParser ctx)
{
    MySQLParser_cursor_open_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_SYMBOL2756;
    MySQLParser_identifier_return identifier2757;
    #undef	RETURN_TYPE_identifier2757
    #define	RETURN_TYPE_identifier2757 MySQLParser_identifier_return

    pANTLR3_BASE_TREE OPEN_SYMBOL2756_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_SYMBOL2756       = NULL;
    identifier2757.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_SYMBOL2756_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2577:12: ( OPEN_SYMBOL identifier )
        // MySQL.g:2578:2: OPEN_SYMBOL identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_SYMBOL2756 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_cursor_open14373);
            if  (HASEXCEPTION())
            {
                goto rulecursor_openEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_SYMBOL2756_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL2756));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL2756_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_open14375);
            identifier2757=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_openEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2757.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecursor_openEx; /* Prevent compiler warnings */
    rulecursor_openEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end cursor_open */

/**
 * $ANTLR start schedule
 * MySQL.g:2584:1: schedule : ( AT_SYMBOL expression | EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )? );
 */
static MySQLParser_schedule_return
schedule(pMySQLParser ctx)
{
    MySQLParser_schedule_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AT_SYMBOL2758;
    pANTLR3_COMMON_TOKEN    EVERY_SYMBOL2760;
    pANTLR3_COMMON_TOKEN    STARTS_SYMBOL2762;
    pANTLR3_COMMON_TOKEN    ENDS_SYMBOL2764;
    MySQLParser_expression_return expression2759;
    #undef	RETURN_TYPE_expression2759
    #define	RETURN_TYPE_expression2759 MySQLParser_expression_return

    MySQLParser_interval_return interval2761;
    #undef	RETURN_TYPE_interval2761
    #define	RETURN_TYPE_interval2761 MySQLParser_interval_return

    MySQLParser_expression_return expression2763;
    #undef	RETURN_TYPE_expression2763
    #define	RETURN_TYPE_expression2763 MySQLParser_expression_return

    MySQLParser_expression_return expression2765;
    #undef	RETURN_TYPE_expression2765
    #define	RETURN_TYPE_expression2765 MySQLParser_expression_return

    pANTLR3_BASE_TREE AT_SYMBOL2758_tree;
    pANTLR3_BASE_TREE EVERY_SYMBOL2760_tree;
    pANTLR3_BASE_TREE STARTS_SYMBOL2762_tree;
    pANTLR3_BASE_TREE ENDS_SYMBOL2764_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SYMBOL2758       = NULL;
    EVERY_SYMBOL2760       = NULL;
    STARTS_SYMBOL2762       = NULL;
    ENDS_SYMBOL2764       = NULL;
    expression2759.tree = NULL;

    interval2761.tree = NULL;

    expression2763.tree = NULL;

    expression2765.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SYMBOL2758_tree   = NULL;
    EVERY_SYMBOL2760_tree   = NULL;
    STARTS_SYMBOL2762_tree   = NULL;
    ENDS_SYMBOL2764_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2584:9: ( AT_SYMBOL expression | EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )? )

            ANTLR3_UINT32 alt760;

            alt760=2;

            switch ( LA(1) )
            {
            case AT_SYMBOL:
            	{
            		alt760=1;
            	}
                break;
            case EVERY_SYMBOL:
            	{
            		alt760=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 760;
                EXCEPTION->state        = 0;


                goto rulescheduleEx;

            }

            switch (alt760)
            {
        	case 1:
        	    // MySQL.g:2585:2: AT_SYMBOL expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AT_SYMBOL2758 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SYMBOL, &FOLLOW_AT_SYMBOL_in_schedule14387);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AT_SYMBOL2758_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SYMBOL2758));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SYMBOL2758_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_schedule14389);
        	        expression2759=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2759.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2586:4: EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EVERY_SYMBOL2760 = (pANTLR3_COMMON_TOKEN) MATCHT(EVERY_SYMBOL, &FOLLOW_EVERY_SYMBOL_in_schedule14394);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EVERY_SYMBOL2760_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVERY_SYMBOL2760));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EVERY_SYMBOL2760_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_in_schedule14396);
        	        interval2761=interval(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval2761.tree);

        	        // MySQL.g:2586:26: ( STARTS_SYMBOL expression )?
        	        {
        	            int alt758=2;
        	            switch ( LA(1) )
        	            {
        	                case STARTS_SYMBOL:
        	                	{
        	                		alt758=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt758)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2586:27: STARTS_SYMBOL expression
        	        	    {
        	        	        STARTS_SYMBOL2762 = (pANTLR3_COMMON_TOKEN) MATCHT(STARTS_SYMBOL, &FOLLOW_STARTS_SYMBOL_in_schedule14399);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STARTS_SYMBOL2762_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STARTS_SYMBOL2762));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STARTS_SYMBOL2762_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_schedule14401);
        	        	        expression2763=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2763.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2586:54: ( ENDS_SYMBOL expression )?
        	        {
        	            int alt759=2;
        	            switch ( LA(1) )
        	            {
        	                case ENDS_SYMBOL:
        	                	{
        	                		alt759=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt759)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2586:55: ENDS_SYMBOL expression
        	        	    {
        	        	        ENDS_SYMBOL2764 = (pANTLR3_COMMON_TOKEN) MATCHT(ENDS_SYMBOL, &FOLLOW_ENDS_SYMBOL_in_schedule14406);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ENDS_SYMBOL2764_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENDS_SYMBOL2764));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ENDS_SYMBOL2764_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_schedule14408);
        	        	        expression2765=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2765.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulescheduleEx; /* Prevent compiler warnings */
    rulescheduleEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end schedule */

/**
 * $ANTLR start database_option
 * MySQL.g:2589:1: database_option : ( DEFAULT_SYMBOL )? ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default ) ;
 */
static MySQLParser_database_option_return
database_option(pMySQLParser ctx)
{
    MySQLParser_database_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2766;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2767;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2768;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2769;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2771;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2772;
    MySQLParser_charset_name_or_default_return charset_name_or_default2770;
    #undef	RETURN_TYPE_charset_name_or_default2770
    #define	RETURN_TYPE_charset_name_or_default2770 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default2773;
    #undef	RETURN_TYPE_collation_name_or_default2773
    #define	RETURN_TYPE_collation_name_or_default2773 MySQLParser_collation_name_or_default_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2766_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2767_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2768_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2769_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2771_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2772_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2766       = NULL;
    CHAR_SYMBOL2767       = NULL;
    SET_SYMBOL2768       = NULL;
    EQUAL_OPERATOR2769       = NULL;
    COLLATE_SYMBOL2771       = NULL;
    EQUAL_OPERATOR2772       = NULL;
    charset_name_or_default2770.tree = NULL;

    collation_name_or_default2773.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2766_tree   = NULL;
    CHAR_SYMBOL2767_tree   = NULL;
    SET_SYMBOL2768_tree   = NULL;
    EQUAL_OPERATOR2769_tree   = NULL;
    COLLATE_SYMBOL2771_tree   = NULL;
    EQUAL_OPERATOR2772_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2589:16: ( ( DEFAULT_SYMBOL )? ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default ) )
        // MySQL.g:2590:2: ( DEFAULT_SYMBOL )? ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2590:2: ( DEFAULT_SYMBOL )?
            {
                int alt761=2;
                switch ( LA(1) )
                {
                    case DEFAULT_SYMBOL:
                    	{
                    		alt761=1;
                    	}
                        break;
                }

                switch (alt761)
                {
            	case 1:
            	    // MySQL.g:2590:2: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2766 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_database_option14419);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2766_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2766));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2766_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2591:3: ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default )
            {
                int alt764=2;
                switch ( LA(1) )
                {
                case CHAR_SYMBOL:
                	{
                		alt764=1;
                	}
                    break;
                case COLLATE_SYMBOL:
                	{
                		alt764=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 764;
                    EXCEPTION->state        = 0;


                    goto ruledatabase_optionEx;

                }

                switch (alt764)
                {
            	case 1:
            	    // MySQL.g:2592:4: CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default
            	    {
            	        CHAR_SYMBOL2767 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_database_option14429);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CHAR_SYMBOL2767_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2767));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2767_tree);
            	        }

            	        SET_SYMBOL2768 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_database_option14431);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2768_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2768));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2768_tree);
            	        }

            	        // MySQL.g:2592:27: ( EQUAL_OPERATOR )?
            	        {
            	            int alt762=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt762=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt762)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2592:27: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2769 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_database_option14433);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledatabase_optionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2769_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2769));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2769_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_database_option14436);
            	        charset_name_or_default2770=charset_name_or_default(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name_or_default2770.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2593:6: COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default
            	    {
            	        COLLATE_SYMBOL2771 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_database_option14443);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATE_SYMBOL2771_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2771));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2771_tree);
            	        }

            	        // MySQL.g:2593:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt763=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt763=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt763)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2593:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2772 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_database_option14445);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledatabase_optionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2772_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2772));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2772_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_database_option14448);
            	        collation_name_or_default2773=collation_name_or_default(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, collation_name_or_default2773.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledatabase_optionEx; /* Prevent compiler warnings */
    ruledatabase_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end database_option */

/**
 * $ANTLR start column_definition
 * MySQL.g:2597:1: column_definition : field_spec ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? ) ;
 */
static MySQLParser_column_definition_return
column_definition(pMySQLParser ctx)
{
    MySQLParser_column_definition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL2776;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2777;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2779;
    MySQLParser_field_spec_return field_spec2774;
    #undef	RETURN_TYPE_field_spec2774
    #define	RETURN_TYPE_field_spec2774 MySQLParser_field_spec_return

    MySQLParser_reference_definition_return reference_definition2775;
    #undef	RETURN_TYPE_reference_definition2775
    #define	RETURN_TYPE_reference_definition2775 MySQLParser_reference_definition_return

    MySQLParser_expression_return expression2778;
    #undef	RETURN_TYPE_expression2778
    #define	RETURN_TYPE_expression2778 MySQLParser_expression_return

    pANTLR3_BASE_TREE CHECK_SYMBOL2776_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2777_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2779_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHECK_SYMBOL2776       = NULL;
    OPEN_PAR_SYMBOL2777       = NULL;
    CLOSE_PAR_SYMBOL2779       = NULL;
    field_spec2774.tree = NULL;

    reference_definition2775.tree = NULL;

    expression2778.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHECK_SYMBOL2776_tree   = NULL;
    OPEN_PAR_SYMBOL2777_tree   = NULL;
    CLOSE_PAR_SYMBOL2779_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2597:18: ( field_spec ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? ) )
        // MySQL.g:2598:2: field_spec ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_spec_in_column_definition14461);
            field_spec2774=field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_spec2774.tree);

            // MySQL.g:2598:13: ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? )
            {
                int alt766=2;
                {
                    int LA766_0 = LA(1);
                    if ( (LA766_0 == REFERENCES_SYMBOL))
                    {
                        alt766=1;
                    }
                    else if ( (LA766_0 == AFTER_SYMBOL || LA766_0 == FIRST_SYMBOL || LA766_0 == CHECK_SYMBOL || LA766_0 == COMMA_SYMBOL))
                    {
                        alt766=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA766_0 == PARTITION_SYMBOL))
                    {
                        alt766=2;
                    }
                    else if ( (LA766_0 == EOF || LA766_0 == SEMICOLON_SYMBOL))
                    {
                        alt766=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA766_0 == REMOVE_SYMBOL))
                    {
                        alt766=2;
                    }
                    else if ( (LA766_0 == CLOSE_PAR_SYMBOL))
                    {
                        alt766=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 766;
                        EXCEPTION->state        = 0;


                        goto rulecolumn_definitionEx;

                    }
                }
                switch (alt766)
                {
            	case 1:
            	    // MySQL.g:2598:14: reference_definition
            	    {
            	        FOLLOWPUSH(FOLLOW_reference_definition_in_column_definition14464);
            	        reference_definition2775=reference_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition2775.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2598:37: ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )?
            	    {
            	        // MySQL.g:2598:37: ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )?
            	        {
            	            int alt765=2;
            	            switch ( LA(1) )
            	            {
            	                case CHECK_SYMBOL:
            	                	{
            	                		alt765=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt765)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2598:38: CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	    {
            	        	        CHECK_SYMBOL2776 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_column_definition14469);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHECK_SYMBOL2776_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL2776));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL2776_tree);
            	        	        }

            	        	        OPEN_PAR_SYMBOL2777 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_column_definition14471);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        OPEN_PAR_SYMBOL2777_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2777));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2777_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_column_definition14473);
            	        	        expression2778=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2778.tree);

            	        	        CLOSE_PAR_SYMBOL2779 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition14475);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL2779_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2779));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2779_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_definitionEx; /* Prevent compiler warnings */
    rulecolumn_definitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_definition */

/**
 * $ANTLR start field_spec
 * MySQL.g:2601:1: field_spec : column_name data_type ( attribute )* ( options {greedy=true; } : reference_definition )? ;
 */
static MySQLParser_field_spec_return
field_spec(pMySQLParser ctx)
{
    MySQLParser_field_spec_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_column_name_return column_name2780;
    #undef	RETURN_TYPE_column_name2780
    #define	RETURN_TYPE_column_name2780 MySQLParser_column_name_return

    MySQLParser_data_type_return data_type2781;
    #undef	RETURN_TYPE_data_type2781
    #define	RETURN_TYPE_data_type2781 MySQLParser_data_type_return

    MySQLParser_attribute_return attribute2782;
    #undef	RETURN_TYPE_attribute2782
    #define	RETURN_TYPE_attribute2782 MySQLParser_attribute_return

    MySQLParser_reference_definition_return reference_definition2783;
    #undef	RETURN_TYPE_reference_definition2783
    #define	RETURN_TYPE_reference_definition2783 MySQLParser_reference_definition_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    column_name2780.tree = NULL;

    data_type2781.tree = NULL;

    attribute2782.tree = NULL;

    reference_definition2783.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2601:11: ( column_name data_type ( attribute )* ( options {greedy=true; } : reference_definition )? )
        // MySQL.g:2602:2: column_name data_type ( attribute )* ( options {greedy=true; } : reference_definition )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_column_name_in_field_spec14487);
            column_name2780=column_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_name2780.tree);

            FOLLOWPUSH(FOLLOW_data_type_in_field_spec14489);
            data_type2781=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2781.tree);

            // MySQL.g:2602:24: ( attribute )*

            for (;;)
            {
                int alt767=2;
                switch ( LA(1) )
                {
                case COMMENT_SYMBOL:
                case AUTO_INCREMENT_SYMBOL:
                case COLUMN_FORMAT_SYMBOL:
                case SERIAL_SYMBOL:
                case STORAGE_SYMBOL:
                case COLLATE_SYMBOL:
                case DEFAULT_SYMBOL:
                case KEY_SYMBOL:
                case NOT_SYMBOL:
                case NULL2_SYMBOL:
                case NULL_SYMBOL:
                case ON_SYMBOL:
                case PRIMARY_SYMBOL:
                case UNIQUE_SYMBOL:
                	{
                		alt767=1;
                	}
                    break;

                }

                switch (alt767)
                {
            	case 1:
            	    // MySQL.g:2602:24: attribute
            	    {
            	        FOLLOWPUSH(FOLLOW_attribute_in_field_spec14491);
            	        attribute2782=attribute(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, attribute2782.tree);

            	    }
            	    break;

            	default:
            	    goto loop767;	/* break out of the loop */
            	    break;
                }
            }
            loop767: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2602:35: ( options {greedy=true; } : reference_definition )?
            {
                int alt768=2;
                switch ( LA(1) )
                {
                    case REFERENCES_SYMBOL:
                    	{
                    		{
                    		    int LA768_1 = LA(2);
                    		    if ( (LA768_1 == IDENTIFIER))
                    		    {
                    		        alt768=1;
                    		    }
                    		    else if ( (LA768_1 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        alt768=1;
                    		    }
                    		    else if ( (LA768_1 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        alt768=1;
                    		    }
                    		    else if ( (((LA768_1 >= ACTION_SYMBOL) && (LA768_1 <= YEAR_SYMBOL))))
                    		    {
                    		        alt768=1;
                    		    }
                    		    else if ( (((LA768_1 >= ASCII_SYMBOL) && (LA768_1 <= XA_SYMBOL))))
                    		    {
                    		        alt768=1;
                    		    }
                    		    else if ( (LA768_1 == DOT_SYMBOL))
                    		    {
                    		        alt768=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt768)
                {
            	case 1:
            	    // MySQL.g:2602:65: reference_definition
            	    {
            	        FOLLOWPUSH(FOLLOW_reference_definition_in_field_spec14508);
            	        reference_definition2783=reference_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition2783.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefield_specEx; /* Prevent compiler warnings */
    rulefield_specEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_spec */

/**
 * $ANTLR start attribute
 * MySQL.g:2605:1: attribute : ( ( NOT_SYMBOL )? null_literal | DEFAULT_SYMBOL ( signed_literal | NOW_SYMBOL ( time_function_parameters )? ) | ON_SYMBOL UPDATE_SYMBOL NOW_SYMBOL ( time_function_parameters )? | AUTO_INCREMENT_SYMBOL | SERIAL_SYMBOL DEFAULT_SYMBOL VALUE_SYMBOL |{...}? UNIQUE_SYMBOL | ( PRIMARY_SYMBOL | UNIQUE_SYMBOL ) KEY_SYMBOL | KEY_SYMBOL | COMMENT_SYMBOL string_literal | COLLATE_SYMBOL text_or_identifier | COLUMN_FORMAT_SYMBOL ( FIXED_SYMBOL | DYNAMIC_SYMBOL | DEFAULT_SYMBOL ) | STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL | DEFAULT_SYMBOL ) );
 */
static MySQLParser_attribute_return
attribute(pMySQLParser ctx)
{
    MySQLParser_attribute_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NOT_SYMBOL2784;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2786;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2788;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2790;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL2791;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2792;
    pANTLR3_COMMON_TOKEN    AUTO_INCREMENT_SYMBOL2794;
    pANTLR3_COMMON_TOKEN    SERIAL_SYMBOL2795;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2796;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2797;
    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL2798;
    pANTLR3_COMMON_TOKEN    set2799;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2800;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2801;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2802;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2804;
    pANTLR3_COMMON_TOKEN    COLUMN_FORMAT_SYMBOL2806;
    pANTLR3_COMMON_TOKEN    set2807;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2808;
    pANTLR3_COMMON_TOKEN    set2809;
    MySQLParser_null_literal_return null_literal2785;
    #undef	RETURN_TYPE_null_literal2785
    #define	RETURN_TYPE_null_literal2785 MySQLParser_null_literal_return

    MySQLParser_signed_literal_return signed_literal2787;
    #undef	RETURN_TYPE_signed_literal2787
    #define	RETURN_TYPE_signed_literal2787 MySQLParser_signed_literal_return

    MySQLParser_time_function_parameters_return time_function_parameters2789;
    #undef	RETURN_TYPE_time_function_parameters2789
    #define	RETURN_TYPE_time_function_parameters2789 MySQLParser_time_function_parameters_return

    MySQLParser_time_function_parameters_return time_function_parameters2793;
    #undef	RETURN_TYPE_time_function_parameters2793
    #define	RETURN_TYPE_time_function_parameters2793 MySQLParser_time_function_parameters_return

    MySQLParser_string_literal_return string_literal2803;
    #undef	RETURN_TYPE_string_literal2803
    #define	RETURN_TYPE_string_literal2803 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier2805;
    #undef	RETURN_TYPE_text_or_identifier2805
    #define	RETURN_TYPE_text_or_identifier2805 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE NOT_SYMBOL2784_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2786_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2788_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2790_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL2791_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2792_tree;
    pANTLR3_BASE_TREE AUTO_INCREMENT_SYMBOL2794_tree;
    pANTLR3_BASE_TREE SERIAL_SYMBOL2795_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2796_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2797_tree;
    pANTLR3_BASE_TREE UNIQUE_SYMBOL2798_tree;
    pANTLR3_BASE_TREE set2799_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2800_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2801_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2802_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2804_tree;
    pANTLR3_BASE_TREE COLUMN_FORMAT_SYMBOL2806_tree;
    pANTLR3_BASE_TREE set2807_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2808_tree;
    pANTLR3_BASE_TREE set2809_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL2784       = NULL;
    DEFAULT_SYMBOL2786       = NULL;
    NOW_SYMBOL2788       = NULL;
    ON_SYMBOL2790       = NULL;
    UPDATE_SYMBOL2791       = NULL;
    NOW_SYMBOL2792       = NULL;
    AUTO_INCREMENT_SYMBOL2794       = NULL;
    SERIAL_SYMBOL2795       = NULL;
    DEFAULT_SYMBOL2796       = NULL;
    VALUE_SYMBOL2797       = NULL;
    UNIQUE_SYMBOL2798       = NULL;
    set2799       = NULL;
    KEY_SYMBOL2800       = NULL;
    KEY_SYMBOL2801       = NULL;
    COMMENT_SYMBOL2802       = NULL;
    COLLATE_SYMBOL2804       = NULL;
    COLUMN_FORMAT_SYMBOL2806       = NULL;
    set2807       = NULL;
    STORAGE_SYMBOL2808       = NULL;
    set2809       = NULL;
    null_literal2785.tree = NULL;

    signed_literal2787.tree = NULL;

    time_function_parameters2789.tree = NULL;

    time_function_parameters2793.tree = NULL;

    string_literal2803.tree = NULL;

    text_or_identifier2805.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL2784_tree   = NULL;
    DEFAULT_SYMBOL2786_tree   = NULL;
    NOW_SYMBOL2788_tree   = NULL;
    ON_SYMBOL2790_tree   = NULL;
    UPDATE_SYMBOL2791_tree   = NULL;
    NOW_SYMBOL2792_tree   = NULL;
    AUTO_INCREMENT_SYMBOL2794_tree   = NULL;
    SERIAL_SYMBOL2795_tree   = NULL;
    DEFAULT_SYMBOL2796_tree   = NULL;
    VALUE_SYMBOL2797_tree   = NULL;
    UNIQUE_SYMBOL2798_tree   = NULL;
    set2799_tree   = NULL;
    KEY_SYMBOL2800_tree   = NULL;
    KEY_SYMBOL2801_tree   = NULL;
    COMMENT_SYMBOL2802_tree   = NULL;
    COLLATE_SYMBOL2804_tree   = NULL;
    COLUMN_FORMAT_SYMBOL2806_tree   = NULL;
    set2807_tree   = NULL;
    STORAGE_SYMBOL2808_tree   = NULL;
    set2809_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2605:10: ( ( NOT_SYMBOL )? null_literal | DEFAULT_SYMBOL ( signed_literal | NOW_SYMBOL ( time_function_parameters )? ) | ON_SYMBOL UPDATE_SYMBOL NOW_SYMBOL ( time_function_parameters )? | AUTO_INCREMENT_SYMBOL | SERIAL_SYMBOL DEFAULT_SYMBOL VALUE_SYMBOL |{...}? UNIQUE_SYMBOL | ( PRIMARY_SYMBOL | UNIQUE_SYMBOL ) KEY_SYMBOL | KEY_SYMBOL | COMMENT_SYMBOL string_literal | COLLATE_SYMBOL text_or_identifier | COLUMN_FORMAT_SYMBOL ( FIXED_SYMBOL | DYNAMIC_SYMBOL | DEFAULT_SYMBOL ) | STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL | DEFAULT_SYMBOL ) )

            ANTLR3_UINT32 alt773;

            alt773=12;

            switch ( LA(1) )
            {
            case NOT_SYMBOL:
            case NULL2_SYMBOL:
            case NULL_SYMBOL:
            	{
            		alt773=1;
            	}
                break;
            case DEFAULT_SYMBOL:
            	{
            		alt773=2;
            	}
                break;
            case ON_SYMBOL:
            	{
            		alt773=3;
            	}
                break;
            case AUTO_INCREMENT_SYMBOL:
            	{
            		alt773=4;
            	}
                break;
            case SERIAL_SYMBOL:
            	{
            		alt773=5;
            	}
                break;
            case UNIQUE_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case KEY_SYMBOL:
            			{
            				{
            				    int LA773_14 = LA(3);
            				    if ( ((LA(2) != KEY_SYMBOL)))
            				    {
            				        alt773=6;
            				    }
            				    else if ( (ANTLR3_TRUE))
            				    {
            				        alt773=7;
            				    }
            				    else
            				    {
            				        if (BACKTRACKING>0)
            				        {
            				            FAILEDFLAG = ANTLR3_TRUE;
            				            return retval;
            				        }


            				        CONSTRUCTEX();
            				        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            				        EXCEPTION->message      = (void *)"";
            				        EXCEPTION->decisionNum  = 773;
            				        EXCEPTION->state        = 14;


            				        goto ruleattributeEx;

            				    }
            				}
            			}
            		    break;
            		case EOF:
            		case COMMENT_SYMBOL:
            		case PARTITION_SYMBOL:
            		case REMOVE_SYMBOL:
            		case AFTER_SYMBOL:
            		case AUTO_INCREMENT_SYMBOL:
            		case COLUMN_FORMAT_SYMBOL:
            		case FIRST_SYMBOL:
            		case SERIAL_SYMBOL:
            		case STORAGE_SYMBOL:
            		case CHECK_SYMBOL:
            		case CLOSE_PAR_SYMBOL:
            		case COLLATE_SYMBOL:
            		case COMMA_SYMBOL:
            		case DEFAULT_SYMBOL:
            		case NOT_SYMBOL:
            		case NULL2_SYMBOL:
            		case NULL_SYMBOL:
            		case ON_SYMBOL:
            		case PRIMARY_SYMBOL:
            		case REFERENCES_SYMBOL:
            		case SEMICOLON_SYMBOL:
            		case UNIQUE_SYMBOL:
            			{
            				alt773=6;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 773;
            		    EXCEPTION->state        = 7;


            		    goto ruleattributeEx;

            		}

            	}
                break;
            case PRIMARY_SYMBOL:
            	{
            		alt773=7;
            	}
                break;
            case KEY_SYMBOL:
            	{
            		alt773=8;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt773=9;
            	}
                break;
            case COLLATE_SYMBOL:
            	{
            		alt773=10;
            	}
                break;
            case COLUMN_FORMAT_SYMBOL:
            	{
            		alt773=11;
            	}
                break;
            case STORAGE_SYMBOL:
            	{
            		alt773=12;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 773;
                EXCEPTION->state        = 0;


                goto ruleattributeEx;

            }

            switch (alt773)
            {
        	case 1:
        	    // MySQL.g:2606:2: ( NOT_SYMBOL )? null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2606:2: ( NOT_SYMBOL )?
        	        {
        	            int alt769=2;
        	            switch ( LA(1) )
        	            {
        	                case NOT_SYMBOL:
        	                	{
        	                		alt769=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt769)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2606:2: NOT_SYMBOL
        	        	    {
        	        	        NOT_SYMBOL2784 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_attribute14519);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOT_SYMBOL2784_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2784));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2784_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_null_literal_in_attribute14522);
        	        null_literal2785=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal2785.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2607:4: DEFAULT_SYMBOL ( signed_literal | NOW_SYMBOL ( time_function_parameters )? )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2786 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_attribute14527);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2786_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2786));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2786_tree);
        	        }

        	        // MySQL.g:2607:19: ( signed_literal | NOW_SYMBOL ( time_function_parameters )? )
        	        {
        	            int alt771=2;
        	            {
        	                int LA771_0 = LA(1);
        	                if ( (LA771_0 == NCHAR_TEXT || LA771_0 == SINGLE_QUOTED_TEXT || LA771_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt771=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA771_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt771=1;
        	                }
        	                else if ( (LA771_0 == FALSE_SYMBOL || LA771_0 == FLOAT || ((LA771_0 >= HEXNUMBER) && (LA771_0 <= HEXSTRING)) || LA771_0 == INTEGER || LA771_0 == TRUE_SYMBOL))
        	                {
        	                    alt771=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50003)) && (((LA771_0 >= BITNUMBER) && (LA771_0 <= BITSTRING))))
        	                {
        	                    alt771=1;
        	                }
        	                else if ( (LA771_0 == DATE_SYMBOL || LA771_0 == TIMESTAMP_SYMBOL || LA771_0 == TIME_SYMBOL || LA771_0 == MINUS_OPERATOR || LA771_0 == NULL2_SYMBOL || LA771_0 == NULL_SYMBOL || LA771_0 == PLUS_OPERATOR))
        	                {
        	                    alt771=1;
        	                }
        	                else if ( (LA771_0 == NOW_SYMBOL))
        	                {
        	                    alt771=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 771;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleattributeEx;

        	                }
        	            }
        	            switch (alt771)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2607:20: signed_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_signed_literal_in_attribute14530);
        	        	        signed_literal2787=signed_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signed_literal2787.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2607:37: NOW_SYMBOL ( time_function_parameters )?
        	        	    {
        	        	        NOW_SYMBOL2788 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_attribute14534);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOW_SYMBOL2788_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2788));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2788_tree);
        	        	        }

        	        	        // MySQL.g:2607:48: ( time_function_parameters )?
        	        	        {
        	        	            int alt770=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case OPEN_PAR_SYMBOL:
        	        	                	{
        	        	                		alt770=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt770)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2607:48: time_function_parameters
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_attribute14536);
        	        	        	        time_function_parameters2789=time_function_parameters(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleattributeEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2789.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2608:4: ON_SYMBOL UPDATE_SYMBOL NOW_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL2790 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_attribute14543);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL2790_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2790));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2790_tree);
        	        }

        	        UPDATE_SYMBOL2791 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_attribute14545);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL2791_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL2791));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL2791_tree);
        	        }

        	        NOW_SYMBOL2792 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_attribute14547);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOW_SYMBOL2792_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2792));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2792_tree);
        	        }

        	        // MySQL.g:2608:39: ( time_function_parameters )?
        	        {
        	            int alt772=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt772=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt772)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2608:39: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_attribute14549);
        	        	        time_function_parameters2793=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2793.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2609:4: AUTO_INCREMENT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTO_INCREMENT_SYMBOL2794 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTO_INCREMENT_SYMBOL, &FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute14555);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTO_INCREMENT_SYMBOL2794_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTO_INCREMENT_SYMBOL2794));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTO_INCREMENT_SYMBOL2794_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2610:4: SERIAL_SYMBOL DEFAULT_SYMBOL VALUE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIAL_SYMBOL2795 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIAL_SYMBOL, &FOLLOW_SERIAL_SYMBOL_in_attribute14560);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIAL_SYMBOL2795_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIAL_SYMBOL2795));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIAL_SYMBOL2795_tree);
        	        }

        	        DEFAULT_SYMBOL2796 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_attribute14562);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2796_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2796));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2796_tree);
        	        }

        	        VALUE_SYMBOL2797 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_attribute14564);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VALUE_SYMBOL2797_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2797));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2797_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2611:4: {...}? UNIQUE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(2) != KEY_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(2) != KEY_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"attribute";


        	        }

        	        UNIQUE_SYMBOL2798 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_attribute14571);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNIQUE_SYMBOL2798_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNIQUE_SYMBOL2798));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNIQUE_SYMBOL2798_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2612:4: ( PRIMARY_SYMBOL | UNIQUE_SYMBOL ) KEY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2799=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == PRIMARY_SYMBOL || LA(1) == UNIQUE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2799))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleattributeEx;
        	        }


        	        KEY_SYMBOL2800 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_attribute14584);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_SYMBOL2800_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2800));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2800_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2613:4: KEY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_SYMBOL2801 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_attribute14589);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_SYMBOL2801_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2801));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2801_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2614:4: COMMENT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL2802 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_attribute14594);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2802_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2802));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2802_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_attribute14596);
        	        string_literal2803=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2803.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2615:4: COLLATE_SYMBOL text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLLATE_SYMBOL2804 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_attribute14601);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLLATE_SYMBOL2804_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2804));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2804_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_attribute14603);
        	        text_or_identifier2805=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2805.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2616:4: COLUMN_FORMAT_SYMBOL ( FIXED_SYMBOL | DYNAMIC_SYMBOL | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLUMN_FORMAT_SYMBOL2806 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_FORMAT_SYMBOL, &FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute14608);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLUMN_FORMAT_SYMBOL2806_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_FORMAT_SYMBOL2806));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_FORMAT_SYMBOL2806_tree);
        	        }

        	        set2807=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DYNAMIC_SYMBOL || LA(1) == FIXED_SYMBOL || LA(1) == DEFAULT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2807))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleattributeEx;
        	        }


        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2617:4: STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STORAGE_SYMBOL2808 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_attribute14625);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STORAGE_SYMBOL2808_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2808));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2808_tree);
        	        }

        	        set2809=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DISK_SYMBOL || LA(1) == MEMORY_SYMBOL || LA(1) == DEFAULT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2809))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleattributeEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleattributeEx; /* Prevent compiler warnings */
    ruleattributeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end attribute */

/**
 * $ANTLR start reference_definition
 * MySQL.g:2620:1: reference_definition : REFERENCES_SYMBOL ^ table_ref ( index_columns )? ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )? ( ON_SYMBOL DELETE_SYMBOL reference_option )? ( ON_SYMBOL UPDATE_SYMBOL reference_option )? ;
 */
static MySQLParser_reference_definition_return
reference_definition(pMySQLParser ctx)
{
    MySQLParser_reference_definition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REFERENCES_SYMBOL2810;
    pANTLR3_COMMON_TOKEN    MATCH_SYMBOL2813;
    pANTLR3_COMMON_TOKEN    set2814;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2815;
    pANTLR3_COMMON_TOKEN    DELETE_SYMBOL2816;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2818;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL2819;
    MySQLParser_table_ref_return table_ref2811;
    #undef	RETURN_TYPE_table_ref2811
    #define	RETURN_TYPE_table_ref2811 MySQLParser_table_ref_return

    MySQLParser_index_columns_return index_columns2812;
    #undef	RETURN_TYPE_index_columns2812
    #define	RETURN_TYPE_index_columns2812 MySQLParser_index_columns_return

    MySQLParser_reference_option_return reference_option2817;
    #undef	RETURN_TYPE_reference_option2817
    #define	RETURN_TYPE_reference_option2817 MySQLParser_reference_option_return

    MySQLParser_reference_option_return reference_option2820;
    #undef	RETURN_TYPE_reference_option2820
    #define	RETURN_TYPE_reference_option2820 MySQLParser_reference_option_return

    pANTLR3_BASE_TREE REFERENCES_SYMBOL2810_tree;
    pANTLR3_BASE_TREE MATCH_SYMBOL2813_tree;
    pANTLR3_BASE_TREE set2814_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2815_tree;
    pANTLR3_BASE_TREE DELETE_SYMBOL2816_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2818_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL2819_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REFERENCES_SYMBOL2810       = NULL;
    MATCH_SYMBOL2813       = NULL;
    set2814       = NULL;
    ON_SYMBOL2815       = NULL;
    DELETE_SYMBOL2816       = NULL;
    ON_SYMBOL2818       = NULL;
    UPDATE_SYMBOL2819       = NULL;
    table_ref2811.tree = NULL;

    index_columns2812.tree = NULL;

    reference_option2817.tree = NULL;

    reference_option2820.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REFERENCES_SYMBOL2810_tree   = NULL;
    MATCH_SYMBOL2813_tree   = NULL;
    set2814_tree   = NULL;
    ON_SYMBOL2815_tree   = NULL;
    DELETE_SYMBOL2816_tree   = NULL;
    ON_SYMBOL2818_tree   = NULL;
    UPDATE_SYMBOL2819_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2620:21: ( REFERENCES_SYMBOL ^ table_ref ( index_columns )? ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )? ( ON_SYMBOL DELETE_SYMBOL reference_option )? ( ON_SYMBOL UPDATE_SYMBOL reference_option )? )
        // MySQL.g:2621:2: REFERENCES_SYMBOL ^ table_ref ( index_columns )? ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )? ( ON_SYMBOL DELETE_SYMBOL reference_option )? ( ON_SYMBOL UPDATE_SYMBOL reference_option )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REFERENCES_SYMBOL2810 = (pANTLR3_COMMON_TOKEN) MATCHT(REFERENCES_SYMBOL, &FOLLOW_REFERENCES_SYMBOL_in_reference_definition14646);
            if  (HASEXCEPTION())
            {
                goto rulereference_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REFERENCES_SYMBOL2810_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REFERENCES_SYMBOL2810))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REFERENCES_SYMBOL2810_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_table_ref_in_reference_definition14649);
            table_ref2811=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereference_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref2811.tree);

            // MySQL.g:2621:31: ( index_columns )?
            {
                int alt774=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt774=1;
                    	}
                        break;
                }

                switch (alt774)
                {
            	case 1:
            	    // MySQL.g:2621:31: index_columns
            	    {
            	        FOLLOWPUSH(FOLLOW_index_columns_in_reference_definition14651);
            	        index_columns2812=index_columns(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns2812.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2622:3: ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )?
            {
                int alt775=2;
                switch ( LA(1) )
                {
                    case MATCH_SYMBOL:
                    	{
                    		alt775=1;
                    	}
                        break;
                }

                switch (alt775)
                {
            	case 1:
            	    // MySQL.g:2622:4: MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL )
            	    {
            	        MATCH_SYMBOL2813 = (pANTLR3_COMMON_TOKEN) MATCHT(MATCH_SYMBOL, &FOLLOW_MATCH_SYMBOL_in_reference_definition14657);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MATCH_SYMBOL2813_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MATCH_SYMBOL2813));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MATCH_SYMBOL2813_tree);
            	        }

            	        set2814=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == FULL_SYMBOL || LA(1) == PARTIAL_SYMBOL || LA(1) == SIMPLE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2814))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulereference_definitionEx;
            	        }


            	    }
            	    break;

                }
            }

            // MySQL.g:2623:3: ( ON_SYMBOL DELETE_SYMBOL reference_option )?
            {
                int alt776=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case DELETE_SYMBOL:
                    		    	{
                    		    		alt776=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt776)
                {
            	case 1:
            	    // MySQL.g:2623:4: ON_SYMBOL DELETE_SYMBOL reference_option
            	    {
            	        ON_SYMBOL2815 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_reference_definition14676);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL2815_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2815));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2815_tree);
            	        }

            	        DELETE_SYMBOL2816 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_reference_definition14678);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DELETE_SYMBOL2816_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL2816));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DELETE_SYMBOL2816_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_reference_option_in_reference_definition14680);
            	        reference_option2817=reference_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_option2817.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2624:3: ( ON_SYMBOL UPDATE_SYMBOL reference_option )?
            {
                int alt777=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt777=1;
                    	}
                        break;
                }

                switch (alt777)
                {
            	case 1:
            	    // MySQL.g:2624:4: ON_SYMBOL UPDATE_SYMBOL reference_option
            	    {
            	        ON_SYMBOL2818 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_reference_definition14687);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL2818_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2818));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2818_tree);
            	        }

            	        UPDATE_SYMBOL2819 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_reference_definition14689);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UPDATE_SYMBOL2819_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL2819));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL2819_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_reference_option_in_reference_definition14691);
            	        reference_option2820=reference_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_option2820.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulereference_definitionEx; /* Prevent compiler warnings */
    rulereference_definitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end reference_definition */

/**
 * $ANTLR start index_columns
 * MySQL.g:2627:1: index_columns : OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_index_columns_return
index_columns(pMySQLParser ctx)
{
    MySQLParser_index_columns_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2821;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2823;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2825;
    MySQLParser_index_column_return index_column2822;
    #undef	RETURN_TYPE_index_column2822
    #define	RETURN_TYPE_index_column2822 MySQLParser_index_column_return

    MySQLParser_index_column_return index_column2824;
    #undef	RETURN_TYPE_index_column2824
    #define	RETURN_TYPE_index_column2824 MySQLParser_index_column_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2821_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2823_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2825_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2821       = NULL;
    COMMA_SYMBOL2823       = NULL;
    CLOSE_PAR_SYMBOL2825       = NULL;
    index_column2822.tree = NULL;

    index_column2824.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2821_tree   = NULL;
    COMMA_SYMBOL2823_tree   = NULL;
    CLOSE_PAR_SYMBOL2825_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2627:14: ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2628:2: OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2821 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_columns14702);
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2821_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2821));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2821_tree);
            }

            FOLLOWPUSH(FOLLOW_index_column_in_index_columns14704);
            index_column2822=index_column(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2822.tree);

            // MySQL.g:2628:31: ( COMMA_SYMBOL index_column )*

            for (;;)
            {
                int alt778=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt778=1;
                	}
                    break;

                }

                switch (alt778)
                {
            	case 1:
            	    // MySQL.g:2628:32: COMMA_SYMBOL index_column
            	    {
            	        COMMA_SYMBOL2823 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_columns14707);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2823_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2823));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2823_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_column_in_index_columns14709);
            	        index_column2824=index_column(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2824.tree);

            	    }
            	    break;

            	default:
            	    goto loop778;	/* break out of the loop */
            	    break;
                }
            }
            loop778: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2825 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns14713);
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2825_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2825));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2825_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_columnsEx; /* Prevent compiler warnings */
    ruleindex_columnsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_columns */

/**
 * $ANTLR start index_column
 * MySQL.g:2631:1: index_column : identifier ( field_length )? ( direction )? ;
 */
static MySQLParser_index_column_return
index_column(pMySQLParser ctx)
{
    MySQLParser_index_column_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier2826;
    #undef	RETURN_TYPE_identifier2826
    #define	RETURN_TYPE_identifier2826 MySQLParser_identifier_return

    MySQLParser_field_length_return field_length2827;
    #undef	RETURN_TYPE_field_length2827
    #define	RETURN_TYPE_field_length2827 MySQLParser_field_length_return

    MySQLParser_direction_return direction2828;
    #undef	RETURN_TYPE_direction2828
    #define	RETURN_TYPE_direction2828 MySQLParser_direction_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2826.tree = NULL;

    field_length2827.tree = NULL;

    direction2828.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2631:13: ( identifier ( field_length )? ( direction )? )
        // MySQL.g:2632:2: identifier ( field_length )? ( direction )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_index_column14722);
            identifier2826=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2826.tree);

            // MySQL.g:2632:13: ( field_length )?
            {
                int alt779=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt779=1;
                    	}
                        break;
                }

                switch (alt779)
                {
            	case 1:
            	    // MySQL.g:2632:13: field_length
            	    {
            	        FOLLOWPUSH(FOLLOW_field_length_in_index_column14724);
            	        field_length2827=field_length(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2827.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2632:27: ( direction )?
            {
                int alt780=2;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt780=1;
                    	}
                        break;
                }

                switch (alt780)
                {
            	case 1:
            	    // MySQL.g:2632:27: direction
            	    {
            	        FOLLOWPUSH(FOLLOW_direction_in_index_column14727);
            	        direction2828=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2828.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_columnEx; /* Prevent compiler warnings */
    ruleindex_columnEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_column */

/**
 * $ANTLR start index_type
 * MySQL.g:2635:1: index_type : ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL ) ;
 */
static MySQLParser_index_type_return
index_type(pMySQLParser ctx)
{
    MySQLParser_index_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2829;
    pANTLR3_COMMON_TOKEN    set2830;

    pANTLR3_BASE_TREE set2829_tree;
    pANTLR3_BASE_TREE set2830_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2829       = NULL;
    set2830       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2829_tree   = NULL;
    set2830_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2635:11: ( ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL ) )
        // MySQL.g:2636:2: ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2829=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == TYPE_SYMBOL || LA(1) == USING_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2829))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleindex_typeEx;
            }


            set2830=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == BTREE_SYMBOL || LA(1) == HASH_SYMBOL || LA(1) == RTREE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2830))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleindex_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleindex_typeEx; /* Prevent compiler warnings */
    ruleindex_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_type */

/**
 * $ANTLR start index_option
 * MySQL.g:2639:1: index_option : ( index_type | spatial_index_option );
 */
static MySQLParser_index_option_return
index_option(pMySQLParser ctx)
{
    MySQLParser_index_option_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_index_type_return index_type2831;
    #undef	RETURN_TYPE_index_type2831
    #define	RETURN_TYPE_index_type2831 MySQLParser_index_type_return

    MySQLParser_spatial_index_option_return spatial_index_option2832;
    #undef	RETURN_TYPE_spatial_index_option2832
    #define	RETURN_TYPE_spatial_index_option2832 MySQLParser_spatial_index_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    index_type2831.tree = NULL;

    spatial_index_option2832.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2639:13: ( index_type | spatial_index_option )

            ANTLR3_UINT32 alt781;

            alt781=2;

            {
                int LA781_0 = LA(1);
                if ( (LA781_0 == TYPE_SYMBOL || LA781_0 == USING_SYMBOL))
                {
                    alt781=1;
                }
                else if ( (LA781_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt781=2;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA781_0 == COMMENT_SYMBOL))
                {
                    alt781=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 781;
                    EXCEPTION->state        = 0;


                    goto ruleindex_optionEx;

                }
            }
            switch (alt781)
            {
        	case 1:
        	    // MySQL.g:2640:2: index_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_index_type_in_index_option14764);
        	        index_type2831=index_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type2831.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2641:4: spatial_index_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_index_option14769);
        	        spatial_index_option2832=spatial_index_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_index_option2832.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleindex_optionEx; /* Prevent compiler warnings */
    ruleindex_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end index_option */

/**
 * $ANTLR start fulltext_index_option
 * MySQL.g:2644:1: fulltext_index_option : ( WITH_SYMBOL PARSER_SYMBOL identifier | spatial_index_option );
 */
static MySQLParser_fulltext_index_option_return
fulltext_index_option(pMySQLParser ctx)
{
    MySQLParser_fulltext_index_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    WITH_SYMBOL2833;
    pANTLR3_COMMON_TOKEN    PARSER_SYMBOL2834;
    MySQLParser_identifier_return identifier2835;
    #undef	RETURN_TYPE_identifier2835
    #define	RETURN_TYPE_identifier2835 MySQLParser_identifier_return

    MySQLParser_spatial_index_option_return spatial_index_option2836;
    #undef	RETURN_TYPE_spatial_index_option2836
    #define	RETURN_TYPE_spatial_index_option2836 MySQLParser_spatial_index_option_return

    pANTLR3_BASE_TREE WITH_SYMBOL2833_tree;
    pANTLR3_BASE_TREE PARSER_SYMBOL2834_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL2833       = NULL;
    PARSER_SYMBOL2834       = NULL;
    identifier2835.tree = NULL;

    spatial_index_option2836.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL2833_tree   = NULL;
    PARSER_SYMBOL2834_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2644:22: ( WITH_SYMBOL PARSER_SYMBOL identifier | spatial_index_option )

            ANTLR3_UINT32 alt782;

            alt782=2;

            {
                int LA782_0 = LA(1);
                if ( (LA782_0 == WITH_SYMBOL))
                {
                    alt782=1;
                }
                else if ( (LA782_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt782=2;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA782_0 == COMMENT_SYMBOL))
                {
                    alt782=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 782;
                    EXCEPTION->state        = 0;


                    goto rulefulltext_index_optionEx;

                }
            }
            switch (alt782)
            {
        	case 1:
        	    // MySQL.g:2645:2: WITH_SYMBOL PARSER_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL2833 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_fulltext_index_option14778);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL2833_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2833));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2833_tree);
        	        }

        	        PARSER_SYMBOL2834 = (pANTLR3_COMMON_TOKEN) MATCHT(PARSER_SYMBOL, &FOLLOW_PARSER_SYMBOL_in_fulltext_index_option14780);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARSER_SYMBOL2834_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARSER_SYMBOL2834));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARSER_SYMBOL2834_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_fulltext_index_option14782);
        	        identifier2835=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2835.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2646:4: spatial_index_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_fulltext_index_option14787);
        	        spatial_index_option2836=spatial_index_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_index_option2836.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulefulltext_index_optionEx; /* Prevent compiler warnings */
    rulefulltext_index_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end fulltext_index_option */

/**
 * $ANTLR start spatial_index_option
 * MySQL.g:2649:1: spatial_index_option : ( KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER |{...}? => COMMENT_SYMBOL string_literal );
 */
static MySQLParser_spatial_index_option_return
spatial_index_option(pMySQLParser ctx)
{
    MySQLParser_spatial_index_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    KEY_BLOCK_SIZE_SYMBOL2837;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2838;
    pANTLR3_COMMON_TOKEN    INTEGER2839;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2840;
    MySQLParser_string_literal_return string_literal2841;
    #undef	RETURN_TYPE_string_literal2841
    #define	RETURN_TYPE_string_literal2841 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE KEY_BLOCK_SIZE_SYMBOL2837_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2838_tree;
    pANTLR3_BASE_TREE INTEGER2839_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2840_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    KEY_BLOCK_SIZE_SYMBOL2837       = NULL;
    EQUAL_OPERATOR2838       = NULL;
    INTEGER2839       = NULL;
    COMMENT_SYMBOL2840       = NULL;
    string_literal2841.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    KEY_BLOCK_SIZE_SYMBOL2837_tree   = NULL;
    EQUAL_OPERATOR2838_tree   = NULL;
    INTEGER2839_tree   = NULL;
    COMMENT_SYMBOL2840_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2649:21: ( KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER |{...}? => COMMENT_SYMBOL string_literal )

            ANTLR3_UINT32 alt784;

            alt784=2;

            {
                int LA784_0 = LA(1);
                if ( (LA784_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt784=1;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA784_0 == COMMENT_SYMBOL))
                {
                    alt784=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 784;
                    EXCEPTION->state        = 0;


                    goto rulespatial_index_optionEx;

                }
            }
            switch (alt784)
            {
        	case 1:
        	    // MySQL.g:2650:2: KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_BLOCK_SIZE_SYMBOL2837 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_BLOCK_SIZE_SYMBOL, &FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option14796);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_BLOCK_SIZE_SYMBOL2837_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_BLOCK_SIZE_SYMBOL2837));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_BLOCK_SIZE_SYMBOL2837_tree);
        	        }

        	        // MySQL.g:2650:24: ( EQUAL_OPERATOR )?
        	        {
        	            int alt783=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt783=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt783)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2650:24: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2838 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_spatial_index_option14798);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulespatial_index_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2838_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2838));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2838_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2839 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_spatial_index_option14801);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2839_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2839));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2839_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2651:4: {...}? => COMMENT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50600)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
        	                EXCEPTION->ruleName	 = (void *)"spatial_index_option";


        	        }

        	        COMMENT_SYMBOL2840 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_spatial_index_option14810);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2840_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2840));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2840_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_spatial_index_option14812);
        	        string_literal2841=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2841.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulespatial_index_optionEx; /* Prevent compiler warnings */
    rulespatial_index_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end spatial_index_option */

/**
 * $ANTLR start reference_option
 * MySQL.g:2654:1: reference_option : ( RESTRICT_SYMBOL | CASCADE_SYMBOL | SET_SYMBOL null_literal | NO_SYMBOL ACTION_SYMBOL );
 */
static MySQLParser_reference_option_return
reference_option(pMySQLParser ctx)
{
    MySQLParser_reference_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    RESTRICT_SYMBOL2842;
    pANTLR3_COMMON_TOKEN    CASCADE_SYMBOL2843;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2844;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL2846;
    pANTLR3_COMMON_TOKEN    ACTION_SYMBOL2847;
    MySQLParser_null_literal_return null_literal2845;
    #undef	RETURN_TYPE_null_literal2845
    #define	RETURN_TYPE_null_literal2845 MySQLParser_null_literal_return

    pANTLR3_BASE_TREE RESTRICT_SYMBOL2842_tree;
    pANTLR3_BASE_TREE CASCADE_SYMBOL2843_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2844_tree;
    pANTLR3_BASE_TREE NO_SYMBOL2846_tree;
    pANTLR3_BASE_TREE ACTION_SYMBOL2847_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RESTRICT_SYMBOL2842       = NULL;
    CASCADE_SYMBOL2843       = NULL;
    SET_SYMBOL2844       = NULL;
    NO_SYMBOL2846       = NULL;
    ACTION_SYMBOL2847       = NULL;
    null_literal2845.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RESTRICT_SYMBOL2842_tree   = NULL;
    CASCADE_SYMBOL2843_tree   = NULL;
    SET_SYMBOL2844_tree   = NULL;
    NO_SYMBOL2846_tree   = NULL;
    ACTION_SYMBOL2847_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2654:17: ( RESTRICT_SYMBOL | CASCADE_SYMBOL | SET_SYMBOL null_literal | NO_SYMBOL ACTION_SYMBOL )

            ANTLR3_UINT32 alt785;

            alt785=4;

            switch ( LA(1) )
            {
            case RESTRICT_SYMBOL:
            	{
            		alt785=1;
            	}
                break;
            case CASCADE_SYMBOL:
            	{
            		alt785=2;
            	}
                break;
            case SET_SYMBOL:
            	{
            		alt785=3;
            	}
                break;
            case NO_SYMBOL:
            	{
            		alt785=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 785;
                EXCEPTION->state        = 0;


                goto rulereference_optionEx;

            }

            switch (alt785)
            {
        	case 1:
        	    // MySQL.g:2655:2: RESTRICT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RESTRICT_SYMBOL2842 = (pANTLR3_COMMON_TOKEN) MATCHT(RESTRICT_SYMBOL, &FOLLOW_RESTRICT_SYMBOL_in_reference_option14821);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESTRICT_SYMBOL2842_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESTRICT_SYMBOL2842));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RESTRICT_SYMBOL2842_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2655:20: CASCADE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CASCADE_SYMBOL2843 = (pANTLR3_COMMON_TOKEN) MATCHT(CASCADE_SYMBOL, &FOLLOW_CASCADE_SYMBOL_in_reference_option14825);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CASCADE_SYMBOL2843_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASCADE_SYMBOL2843));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CASCADE_SYMBOL2843_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2655:37: SET_SYMBOL null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL2844 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_reference_option14829);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2844_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2844));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2844_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_null_literal_in_reference_option14831);
        	        null_literal2845=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal2845.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2655:63: NO_SYMBOL ACTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_SYMBOL2846 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_reference_option14835);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_SYMBOL2846_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL2846));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL2846_tree);
        	        }

        	        ACTION_SYMBOL2847 = (pANTLR3_COMMON_TOKEN) MATCHT(ACTION_SYMBOL, &FOLLOW_ACTION_SYMBOL_in_reference_option14837);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ACTION_SYMBOL2847_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ACTION_SYMBOL2847));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ACTION_SYMBOL2847_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulereference_optionEx; /* Prevent compiler warnings */
    rulereference_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end reference_option */

/**
 * $ANTLR start data_type
 * MySQL.g:2658:1: data_type : data_type_elements -> ^( DATA_TYPE_TOKEN data_type_elements ) ;
 */
static MySQLParser_data_type_return
data_type(pMySQLParser ctx)
{
    MySQLParser_data_type_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_data_type_elements_return data_type_elements2848;
    #undef	RETURN_TYPE_data_type_elements2848
    #define	RETURN_TYPE_data_type_elements2848 MySQLParser_data_type_elements_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_data_type_elements;
    /* Initialize rule variables
     */

    root_0 = NULL;

    data_type_elements2848.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_data_type_elements   = NULL;
    #define CREATE_stream_data_type_elements  if (stream_data_type_elements == NULL) {stream_data_type_elements = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule data_type_elements"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2658:10: ( data_type_elements -> ^( DATA_TYPE_TOKEN data_type_elements ) )
        // MySQL.g:2659:2: data_type_elements
        {
            FOLLOWPUSH(FOLLOW_data_type_elements_in_data_type14846);
            data_type_elements2848=data_type_elements(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledata_typeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_data_type_elements; stream_data_type_elements->add(stream_data_type_elements, data_type_elements2848.tree, NULL); }

            /* AST REWRITE
             * elements          : data_type_elements
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2659:21: -> ^( DATA_TYPE_TOKEN data_type_elements )
            	{
            	    // MySQL.g:2659:24: ^( DATA_TYPE_TOKEN data_type_elements )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, DATA_TYPE_TOKEN, (pANTLR3_UINT8)"DATA_TYPE_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_data_type_elements == NULL ? NULL : stream_data_type_elements->nextTree(stream_data_type_elements));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruledata_typeEx; /* Prevent compiler warnings */
    ruledata_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_data_type_elements != NULL) stream_data_type_elements->free(stream_data_type_elements);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end data_type */

/**
 * $ANTLR start data_type_definition
 * MySQL.g:2662:1: data_type_definition : data_type_elements EOF ;
 */
static MySQLParser_data_type_definition_return
data_type_definition(pMySQLParser ctx)
{
    MySQLParser_data_type_definition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EOF2850;
    MySQLParser_data_type_elements_return data_type_elements2849;
    #undef	RETURN_TYPE_data_type_elements2849
    #define	RETURN_TYPE_data_type_elements2849 MySQLParser_data_type_elements_return

    pANTLR3_BASE_TREE EOF2850_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EOF2850       = NULL;
    data_type_elements2849.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EOF2850_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2662:21: ( data_type_elements EOF )
        // MySQL.g:2663:2: data_type_elements EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_data_type_elements_in_data_type_definition14864);
            data_type_elements2849=data_type_elements(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledata_type_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type_elements2849.tree);

            EOF2850 = (pANTLR3_COMMON_TOKEN) MATCHT(EOF, &FOLLOW_EOF_in_data_type_definition14866);
            if  (HASEXCEPTION())
            {
                goto ruledata_type_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EOF2850_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EOF2850));
            ADAPTOR->addChild(ADAPTOR, root_0, EOF2850_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledata_type_definitionEx; /* Prevent compiler warnings */
    ruledata_type_definitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end data_type_definition */

/**
 * $ANTLR start data_type_elements
 * MySQL.g:2666:1: data_type_elements : ( integer_type ( field_length )? ( field_options )? | real_literal ( precision )? ( field_options )? | FLOAT_SYMBOL ( float_options )? ( field_options )? | BIT_SYMBOL ( field_length )? | BOOL_SYMBOL | BOOLEAN_SYMBOL | CHAR_SYMBOL ( field_length )? ( string_binary )? | nchar_literal ( field_length )? ( BINARY_SYMBOL )? | BINARY_SYMBOL ( field_length )? | varchar_literal field_length ( string_binary )? | nvarchar_literal field_length ( BINARY_SYMBOL )? | VARBINARY_SYMBOL field_length | YEAR_SYMBOL ( field_length )? ( field_options )? | DATE_SYMBOL | TIME_SYMBOL ( type_datetime_precision )? | TIMESTAMP_SYMBOL ( type_datetime_precision )? | DATETIME_SYMBOL ( type_datetime_precision )? | TINYBLOB_SYMBOL | BLOB_SYMBOL ( field_length )? | MEDIUMBLOB_SYMBOL | LONGBLOB_SYMBOL | LONG_SYMBOL VARBINARY_SYMBOL | LONG_SYMBOL ( varchar_literal )? ( string_binary )? | TINYTEXT_SYMBOL ( string_binary )? | TEXT_SYMBOL ( field_length )? ( string_binary )? | MEDIUMTEXT_SYMBOL ( string_binary )? | LONGTEXT_SYMBOL ( string_binary )? | DECIMAL_SYMBOL ( float_options )? ( field_options )? | NUMERIC_SYMBOL ( float_options )? ( field_options )? | FIXED_SYMBOL ( float_options )? ( field_options )? | ENUM_SYMBOL string_list ( string_binary )? | SET_SYMBOL string_list ( string_binary )? | SERIAL_SYMBOL | spatial_type );
 */
static MySQLParser_data_type_elements_return
data_type_elements(pMySQLParser ctx)
{
    MySQLParser_data_type_elements_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FLOAT_SYMBOL2857;
    pANTLR3_COMMON_TOKEN    BIT_SYMBOL2860;
    pANTLR3_COMMON_TOKEN    BOOL_SYMBOL2862;
    pANTLR3_COMMON_TOKEN    BOOLEAN_SYMBOL2863;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2864;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2869;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2870;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2877;
    pANTLR3_COMMON_TOKEN    VARBINARY_SYMBOL2878;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2880;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2883;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2884;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL2886;
    pANTLR3_COMMON_TOKEN    DATETIME_SYMBOL2888;
    pANTLR3_COMMON_TOKEN    TINYBLOB_SYMBOL2890;
    pANTLR3_COMMON_TOKEN    BLOB_SYMBOL2891;
    pANTLR3_COMMON_TOKEN    MEDIUMBLOB_SYMBOL2893;
    pANTLR3_COMMON_TOKEN    LONGBLOB_SYMBOL2894;
    pANTLR3_COMMON_TOKEN    LONG_SYMBOL2895;
    pANTLR3_COMMON_TOKEN    VARBINARY_SYMBOL2896;
    pANTLR3_COMMON_TOKEN    LONG_SYMBOL2897;
    pANTLR3_COMMON_TOKEN    TINYTEXT_SYMBOL2900;
    pANTLR3_COMMON_TOKEN    TEXT_SYMBOL2902;
    pANTLR3_COMMON_TOKEN    MEDIUMTEXT_SYMBOL2905;
    pANTLR3_COMMON_TOKEN    LONGTEXT_SYMBOL2907;
    pANTLR3_COMMON_TOKEN    DECIMAL_SYMBOL2909;
    pANTLR3_COMMON_TOKEN    NUMERIC_SYMBOL2912;
    pANTLR3_COMMON_TOKEN    FIXED_SYMBOL2915;
    pANTLR3_COMMON_TOKEN    ENUM_SYMBOL2918;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2921;
    pANTLR3_COMMON_TOKEN    SERIAL_SYMBOL2924;
    MySQLParser_integer_type_return integer_type2851;
    #undef	RETURN_TYPE_integer_type2851
    #define	RETURN_TYPE_integer_type2851 MySQLParser_integer_type_return

    MySQLParser_field_length_return field_length2852;
    #undef	RETURN_TYPE_field_length2852
    #define	RETURN_TYPE_field_length2852 MySQLParser_field_length_return

    MySQLParser_field_options_return field_options2853;
    #undef	RETURN_TYPE_field_options2853
    #define	RETURN_TYPE_field_options2853 MySQLParser_field_options_return

    MySQLParser_real_literal_return real_literal2854;
    #undef	RETURN_TYPE_real_literal2854
    #define	RETURN_TYPE_real_literal2854 MySQLParser_real_literal_return

    MySQLParser_precision_return precision2855;
    #undef	RETURN_TYPE_precision2855
    #define	RETURN_TYPE_precision2855 MySQLParser_precision_return

    MySQLParser_field_options_return field_options2856;
    #undef	RETURN_TYPE_field_options2856
    #define	RETURN_TYPE_field_options2856 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2858;
    #undef	RETURN_TYPE_float_options2858
    #define	RETURN_TYPE_float_options2858 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2859;
    #undef	RETURN_TYPE_field_options2859
    #define	RETURN_TYPE_field_options2859 MySQLParser_field_options_return

    MySQLParser_field_length_return field_length2861;
    #undef	RETURN_TYPE_field_length2861
    #define	RETURN_TYPE_field_length2861 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2865;
    #undef	RETURN_TYPE_field_length2865
    #define	RETURN_TYPE_field_length2865 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2866;
    #undef	RETURN_TYPE_string_binary2866
    #define	RETURN_TYPE_string_binary2866 MySQLParser_string_binary_return

    MySQLParser_nchar_literal_return nchar_literal2867;
    #undef	RETURN_TYPE_nchar_literal2867
    #define	RETURN_TYPE_nchar_literal2867 MySQLParser_nchar_literal_return

    MySQLParser_field_length_return field_length2868;
    #undef	RETURN_TYPE_field_length2868
    #define	RETURN_TYPE_field_length2868 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2871;
    #undef	RETURN_TYPE_field_length2871
    #define	RETURN_TYPE_field_length2871 MySQLParser_field_length_return

    MySQLParser_varchar_literal_return varchar_literal2872;
    #undef	RETURN_TYPE_varchar_literal2872
    #define	RETURN_TYPE_varchar_literal2872 MySQLParser_varchar_literal_return

    MySQLParser_field_length_return field_length2873;
    #undef	RETURN_TYPE_field_length2873
    #define	RETURN_TYPE_field_length2873 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2874;
    #undef	RETURN_TYPE_string_binary2874
    #define	RETURN_TYPE_string_binary2874 MySQLParser_string_binary_return

    MySQLParser_nvarchar_literal_return nvarchar_literal2875;
    #undef	RETURN_TYPE_nvarchar_literal2875
    #define	RETURN_TYPE_nvarchar_literal2875 MySQLParser_nvarchar_literal_return

    MySQLParser_field_length_return field_length2876;
    #undef	RETURN_TYPE_field_length2876
    #define	RETURN_TYPE_field_length2876 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2879;
    #undef	RETURN_TYPE_field_length2879
    #define	RETURN_TYPE_field_length2879 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2881;
    #undef	RETURN_TYPE_field_length2881
    #define	RETURN_TYPE_field_length2881 MySQLParser_field_length_return

    MySQLParser_field_options_return field_options2882;
    #undef	RETURN_TYPE_field_options2882
    #define	RETURN_TYPE_field_options2882 MySQLParser_field_options_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2885;
    #undef	RETURN_TYPE_type_datetime_precision2885
    #define	RETURN_TYPE_type_datetime_precision2885 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2887;
    #undef	RETURN_TYPE_type_datetime_precision2887
    #define	RETURN_TYPE_type_datetime_precision2887 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2889;
    #undef	RETURN_TYPE_type_datetime_precision2889
    #define	RETURN_TYPE_type_datetime_precision2889 MySQLParser_type_datetime_precision_return

    MySQLParser_field_length_return field_length2892;
    #undef	RETURN_TYPE_field_length2892
    #define	RETURN_TYPE_field_length2892 MySQLParser_field_length_return

    MySQLParser_varchar_literal_return varchar_literal2898;
    #undef	RETURN_TYPE_varchar_literal2898
    #define	RETURN_TYPE_varchar_literal2898 MySQLParser_varchar_literal_return

    MySQLParser_string_binary_return string_binary2899;
    #undef	RETURN_TYPE_string_binary2899
    #define	RETURN_TYPE_string_binary2899 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2901;
    #undef	RETURN_TYPE_string_binary2901
    #define	RETURN_TYPE_string_binary2901 MySQLParser_string_binary_return

    MySQLParser_field_length_return field_length2903;
    #undef	RETURN_TYPE_field_length2903
    #define	RETURN_TYPE_field_length2903 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2904;
    #undef	RETURN_TYPE_string_binary2904
    #define	RETURN_TYPE_string_binary2904 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2906;
    #undef	RETURN_TYPE_string_binary2906
    #define	RETURN_TYPE_string_binary2906 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2908;
    #undef	RETURN_TYPE_string_binary2908
    #define	RETURN_TYPE_string_binary2908 MySQLParser_string_binary_return

    MySQLParser_float_options_return float_options2910;
    #undef	RETURN_TYPE_float_options2910
    #define	RETURN_TYPE_float_options2910 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2911;
    #undef	RETURN_TYPE_field_options2911
    #define	RETURN_TYPE_field_options2911 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2913;
    #undef	RETURN_TYPE_float_options2913
    #define	RETURN_TYPE_float_options2913 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2914;
    #undef	RETURN_TYPE_field_options2914
    #define	RETURN_TYPE_field_options2914 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2916;
    #undef	RETURN_TYPE_float_options2916
    #define	RETURN_TYPE_float_options2916 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2917;
    #undef	RETURN_TYPE_field_options2917
    #define	RETURN_TYPE_field_options2917 MySQLParser_field_options_return

    MySQLParser_string_list_return string_list2919;
    #undef	RETURN_TYPE_string_list2919
    #define	RETURN_TYPE_string_list2919 MySQLParser_string_list_return

    MySQLParser_string_binary_return string_binary2920;
    #undef	RETURN_TYPE_string_binary2920
    #define	RETURN_TYPE_string_binary2920 MySQLParser_string_binary_return

    MySQLParser_string_list_return string_list2922;
    #undef	RETURN_TYPE_string_list2922
    #define	RETURN_TYPE_string_list2922 MySQLParser_string_list_return

    MySQLParser_string_binary_return string_binary2923;
    #undef	RETURN_TYPE_string_binary2923
    #define	RETURN_TYPE_string_binary2923 MySQLParser_string_binary_return

    MySQLParser_spatial_type_return spatial_type2925;
    #undef	RETURN_TYPE_spatial_type2925
    #define	RETURN_TYPE_spatial_type2925 MySQLParser_spatial_type_return

    pANTLR3_BASE_TREE FLOAT_SYMBOL2857_tree;
    pANTLR3_BASE_TREE BIT_SYMBOL2860_tree;
    pANTLR3_BASE_TREE BOOL_SYMBOL2862_tree;
    pANTLR3_BASE_TREE BOOLEAN_SYMBOL2863_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2864_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2869_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2870_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2877_tree;
    pANTLR3_BASE_TREE VARBINARY_SYMBOL2878_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2880_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2883_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2884_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL2886_tree;
    pANTLR3_BASE_TREE DATETIME_SYMBOL2888_tree;
    pANTLR3_BASE_TREE TINYBLOB_SYMBOL2890_tree;
    pANTLR3_BASE_TREE BLOB_SYMBOL2891_tree;
    pANTLR3_BASE_TREE MEDIUMBLOB_SYMBOL2893_tree;
    pANTLR3_BASE_TREE LONGBLOB_SYMBOL2894_tree;
    pANTLR3_BASE_TREE LONG_SYMBOL2895_tree;
    pANTLR3_BASE_TREE VARBINARY_SYMBOL2896_tree;
    pANTLR3_BASE_TREE LONG_SYMBOL2897_tree;
    pANTLR3_BASE_TREE TINYTEXT_SYMBOL2900_tree;
    pANTLR3_BASE_TREE TEXT_SYMBOL2902_tree;
    pANTLR3_BASE_TREE MEDIUMTEXT_SYMBOL2905_tree;
    pANTLR3_BASE_TREE LONGTEXT_SYMBOL2907_tree;
    pANTLR3_BASE_TREE DECIMAL_SYMBOL2909_tree;
    pANTLR3_BASE_TREE NUMERIC_SYMBOL2912_tree;
    pANTLR3_BASE_TREE FIXED_SYMBOL2915_tree;
    pANTLR3_BASE_TREE ENUM_SYMBOL2918_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2921_tree;
    pANTLR3_BASE_TREE SERIAL_SYMBOL2924_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FLOAT_SYMBOL2857       = NULL;
    BIT_SYMBOL2860       = NULL;
    BOOL_SYMBOL2862       = NULL;
    BOOLEAN_SYMBOL2863       = NULL;
    CHAR_SYMBOL2864       = NULL;
    BINARY_SYMBOL2869       = NULL;
    BINARY_SYMBOL2870       = NULL;
    BINARY_SYMBOL2877       = NULL;
    VARBINARY_SYMBOL2878       = NULL;
    YEAR_SYMBOL2880       = NULL;
    DATE_SYMBOL2883       = NULL;
    TIME_SYMBOL2884       = NULL;
    TIMESTAMP_SYMBOL2886       = NULL;
    DATETIME_SYMBOL2888       = NULL;
    TINYBLOB_SYMBOL2890       = NULL;
    BLOB_SYMBOL2891       = NULL;
    MEDIUMBLOB_SYMBOL2893       = NULL;
    LONGBLOB_SYMBOL2894       = NULL;
    LONG_SYMBOL2895       = NULL;
    VARBINARY_SYMBOL2896       = NULL;
    LONG_SYMBOL2897       = NULL;
    TINYTEXT_SYMBOL2900       = NULL;
    TEXT_SYMBOL2902       = NULL;
    MEDIUMTEXT_SYMBOL2905       = NULL;
    LONGTEXT_SYMBOL2907       = NULL;
    DECIMAL_SYMBOL2909       = NULL;
    NUMERIC_SYMBOL2912       = NULL;
    FIXED_SYMBOL2915       = NULL;
    ENUM_SYMBOL2918       = NULL;
    SET_SYMBOL2921       = NULL;
    SERIAL_SYMBOL2924       = NULL;
    integer_type2851.tree = NULL;

    field_length2852.tree = NULL;

    field_options2853.tree = NULL;

    real_literal2854.tree = NULL;

    precision2855.tree = NULL;

    field_options2856.tree = NULL;

    float_options2858.tree = NULL;

    field_options2859.tree = NULL;

    field_length2861.tree = NULL;

    field_length2865.tree = NULL;

    string_binary2866.tree = NULL;

    nchar_literal2867.tree = NULL;

    field_length2868.tree = NULL;

    field_length2871.tree = NULL;

    varchar_literal2872.tree = NULL;

    field_length2873.tree = NULL;

    string_binary2874.tree = NULL;

    nvarchar_literal2875.tree = NULL;

    field_length2876.tree = NULL;

    field_length2879.tree = NULL;

    field_length2881.tree = NULL;

    field_options2882.tree = NULL;

    type_datetime_precision2885.tree = NULL;

    type_datetime_precision2887.tree = NULL;

    type_datetime_precision2889.tree = NULL;

    field_length2892.tree = NULL;

    varchar_literal2898.tree = NULL;

    string_binary2899.tree = NULL;

    string_binary2901.tree = NULL;

    field_length2903.tree = NULL;

    string_binary2904.tree = NULL;

    string_binary2906.tree = NULL;

    string_binary2908.tree = NULL;

    float_options2910.tree = NULL;

    field_options2911.tree = NULL;

    float_options2913.tree = NULL;

    field_options2914.tree = NULL;

    float_options2916.tree = NULL;

    field_options2917.tree = NULL;

    string_list2919.tree = NULL;

    string_binary2920.tree = NULL;

    string_list2922.tree = NULL;

    string_binary2923.tree = NULL;

    spatial_type2925.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FLOAT_SYMBOL2857_tree   = NULL;
    BIT_SYMBOL2860_tree   = NULL;
    BOOL_SYMBOL2862_tree   = NULL;
    BOOLEAN_SYMBOL2863_tree   = NULL;
    CHAR_SYMBOL2864_tree   = NULL;
    BINARY_SYMBOL2869_tree   = NULL;
    BINARY_SYMBOL2870_tree   = NULL;
    BINARY_SYMBOL2877_tree   = NULL;
    VARBINARY_SYMBOL2878_tree   = NULL;
    YEAR_SYMBOL2880_tree   = NULL;
    DATE_SYMBOL2883_tree   = NULL;
    TIME_SYMBOL2884_tree   = NULL;
    TIMESTAMP_SYMBOL2886_tree   = NULL;
    DATETIME_SYMBOL2888_tree   = NULL;
    TINYBLOB_SYMBOL2890_tree   = NULL;
    BLOB_SYMBOL2891_tree   = NULL;
    MEDIUMBLOB_SYMBOL2893_tree   = NULL;
    LONGBLOB_SYMBOL2894_tree   = NULL;
    LONG_SYMBOL2895_tree   = NULL;
    VARBINARY_SYMBOL2896_tree   = NULL;
    LONG_SYMBOL2897_tree   = NULL;
    TINYTEXT_SYMBOL2900_tree   = NULL;
    TEXT_SYMBOL2902_tree   = NULL;
    MEDIUMTEXT_SYMBOL2905_tree   = NULL;
    LONGTEXT_SYMBOL2907_tree   = NULL;
    DECIMAL_SYMBOL2909_tree   = NULL;
    NUMERIC_SYMBOL2912_tree   = NULL;
    FIXED_SYMBOL2915_tree   = NULL;
    ENUM_SYMBOL2918_tree   = NULL;
    SET_SYMBOL2921_tree   = NULL;
    SERIAL_SYMBOL2924_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2666:19: ( integer_type ( field_length )? ( field_options )? | real_literal ( precision )? ( field_options )? | FLOAT_SYMBOL ( float_options )? ( field_options )? | BIT_SYMBOL ( field_length )? | BOOL_SYMBOL | BOOLEAN_SYMBOL | CHAR_SYMBOL ( field_length )? ( string_binary )? | nchar_literal ( field_length )? ( BINARY_SYMBOL )? | BINARY_SYMBOL ( field_length )? | varchar_literal field_length ( string_binary )? | nvarchar_literal field_length ( BINARY_SYMBOL )? | VARBINARY_SYMBOL field_length | YEAR_SYMBOL ( field_length )? ( field_options )? | DATE_SYMBOL | TIME_SYMBOL ( type_datetime_precision )? | TIMESTAMP_SYMBOL ( type_datetime_precision )? | DATETIME_SYMBOL ( type_datetime_precision )? | TINYBLOB_SYMBOL | BLOB_SYMBOL ( field_length )? | MEDIUMBLOB_SYMBOL | LONGBLOB_SYMBOL | LONG_SYMBOL VARBINARY_SYMBOL | LONG_SYMBOL ( varchar_literal )? ( string_binary )? | TINYTEXT_SYMBOL ( string_binary )? | TEXT_SYMBOL ( field_length )? ( string_binary )? | MEDIUMTEXT_SYMBOL ( string_binary )? | LONGTEXT_SYMBOL ( string_binary )? | DECIMAL_SYMBOL ( float_options )? ( field_options )? | NUMERIC_SYMBOL ( float_options )? ( field_options )? | FIXED_SYMBOL ( float_options )? ( field_options )? | ENUM_SYMBOL string_list ( string_binary )? | SET_SYMBOL string_list ( string_binary )? | SERIAL_SYMBOL | spatial_type )

            ANTLR3_UINT32 alt821;

            alt821=34;

            {
                int LA821_0 = LA(1);
                if ( (LA821_0 == BIGINT_SYMBOL || LA821_0 == INT_SYMBOL || LA821_0 == MEDIUMINT_SYMBOL || LA821_0 == SMALLINT_SYMBOL || LA821_0 == TINYINT_SYMBOL))
                {
                    alt821=1;
                }
                else if ( (LA821_0 == DOUBLE_SYMBOL || LA821_0 == REAL_SYMBOL))
                {
                    alt821=2;
                }
                else if ( (LA821_0 == FLOAT_SYMBOL))
                {
                    alt821=3;
                }
                else if ( (LA821_0 == BIT_SYMBOL))
                {
                    alt821=4;
                }
                else if ( (LA821_0 == BOOL_SYMBOL))
                {
                    alt821=5;
                }
                else if ( (LA821_0 == BOOLEAN_SYMBOL))
                {
                    alt821=6;
                }
                else if ( (LA821_0 == CHAR_SYMBOL))
                {
                    {
                        int LA821_8 = LA(2);
                        if ( (LA821_8 == VARYING_SYMBOL))
                        {
                            alt821=10;
                        }
                        else if ( (LA821_8 == EOF || ((LA821_8 >= ASCII_SYMBOL) && (LA821_8 <= DO_SYMBOL)) || ((LA821_8 >= EXECUTE_SYMBOL) && (LA821_8 <= FLUSH_SYMBOL)) || ((LA821_8 >= HANDLER_SYMBOL) && (LA821_8 <= HELP_SYMBOL)) || ((LA821_8 >= INSTALL_SYMBOL) && (LA821_8 <= OPEN_SYMBOL)) || LA821_8 == PARTITION_SYMBOL || ((LA821_8 >= PREPARE_SYMBOL) && (LA821_8 <= SAVEPOINT_SYMBOL)) || ((LA821_8 >= START_SYMBOL) && (LA821_8 <= UNINSTALL_SYMBOL)) || ((LA821_8 >= XA_SYMBOL) && (LA821_8 <= YEAR_SYMBOL)) || LA821_8 == ALTER_SYMBOL || LA821_8 == BACK_TICK_QUOTED_ID || LA821_8 == BINARY_SYMBOL || LA821_8 == CALL_SYMBOL || LA821_8 == CASE_SYMBOL || LA821_8 == CHANGE_SYMBOL || ((LA821_8 >= CHAR_SYMBOL) && (LA821_8 <= CHECK_SYMBOL)) || ((LA821_8 >= CLOSE_PAR_SYMBOL) && (LA821_8 <= COLLATE_SYMBOL)) || LA821_8 == COMMA_SYMBOL || LA821_8 == CREATE_SYMBOL || LA821_8 == DEFAULT_SYMBOL || ((LA821_8 >= DELETE_SYMBOL) && (LA821_8 <= DETERMINISTIC_SYMBOL)) || LA821_8 == DOUBLE_QUOTED_TEXT || LA821_8 == DROP_SYMBOL || LA821_8 == FETCH_SYMBOL || ((LA821_8 >= GET_SYMBOL) && (LA821_8 <= GRANT_SYMBOL)) || ((LA821_8 >= IDENTIFIER) && (LA821_8 <= IF_SYMBOL)) || LA821_8 == INSERT_SYMBOL || LA821_8 == ITERATE_SYMBOL || ((LA821_8 >= KEY_SYMBOL) && (LA821_8 <= KILL_SYMBOL)) || LA821_8 == LEAVE_SYMBOL || LA821_8 == LOAD_SYMBOL || LA821_8 == LOCK_SYMBOL || LA821_8 == LOOP_SYMBOL || LA821_8 == MODIFIES_SYMBOL || LA821_8 == NOT_SYMBOL || LA821_8 == NULL2_SYMBOL || LA821_8 == NULL_SYMBOL || LA821_8 == ON_SYMBOL || LA821_8 == OPEN_PAR_SYMBOL || LA821_8 == OPTIMIZE_SYMBOL || LA821_8 == PRIMARY_SYMBOL || LA821_8 == PURGE_SYMBOL || LA821_8 == READS_SYMBOL || LA821_8 == REFERENCES_SYMBOL || ((LA821_8 >= RELEASE_SYMBOL) && (LA821_8 <= REPLACE_SYMBOL)) || LA821_8 == RESIGNAL_SYMBOL || ((LA821_8 >= RETURN_SYMBOL) && (LA821_8 <= REVOKE_SYMBOL)) || ((LA821_8 >= SELECT_SYMBOL) && (LA821_8 <= SEMICOLON_SYMBOL)) || LA821_8 == SET_SYMBOL || ((LA821_8 >= SHOW_SYMBOL) && (LA821_8 <= SIGNAL_SYMBOL)) || LA821_8 == SQL_SYMBOL || ((LA821_8 >= UNIQUE_SYMBOL) && (LA821_8 <= UNLOCK_SYMBOL)) || LA821_8 == UPDATE_SYMBOL || LA821_8 == USE_SYMBOL || LA821_8 == WHILE_SYMBOL))
                        {
                            alt821=7;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 821;
                            EXCEPTION->state        = 8;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA821_0 == NCHAR_SYMBOL))
                {
                    {
                        int LA821_9 = LA(2);
                        if ( (LA821_9 == VARCHAR_SYMBOL || LA821_9 == VARYING_SYMBOL))
                        {
                            alt821=11;
                        }
                        else if ( (LA821_9 == EOF || ((LA821_9 >= BACKUP_SYMBOL) && (LA821_9 <= BEGIN_SYMBOL)) || LA821_9 == CACHE_SYMBOL || ((LA821_9 >= CHECKSUM_SYMBOL) && (LA821_9 <= DO_SYMBOL)) || ((LA821_9 >= EXECUTE_SYMBOL) && (LA821_9 <= FLUSH_SYMBOL)) || ((LA821_9 >= HANDLER_SYMBOL) && (LA821_9 <= HELP_SYMBOL)) || ((LA821_9 >= INSTALL_SYMBOL) && (LA821_9 <= OPEN_SYMBOL)) || LA821_9 == PARTITION_SYMBOL || ((LA821_9 >= PREPARE_SYMBOL) && (LA821_9 <= SAVEPOINT_SYMBOL)) || ((LA821_9 >= START_SYMBOL) && (LA821_9 <= TRUNCATE_SYMBOL)) || LA821_9 == UNINSTALL_SYMBOL || ((LA821_9 >= XA_SYMBOL) && (LA821_9 <= YEAR_SYMBOL)) || LA821_9 == ALTER_SYMBOL || LA821_9 == BACK_TICK_QUOTED_ID || LA821_9 == BINARY_SYMBOL || LA821_9 == CALL_SYMBOL || LA821_9 == CASE_SYMBOL || LA821_9 == CHANGE_SYMBOL || LA821_9 == CHECK_SYMBOL || ((LA821_9 >= CLOSE_PAR_SYMBOL) && (LA821_9 <= COLLATE_SYMBOL)) || LA821_9 == COMMA_SYMBOL || LA821_9 == CREATE_SYMBOL || LA821_9 == DEFAULT_SYMBOL || ((LA821_9 >= DELETE_SYMBOL) && (LA821_9 <= DETERMINISTIC_SYMBOL)) || LA821_9 == DOUBLE_QUOTED_TEXT || LA821_9 == DROP_SYMBOL || LA821_9 == FETCH_SYMBOL || ((LA821_9 >= GET_SYMBOL) && (LA821_9 <= GRANT_SYMBOL)) || ((LA821_9 >= IDENTIFIER) && (LA821_9 <= IF_SYMBOL)) || LA821_9 == INSERT_SYMBOL || LA821_9 == ITERATE_SYMBOL || ((LA821_9 >= KEY_SYMBOL) && (LA821_9 <= KILL_SYMBOL)) || LA821_9 == LEAVE_SYMBOL || LA821_9 == LOAD_SYMBOL || LA821_9 == LOCK_SYMBOL || LA821_9 == LOOP_SYMBOL || LA821_9 == MODIFIES_SYMBOL || LA821_9 == NOT_SYMBOL || LA821_9 == NULL2_SYMBOL || LA821_9 == NULL_SYMBOL || LA821_9 == ON_SYMBOL || LA821_9 == OPEN_PAR_SYMBOL || LA821_9 == OPTIMIZE_SYMBOL || LA821_9 == PRIMARY_SYMBOL || LA821_9 == PURGE_SYMBOL || LA821_9 == READS_SYMBOL || LA821_9 == REFERENCES_SYMBOL || ((LA821_9 >= RELEASE_SYMBOL) && (LA821_9 <= REPLACE_SYMBOL)) || LA821_9 == RESIGNAL_SYMBOL || ((LA821_9 >= RETURN_SYMBOL) && (LA821_9 <= REVOKE_SYMBOL)) || ((LA821_9 >= SELECT_SYMBOL) && (LA821_9 <= SEMICOLON_SYMBOL)) || LA821_9 == SET_SYMBOL || ((LA821_9 >= SHOW_SYMBOL) && (LA821_9 <= SIGNAL_SYMBOL)) || LA821_9 == SQL_SYMBOL || ((LA821_9 >= UNIQUE_SYMBOL) && (LA821_9 <= UNLOCK_SYMBOL)) || LA821_9 == UPDATE_SYMBOL || LA821_9 == USE_SYMBOL || LA821_9 == WHILE_SYMBOL))
                        {
                            alt821=8;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 821;
                            EXCEPTION->state        = 9;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA821_0 == NATIONAL_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case CHAR_SYMBOL:
                    	{
                    		{
                    		    int LA821_244 = LA(3);
                    		    if ( ((LA(3) != VARYING_SYMBOL)))
                    		    {
                    		        alt821=8;
                    		    }
                    		    else if ( (ANTLR3_TRUE))
                    		    {
                    		        alt821=11;
                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 821;
                    		        EXCEPTION->state        = 244;


                    		        goto ruledata_type_elementsEx;

                    		    }
                    		}
                    	}
                        break;
                    case VARCHAR_SYMBOL:
                    	{
                    		alt821=11;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 821;
                        EXCEPTION->state        = 10;


                        goto ruledata_type_elementsEx;

                    }

                }
                else if ( (LA821_0 == BINARY_SYMBOL))
                {
                    alt821=9;
                }
                else if ( (LA821_0 == VARCHAR_SYMBOL))
                {
                    alt821=10;
                }
                else if ( (LA821_0 == NVARCHAR_SYMBOL))
                {
                    alt821=11;
                }
                else if ( (LA821_0 == VARBINARY_SYMBOL))
                {
                    alt821=12;
                }
                else if ( (LA821_0 == YEAR_SYMBOL))
                {
                    alt821=13;
                }
                else if ( (LA821_0 == DATE_SYMBOL))
                {
                    alt821=14;
                }
                else if ( (LA821_0 == TIME_SYMBOL))
                {
                    alt821=15;
                }
                else if ( (LA821_0 == TIMESTAMP_SYMBOL))
                {
                    alt821=16;
                }
                else if ( (LA821_0 == DATETIME_SYMBOL))
                {
                    alt821=17;
                }
                else if ( (LA821_0 == TINYBLOB_SYMBOL))
                {
                    alt821=18;
                }
                else if ( (LA821_0 == BLOB_SYMBOL))
                {
                    alt821=19;
                }
                else if ( (LA821_0 == MEDIUMBLOB_SYMBOL))
                {
                    alt821=20;
                }
                else if ( (LA821_0 == LONGBLOB_SYMBOL))
                {
                    alt821=21;
                }
                else if ( (LA821_0 == LONG_SYMBOL))
                {
                    {
                        int LA821_24 = LA(2);
                        if ( (LA821_24 == VARBINARY_SYMBOL))
                        {
                            alt821=22;
                        }
                        else if ( (LA821_24 == EOF || ((LA821_24 >= ASCII_SYMBOL) && (LA821_24 <= DO_SYMBOL)) || ((LA821_24 >= EXECUTE_SYMBOL) && (LA821_24 <= FLUSH_SYMBOL)) || ((LA821_24 >= HANDLER_SYMBOL) && (LA821_24 <= HELP_SYMBOL)) || ((LA821_24 >= INSTALL_SYMBOL) && (LA821_24 <= OPEN_SYMBOL)) || LA821_24 == PARTITION_SYMBOL || ((LA821_24 >= PREPARE_SYMBOL) && (LA821_24 <= SAVEPOINT_SYMBOL)) || ((LA821_24 >= START_SYMBOL) && (LA821_24 <= UNINSTALL_SYMBOL)) || ((LA821_24 >= XA_SYMBOL) && (LA821_24 <= YEAR_SYMBOL)) || LA821_24 == ALTER_SYMBOL || LA821_24 == BACK_TICK_QUOTED_ID || LA821_24 == BINARY_SYMBOL || LA821_24 == CALL_SYMBOL || LA821_24 == CASE_SYMBOL || LA821_24 == CHANGE_SYMBOL || ((LA821_24 >= CHAR_SYMBOL) && (LA821_24 <= CHECK_SYMBOL)) || ((LA821_24 >= CLOSE_PAR_SYMBOL) && (LA821_24 <= COLLATE_SYMBOL)) || LA821_24 == COMMA_SYMBOL || LA821_24 == CREATE_SYMBOL || LA821_24 == DEFAULT_SYMBOL || ((LA821_24 >= DELETE_SYMBOL) && (LA821_24 <= DETERMINISTIC_SYMBOL)) || LA821_24 == DOUBLE_QUOTED_TEXT || LA821_24 == DROP_SYMBOL || LA821_24 == FETCH_SYMBOL || ((LA821_24 >= GET_SYMBOL) && (LA821_24 <= GRANT_SYMBOL)) || ((LA821_24 >= IDENTIFIER) && (LA821_24 <= IF_SYMBOL)) || LA821_24 == INSERT_SYMBOL || LA821_24 == ITERATE_SYMBOL || ((LA821_24 >= KEY_SYMBOL) && (LA821_24 <= KILL_SYMBOL)) || LA821_24 == LEAVE_SYMBOL || LA821_24 == LOAD_SYMBOL || LA821_24 == LOCK_SYMBOL || LA821_24 == LOOP_SYMBOL || LA821_24 == MODIFIES_SYMBOL || LA821_24 == NOT_SYMBOL || LA821_24 == NULL2_SYMBOL || LA821_24 == NULL_SYMBOL || LA821_24 == ON_SYMBOL || LA821_24 == OPEN_PAR_SYMBOL || LA821_24 == OPTIMIZE_SYMBOL || LA821_24 == PRIMARY_SYMBOL || LA821_24 == PURGE_SYMBOL || LA821_24 == READS_SYMBOL || LA821_24 == REFERENCES_SYMBOL || ((LA821_24 >= RELEASE_SYMBOL) && (LA821_24 <= REPLACE_SYMBOL)) || LA821_24 == RESIGNAL_SYMBOL || ((LA821_24 >= RETURN_SYMBOL) && (LA821_24 <= REVOKE_SYMBOL)) || ((LA821_24 >= SELECT_SYMBOL) && (LA821_24 <= SEMICOLON_SYMBOL)) || LA821_24 == SET_SYMBOL || ((LA821_24 >= SHOW_SYMBOL) && (LA821_24 <= SIGNAL_SYMBOL)) || LA821_24 == SQL_SYMBOL || ((LA821_24 >= UNIQUE_SYMBOL) && (LA821_24 <= UNLOCK_SYMBOL)) || LA821_24 == UPDATE_SYMBOL || LA821_24 == USE_SYMBOL || LA821_24 == VARCHAR_SYMBOL || LA821_24 == WHILE_SYMBOL))
                        {
                            alt821=23;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 821;
                            EXCEPTION->state        = 24;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA821_0 == TINYTEXT_SYMBOL))
                {
                    alt821=24;
                }
                else if ( (LA821_0 == TEXT_SYMBOL))
                {
                    alt821=25;
                }
                else if ( (LA821_0 == MEDIUMTEXT_SYMBOL))
                {
                    alt821=26;
                }
                else if ( (LA821_0 == LONGTEXT_SYMBOL))
                {
                    alt821=27;
                }
                else if ( (LA821_0 == DECIMAL_SYMBOL))
                {
                    alt821=28;
                }
                else if ( (LA821_0 == NUMERIC_SYMBOL))
                {
                    alt821=29;
                }
                else if ( (LA821_0 == FIXED_SYMBOL))
                {
                    alt821=30;
                }
                else if ( (LA821_0 == ENUM_SYMBOL))
                {
                    alt821=31;
                }
                else if ( (LA821_0 == SET_SYMBOL))
                {
                    alt821=32;
                }
                else if ( (LA821_0 == SERIAL_SYMBOL))
                {
                    alt821=33;
                }
                else if ( (((LA821_0 >= GEOMETRY_SYMBOL) && (LA821_0 <= GEOMETRYCOLLECTION_SYMBOL)) || LA821_0 == LINESTRING_SYMBOL || ((LA821_0 >= MULTILINESTRING_SYMBOL) && (LA821_0 <= MULTIPOLYGON_SYMBOL)) || ((LA821_0 >= POINT_SYMBOL) && (LA821_0 <= POLYGON_SYMBOL))))
                {
                    alt821=34;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 821;
                    EXCEPTION->state        = 0;


                    goto ruledata_type_elementsEx;

                }
            }
            switch (alt821)
            {
        	case 1:
        	    // MySQL.g:2667:2: integer_type ( field_length )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_integer_type_in_data_type_elements14875);
        	        integer_type2851=integer_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, integer_type2851.tree);

        	        // MySQL.g:2667:15: ( field_length )?
        	        {
        	            int alt786=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt786=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt786)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2667:15: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14877);
        	        	        field_length2852=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2852.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2667:29: ( field_options )?
        	        {
        	            int alt787=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt787=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt787)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2667:29: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements14880);
        	        	        field_options2853=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2853.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2669:4: real_literal ( precision )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_real_literal_in_data_type_elements14887);
        	        real_literal2854=real_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, real_literal2854.tree);

        	        // MySQL.g:2669:17: ( precision )?
        	        {
        	            int alt788=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt788=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt788)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2669:17: precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_precision_in_data_type_elements14889);
        	        	        precision2855=precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, precision2855.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2669:28: ( field_options )?
        	        {
        	            int alt789=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt789=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt789)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2669:28: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements14892);
        	        	        field_options2856=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2856.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2670:4: FLOAT_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FLOAT_SYMBOL2857 = (pANTLR3_COMMON_TOKEN) MATCHT(FLOAT_SYMBOL, &FOLLOW_FLOAT_SYMBOL_in_data_type_elements14898);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FLOAT_SYMBOL2857_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FLOAT_SYMBOL2857));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FLOAT_SYMBOL2857_tree);
        	        }

        	        // MySQL.g:2670:17: ( float_options )?
        	        {
        	            int alt790=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt790=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt790)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2670:17: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements14900);
        	        	        float_options2858=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2858.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2670:32: ( field_options )?
        	        {
        	            int alt791=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt791=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt791)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2670:32: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements14903);
        	        	        field_options2859=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2859.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2672:4: BIT_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_SYMBOL2860 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_SYMBOL, &FOLLOW_BIT_SYMBOL_in_data_type_elements14911);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_SYMBOL2860_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_SYMBOL2860));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_SYMBOL2860_tree);
        	        }

        	        // MySQL.g:2672:15: ( field_length )?
        	        {
        	            int alt792=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt792=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt792)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2672:15: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14913);
        	        	        field_length2861=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2861.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2673:4: BOOL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BOOL_SYMBOL2862 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOL_SYMBOL, &FOLLOW_BOOL_SYMBOL_in_data_type_elements14919);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BOOL_SYMBOL2862_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOL_SYMBOL2862));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BOOL_SYMBOL2862_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2674:4: BOOLEAN_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BOOLEAN_SYMBOL2863 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOLEAN_SYMBOL, &FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements14924);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BOOLEAN_SYMBOL2863_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOLEAN_SYMBOL2863));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BOOLEAN_SYMBOL2863_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2676:4: CHAR_SYMBOL ( field_length )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2864 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_data_type_elements14931);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2864_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2864));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2864_tree);
        	        }

        	        // MySQL.g:2676:16: ( field_length )?
        	        {
        	            int alt793=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt793=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt793)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2676:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14933);
        	        	        field_length2865=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2865.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2676:30: ( string_binary )?
        	        {
        	            int alt794=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt794=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt794)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2676:30: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements14936);
        	        	        string_binary2866=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2866.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2677:4: nchar_literal ( field_length )? ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_nchar_literal_in_data_type_elements14942);
        	        nchar_literal2867=nchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, nchar_literal2867.tree);

        	        // MySQL.g:2677:18: ( field_length )?
        	        {
        	            int alt795=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt795=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt795)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2677:18: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14944);
        	        	        field_length2868=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2868.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2677:32: ( BINARY_SYMBOL )?
        	        {
        	            int alt796=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt796=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt796)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2677:32: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2869 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements14947);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2869_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2869));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2869_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2678:4: BINARY_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2870 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements14953);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2870));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2870_tree);
        	        }

        	        // MySQL.g:2678:18: ( field_length )?
        	        {
        	            int alt797=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt797=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt797)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2678:18: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14955);
        	        	        field_length2871=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2871.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2679:4: varchar_literal field_length ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_varchar_literal_in_data_type_elements14961);
        	        varchar_literal2872=varchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, varchar_literal2872.tree);

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14963);
        	        field_length2873=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2873.tree);

        	        // MySQL.g:2679:33: ( string_binary )?
        	        {
        	            int alt798=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt798=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt798)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2679:33: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements14965);
        	        	        string_binary2874=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2874.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2680:4: nvarchar_literal field_length ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_nvarchar_literal_in_data_type_elements14971);
        	        nvarchar_literal2875=nvarchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, nvarchar_literal2875.tree);

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14973);
        	        field_length2876=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2876.tree);

        	        // MySQL.g:2680:34: ( BINARY_SYMBOL )?
        	        {
        	            int alt799=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt799=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt799)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2680:34: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2877 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements14975);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2877_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2877));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2877_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2682:4: VARBINARY_SYMBOL field_length
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARBINARY_SYMBOL2878 = (pANTLR3_COMMON_TOKEN) MATCHT(VARBINARY_SYMBOL, &FOLLOW_VARBINARY_SYMBOL_in_data_type_elements14982);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARBINARY_SYMBOL2878_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARBINARY_SYMBOL2878));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARBINARY_SYMBOL2878_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14984);
        	        field_length2879=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2879.tree);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2684:4: YEAR_SYMBOL ( field_length )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2880 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_data_type_elements14990);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2880_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2880));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2880_tree);
        	        }

        	        // MySQL.g:2684:16: ( field_length )?
        	        {
        	            int alt800=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt800=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt800)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2684:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements14992);
        	        	        field_length2881=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2881.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2684:30: ( field_options )?
        	        {
        	            int alt801=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt801=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt801)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2684:30: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements14995);
        	        	        field_options2882=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2882.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2685:4: DATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2883 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_data_type_elements15001);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2883_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2883));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2883_tree);
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2686:4: TIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2884 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_data_type_elements15006);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2884));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2884_tree);
        	        }

        	        // MySQL.g:2686:16: ( type_datetime_precision )?
        	        {
        	            int alt802=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA802_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA802_1 == INTEGER))
        	                		    {
        	                		        alt802=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt802)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2686:16: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements15008);
        	        	        type_datetime_precision2885=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2885.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:2687:4: TIMESTAMP_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL2886 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements15014);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL2886_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL2886));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL2886_tree);
        	        }

        	        // MySQL.g:2687:21: ( type_datetime_precision )?
        	        {
        	            int alt803=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA803_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA803_1 == INTEGER))
        	                		    {
        	                		        alt803=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt803)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2687:21: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements15016);
        	        	        type_datetime_precision2887=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2887.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2688:4: DATETIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATETIME_SYMBOL2888 = (pANTLR3_COMMON_TOKEN) MATCHT(DATETIME_SYMBOL, &FOLLOW_DATETIME_SYMBOL_in_data_type_elements15022);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATETIME_SYMBOL2888_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATETIME_SYMBOL2888));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATETIME_SYMBOL2888_tree);
        	        }

        	        // MySQL.g:2688:20: ( type_datetime_precision )?
        	        {
        	            int alt804=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA804_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA804_1 == INTEGER))
        	                		    {
        	                		        alt804=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt804)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2688:20: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements15024);
        	        	        type_datetime_precision2889=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2889.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2690:4: TINYBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TINYBLOB_SYMBOL2890 = (pANTLR3_COMMON_TOKEN) MATCHT(TINYBLOB_SYMBOL, &FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements15031);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TINYBLOB_SYMBOL2890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TINYBLOB_SYMBOL2890));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TINYBLOB_SYMBOL2890_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2691:4: BLOB_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BLOB_SYMBOL2891 = (pANTLR3_COMMON_TOKEN) MATCHT(BLOB_SYMBOL, &FOLLOW_BLOB_SYMBOL_in_data_type_elements15036);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BLOB_SYMBOL2891_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BLOB_SYMBOL2891));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BLOB_SYMBOL2891_tree);
        	        }

        	        // MySQL.g:2691:16: ( field_length )?
        	        {
        	            int alt805=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt805=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt805)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2691:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements15038);
        	        	        field_length2892=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2892.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:2692:4: MEDIUMBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUMBLOB_SYMBOL2893 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUMBLOB_SYMBOL, &FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements15044);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUMBLOB_SYMBOL2893_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUMBLOB_SYMBOL2893));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUMBLOB_SYMBOL2893_tree);
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2693:4: LONGBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONGBLOB_SYMBOL2894 = (pANTLR3_COMMON_TOKEN) MATCHT(LONGBLOB_SYMBOL, &FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements15049);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONGBLOB_SYMBOL2894_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONGBLOB_SYMBOL2894));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONGBLOB_SYMBOL2894_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:2694:4: LONG_SYMBOL VARBINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONG_SYMBOL2895 = (pANTLR3_COMMON_TOKEN) MATCHT(LONG_SYMBOL, &FOLLOW_LONG_SYMBOL_in_data_type_elements15054);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONG_SYMBOL2895_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONG_SYMBOL2895));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONG_SYMBOL2895_tree);
        	        }

        	        VARBINARY_SYMBOL2896 = (pANTLR3_COMMON_TOKEN) MATCHT(VARBINARY_SYMBOL, &FOLLOW_VARBINARY_SYMBOL_in_data_type_elements15056);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARBINARY_SYMBOL2896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARBINARY_SYMBOL2896));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARBINARY_SYMBOL2896_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:2695:4: LONG_SYMBOL ( varchar_literal )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONG_SYMBOL2897 = (pANTLR3_COMMON_TOKEN) MATCHT(LONG_SYMBOL, &FOLLOW_LONG_SYMBOL_in_data_type_elements15061);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONG_SYMBOL2897_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONG_SYMBOL2897));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONG_SYMBOL2897_tree);
        	        }

        	        // MySQL.g:2695:16: ( varchar_literal )?
        	        {
        	            int alt806=2;
        	            switch ( LA(1) )
        	            {
        	                case CHAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case VARYING_SYMBOL:
        	                		    	{
        	                		    		alt806=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	                case VARCHAR_SYMBOL:
        	                	{
        	                		alt806=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt806)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2695:16: varchar_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_varchar_literal_in_data_type_elements15063);
        	        	        varchar_literal2898=varchar_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, varchar_literal2898.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2695:33: ( string_binary )?
        	        {
        	            int alt807=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt807=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt807)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2695:33: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15066);
        	        	        string_binary2899=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2899.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:2697:4: TINYTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TINYTEXT_SYMBOL2900 = (pANTLR3_COMMON_TOKEN) MATCHT(TINYTEXT_SYMBOL, &FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements15073);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TINYTEXT_SYMBOL2900_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TINYTEXT_SYMBOL2900));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TINYTEXT_SYMBOL2900_tree);
        	        }

        	        // MySQL.g:2697:20: ( string_binary )?
        	        {
        	            int alt808=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt808=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt808)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2697:20: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15075);
        	        	        string_binary2901=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2901.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:2698:4: TEXT_SYMBOL ( field_length )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TEXT_SYMBOL2902 = (pANTLR3_COMMON_TOKEN) MATCHT(TEXT_SYMBOL, &FOLLOW_TEXT_SYMBOL_in_data_type_elements15081);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TEXT_SYMBOL2902_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEXT_SYMBOL2902));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TEXT_SYMBOL2902_tree);
        	        }

        	        // MySQL.g:2698:16: ( field_length )?
        	        {
        	            int alt809=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt809=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt809)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2698:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements15083);
        	        	        field_length2903=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2903.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2698:30: ( string_binary )?
        	        {
        	            int alt810=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt810=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt810)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2698:30: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15086);
        	        	        string_binary2904=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2904.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 26:
        	    // MySQL.g:2699:4: MEDIUMTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUMTEXT_SYMBOL2905 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUMTEXT_SYMBOL, &FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements15092);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUMTEXT_SYMBOL2905_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUMTEXT_SYMBOL2905));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUMTEXT_SYMBOL2905_tree);
        	        }

        	        // MySQL.g:2699:22: ( string_binary )?
        	        {
        	            int alt811=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt811=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt811)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2699:22: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15094);
        	        	        string_binary2906=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2906.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 27:
        	    // MySQL.g:2700:4: LONGTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONGTEXT_SYMBOL2907 = (pANTLR3_COMMON_TOKEN) MATCHT(LONGTEXT_SYMBOL, &FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements15100);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONGTEXT_SYMBOL2907_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONGTEXT_SYMBOL2907));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONGTEXT_SYMBOL2907_tree);
        	        }

        	        // MySQL.g:2700:20: ( string_binary )?
        	        {
        	            int alt812=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt812=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt812)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2700:20: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15102);
        	        	        string_binary2908=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2908.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 28:
        	    // MySQL.g:2702:4: DECIMAL_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DECIMAL_SYMBOL2909 = (pANTLR3_COMMON_TOKEN) MATCHT(DECIMAL_SYMBOL, &FOLLOW_DECIMAL_SYMBOL_in_data_type_elements15110);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DECIMAL_SYMBOL2909_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECIMAL_SYMBOL2909));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DECIMAL_SYMBOL2909_tree);
        	        }

        	        // MySQL.g:2702:19: ( float_options )?
        	        {
        	            int alt813=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt813=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt813)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2702:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements15112);
        	        	        float_options2910=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2910.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2702:34: ( field_options )?
        	        {
        	            int alt814=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt814=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt814)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2702:34: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements15115);
        	        	        field_options2911=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2911.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 29:
        	    // MySQL.g:2703:4: NUMERIC_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NUMERIC_SYMBOL2912 = (pANTLR3_COMMON_TOKEN) MATCHT(NUMERIC_SYMBOL, &FOLLOW_NUMERIC_SYMBOL_in_data_type_elements15121);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NUMERIC_SYMBOL2912_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NUMERIC_SYMBOL2912));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NUMERIC_SYMBOL2912_tree);
        	        }

        	        // MySQL.g:2703:19: ( float_options )?
        	        {
        	            int alt815=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt815=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt815)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2703:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements15123);
        	        	        float_options2913=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2913.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2703:34: ( field_options )?
        	        {
        	            int alt816=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt816=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt816)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2703:34: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements15126);
        	        	        field_options2914=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2914.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 30:
        	    // MySQL.g:2704:4: FIXED_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FIXED_SYMBOL2915 = (pANTLR3_COMMON_TOKEN) MATCHT(FIXED_SYMBOL, &FOLLOW_FIXED_SYMBOL_in_data_type_elements15132);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FIXED_SYMBOL2915_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIXED_SYMBOL2915));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FIXED_SYMBOL2915_tree);
        	        }

        	        // MySQL.g:2704:17: ( float_options )?
        	        {
        	            int alt817=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt817=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt817)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2704:17: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements15134);
        	        	        float_options2916=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2916.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2704:32: ( field_options )?
        	        {
        	            int alt818=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt818=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt818)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2704:32: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements15137);
        	        	        field_options2917=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2917.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 31:
        	    // MySQL.g:2706:4: ENUM_SYMBOL string_list ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ENUM_SYMBOL2918 = (pANTLR3_COMMON_TOKEN) MATCHT(ENUM_SYMBOL, &FOLLOW_ENUM_SYMBOL_in_data_type_elements15145);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENUM_SYMBOL2918_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENUM_SYMBOL2918));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENUM_SYMBOL2918_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_list_in_data_type_elements15147);
        	        string_list2919=string_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_list2919.tree);

        	        // MySQL.g:2706:28: ( string_binary )?
        	        {
        	            int alt819=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt819=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt819)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2706:28: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15149);
        	        	        string_binary2920=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2920.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 32:
        	    // MySQL.g:2707:4: SET_SYMBOL string_list ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL2921 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_data_type_elements15155);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2921_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2921));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2921_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_list_in_data_type_elements15157);
        	        string_list2922=string_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_list2922.tree);

        	        // MySQL.g:2707:27: ( string_binary )?
        	        {
        	            int alt820=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt820=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt820)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2707:27: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements15159);
        	        	        string_binary2923=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2923.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 33:
        	    // MySQL.g:2708:4: SERIAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIAL_SYMBOL2924 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIAL_SYMBOL, &FOLLOW_SERIAL_SYMBOL_in_data_type_elements15165);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIAL_SYMBOL2924_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIAL_SYMBOL2924));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIAL_SYMBOL2924_tree);
        	        }

        	    }
        	    break;
        	case 34:
        	    // MySQL.g:2709:4: spatial_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_type_in_data_type_elements15170);
        	        spatial_type2925=spatial_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_type2925.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruledata_type_elementsEx; /* Prevent compiler warnings */
    ruledata_type_elementsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end data_type_elements */

/**
 * $ANTLR start field_length
 * MySQL.g:2712:1: field_length : OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_field_length_return
field_length(pMySQLParser ctx)
{
    MySQLParser_field_length_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2926;
    pANTLR3_COMMON_TOKEN    INTEGER2927;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2928;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2926_tree;
    pANTLR3_BASE_TREE INTEGER2927_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2928_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2926       = NULL;
    INTEGER2927       = NULL;
    CLOSE_PAR_SYMBOL2928       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2926_tree   = NULL;
    INTEGER2927_tree   = NULL;
    CLOSE_PAR_SYMBOL2928_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2712:13: ( OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2713:2: OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2926 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_field_length15179);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2926_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2926));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2926_tree);
            }

            INTEGER2927 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_field_length15181);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2927_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2927));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2927_tree);
            }

            CLOSE_PAR_SYMBOL2928 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_field_length15183);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2928_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2928));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2928_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefield_lengthEx; /* Prevent compiler warnings */
    rulefield_lengthEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_length */

/**
 * $ANTLR start field_options
 * MySQL.g:2716:1: field_options : ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+ ;
 */
static MySQLParser_field_options_return
field_options(pMySQLParser ctx)
{
    MySQLParser_field_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2929;

    pANTLR3_BASE_TREE set2929_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2929       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2929_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2716:14: ( ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+ )
        // MySQL.g:2717:2: ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2717:2: ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+
            {
                int cnt822=0;

                for (;;)
                {
                    int alt822=2;
            	switch ( LA(1) )
            	{
            	case SIGNED_SYMBOL:
            	case UNSIGNED_SYMBOL:
            	case ZEROFILL_SYMBOL:
            		{
            			alt822=1;
            		}
            	    break;

            	}

            	switch (alt822)
            	{
            	    case 1:
            	        // MySQL.g:
            	        {
            	            set2929=(pANTLR3_COMMON_TOKEN)LT(1);

            	            if ( LA(1) == SIGNED_SYMBOL || LA(1) == UNSIGNED_SYMBOL || LA(1) == ZEROFILL_SYMBOL )
            	            {
            	                CONSUME();
            	                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2929))
            	                );
            	                PERRORRECOVERY=ANTLR3_FALSE;
            	                FAILEDFLAG=ANTLR3_FALSE;

            	            }
            	            else
            	            {
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	                EXCEPTION->expectingSet = NULL;

            	                goto rulefield_optionsEx;
            	            }


            	        }
            	        break;

            	    default:

            		if ( cnt822 >= 1 )
            		{
            		    goto loop822;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulefield_optionsEx;
            	}
            	cnt822++;
                }
                loop822: ;	/* Jump to here if this rule does not match */
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefield_optionsEx; /* Prevent compiler warnings */
    rulefield_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_options */

/**
 * $ANTLR start string_binary
 * MySQL.g:2720:1: string_binary : ( ascii | unicode | BYTE_SYMBOL | charset charset_name ( BINARY_SYMBOL )? | BINARY_SYMBOL ( charset charset_name )? );
 */
static MySQLParser_string_binary_return
string_binary(pMySQLParser ctx)
{
    MySQLParser_string_binary_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BYTE_SYMBOL2932;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2935;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2936;
    MySQLParser_ascii_return ascii2930;
    #undef	RETURN_TYPE_ascii2930
    #define	RETURN_TYPE_ascii2930 MySQLParser_ascii_return

    MySQLParser_unicode_return unicode2931;
    #undef	RETURN_TYPE_unicode2931
    #define	RETURN_TYPE_unicode2931 MySQLParser_unicode_return

    MySQLParser_charset_return charset2933;
    #undef	RETURN_TYPE_charset2933
    #define	RETURN_TYPE_charset2933 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2934;
    #undef	RETURN_TYPE_charset_name2934
    #define	RETURN_TYPE_charset_name2934 MySQLParser_charset_name_return

    MySQLParser_charset_return charset2937;
    #undef	RETURN_TYPE_charset2937
    #define	RETURN_TYPE_charset2937 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2938;
    #undef	RETURN_TYPE_charset_name2938
    #define	RETURN_TYPE_charset_name2938 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE BYTE_SYMBOL2932_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2935_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2936_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BYTE_SYMBOL2932       = NULL;
    BINARY_SYMBOL2935       = NULL;
    BINARY_SYMBOL2936       = NULL;
    ascii2930.tree = NULL;

    unicode2931.tree = NULL;

    charset2933.tree = NULL;

    charset_name2934.tree = NULL;

    charset2937.tree = NULL;

    charset_name2938.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BYTE_SYMBOL2932_tree   = NULL;
    BINARY_SYMBOL2935_tree   = NULL;
    BINARY_SYMBOL2936_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2720:14: ( ascii | unicode | BYTE_SYMBOL | charset charset_name ( BINARY_SYMBOL )? | BINARY_SYMBOL ( charset charset_name )? )

            ANTLR3_UINT32 alt825;

            alt825=5;

            switch ( LA(1) )
            {
            case ASCII_SYMBOL:
            	{
            		alt825=1;
            	}
                break;
            case BINARY_SYMBOL:
            	{
            		{
            		    int LA825_2 = LA(2);
            		    if ( ((SERVER_VERSION >= 50500)) && (LA825_2 == ASCII_SYMBOL))
            		    {
            		        alt825=1;
            		    }
            		    else if ( ((SERVER_VERSION >= 50500)) && (LA825_2 == UNICODE_SYMBOL))
            		    {
            		        alt825=2;
            		    }
            		    else if ( (LA825_2 == EOF || ((LA825_2 >= BACKUP_SYMBOL) && (LA825_2 <= BEGIN_SYMBOL)) || ((LA825_2 >= CACHE_SYMBOL) && (LA825_2 <= DO_SYMBOL)) || ((LA825_2 >= EXECUTE_SYMBOL) && (LA825_2 <= FLUSH_SYMBOL)) || ((LA825_2 >= HANDLER_SYMBOL) && (LA825_2 <= HELP_SYMBOL)) || ((LA825_2 >= INSTALL_SYMBOL) && (LA825_2 <= OPEN_SYMBOL)) || LA825_2 == PARTITION_SYMBOL || ((LA825_2 >= PREPARE_SYMBOL) && (LA825_2 <= SAVEPOINT_SYMBOL)) || ((LA825_2 >= START_SYMBOL) && (LA825_2 <= TRUNCATE_SYMBOL)) || LA825_2 == UNINSTALL_SYMBOL || ((LA825_2 >= XA_SYMBOL) && (LA825_2 <= YEAR_SYMBOL)) || LA825_2 == ALTER_SYMBOL || LA825_2 == BACK_TICK_QUOTED_ID || LA825_2 == CALL_SYMBOL || LA825_2 == CASE_SYMBOL || LA825_2 == CHANGE_SYMBOL || ((LA825_2 >= CHAR_SYMBOL) && (LA825_2 <= CHECK_SYMBOL)) || ((LA825_2 >= CLOSE_PAR_SYMBOL) && (LA825_2 <= COLLATE_SYMBOL)) || LA825_2 == COMMA_SYMBOL || LA825_2 == CREATE_SYMBOL || LA825_2 == DEFAULT_SYMBOL || ((LA825_2 >= DELETE_SYMBOL) && (LA825_2 <= DETERMINISTIC_SYMBOL)) || LA825_2 == DOUBLE_QUOTED_TEXT || LA825_2 == DROP_SYMBOL || LA825_2 == FETCH_SYMBOL || ((LA825_2 >= GET_SYMBOL) && (LA825_2 <= GRANT_SYMBOL)) || ((LA825_2 >= IDENTIFIER) && (LA825_2 <= IF_SYMBOL)) || LA825_2 == INSERT_SYMBOL || LA825_2 == ITERATE_SYMBOL || ((LA825_2 >= KEY_SYMBOL) && (LA825_2 <= KILL_SYMBOL)) || LA825_2 == LEAVE_SYMBOL || LA825_2 == LOAD_SYMBOL || LA825_2 == LOCK_SYMBOL || LA825_2 == LOOP_SYMBOL || LA825_2 == MODIFIES_SYMBOL || LA825_2 == NOT_SYMBOL || LA825_2 == NULL2_SYMBOL || LA825_2 == NULL_SYMBOL || LA825_2 == ON_SYMBOL || LA825_2 == OPEN_PAR_SYMBOL || LA825_2 == OPTIMIZE_SYMBOL || LA825_2 == PRIMARY_SYMBOL || LA825_2 == PURGE_SYMBOL || LA825_2 == READS_SYMBOL || LA825_2 == REFERENCES_SYMBOL || ((LA825_2 >= RELEASE_SYMBOL) && (LA825_2 <= REPLACE_SYMBOL)) || LA825_2 == RESIGNAL_SYMBOL || ((LA825_2 >= RETURN_SYMBOL) && (LA825_2 <= REVOKE_SYMBOL)) || ((LA825_2 >= SELECT_SYMBOL) && (LA825_2 <= SEMICOLON_SYMBOL)) || LA825_2 == SET_SYMBOL || ((LA825_2 >= SHOW_SYMBOL) && (LA825_2 <= SIGNAL_SYMBOL)) || LA825_2 == SQL_SYMBOL || ((LA825_2 >= UNIQUE_SYMBOL) && (LA825_2 <= UNLOCK_SYMBOL)) || LA825_2 == UPDATE_SYMBOL || LA825_2 == USE_SYMBOL || LA825_2 == WHILE_SYMBOL))
            		    {
            		        alt825=5;
            		    }
            		    else
            		    {
            		        if (BACKTRACKING>0)
            		        {
            		            FAILEDFLAG = ANTLR3_TRUE;
            		            return retval;
            		        }


            		        CONSTRUCTEX();
            		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		        EXCEPTION->message      = (void *)"";
            		        EXCEPTION->decisionNum  = 825;
            		        EXCEPTION->state        = 2;


            		        goto rulestring_binaryEx;

            		    }
            		}
            	}
                break;
            case UNICODE_SYMBOL:
            	{
            		alt825=2;
            	}
                break;
            case BYTE_SYMBOL:
            	{
            		alt825=3;
            	}
                break;
            case CHARSET_SYMBOL:
            case CHAR_SYMBOL:
            	{
            		alt825=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 825;
                EXCEPTION->state        = 0;


                goto rulestring_binaryEx;

            }

            switch (alt825)
            {
        	case 1:
        	    // MySQL.g:2721:2: ascii
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_ascii_in_string_binary15212);
        	        ascii2930=ascii(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, ascii2930.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2722:4: unicode
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_unicode_in_string_binary15217);
        	        unicode2931=unicode(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unicode2931.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2723:4: BYTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BYTE_SYMBOL2932 = (pANTLR3_COMMON_TOKEN) MATCHT(BYTE_SYMBOL, &FOLLOW_BYTE_SYMBOL_in_string_binary15222);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BYTE_SYMBOL2932_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BYTE_SYMBOL2932));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BYTE_SYMBOL2932_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2724:4: charset charset_name ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_in_string_binary15227);
        	        charset2933=charset(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2933.tree);

        	        FOLLOWPUSH(FOLLOW_charset_name_in_string_binary15229);
        	        charset_name2934=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2934.tree);

        	        // MySQL.g:2724:25: ( BINARY_SYMBOL )?
        	        {
        	            int alt823=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt823=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt823)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2724:25: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2935 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_string_binary15231);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2935_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2935));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2935_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2725:4: BINARY_SYMBOL ( charset charset_name )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2936 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_string_binary15237);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2936_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2936));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2936_tree);
        	        }

        	        // MySQL.g:2725:18: ( charset charset_name )?
        	        {
        	            int alt824=2;
        	            switch ( LA(1) )
        	            {
        	                case CHARSET_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt824=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt824)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2725:19: charset charset_name
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_string_binary15240);
        	        	        charset2937=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2937.tree);

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_string_binary15242);
        	        	        charset_name2938=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2938.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulestring_binaryEx; /* Prevent compiler warnings */
    rulestring_binaryEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end string_binary */

/**
 * $ANTLR start ascii
 * MySQL.g:2728:1: ascii : ( ASCII_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL ASCII_SYMBOL );
 */
static MySQLParser_ascii_return
ascii(pMySQLParser ctx)
{
    MySQLParser_ascii_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2939;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2940;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2941;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2942;

    pANTLR3_BASE_TREE ASCII_SYMBOL2939_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2940_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2941_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2942_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASCII_SYMBOL2939       = NULL;
    BINARY_SYMBOL2940       = NULL;
    BINARY_SYMBOL2941       = NULL;
    ASCII_SYMBOL2942       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASCII_SYMBOL2939_tree   = NULL;
    BINARY_SYMBOL2940_tree   = NULL;
    BINARY_SYMBOL2941_tree   = NULL;
    ASCII_SYMBOL2942_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2728:6: ( ASCII_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL ASCII_SYMBOL )

            ANTLR3_UINT32 alt827;

            alt827=2;

            {
                int LA827_0 = LA(1);
                if ( (LA827_0 == ASCII_SYMBOL))
                {
                    alt827=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA827_0 == BINARY_SYMBOL))
                {
                    alt827=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 827;
                    EXCEPTION->state        = 0;


                    goto ruleasciiEx;

                }
            }
            switch (alt827)
            {
        	case 1:
        	    // MySQL.g:2729:2: ASCII_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2939 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_ascii15253);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2939_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2939));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2939_tree);
        	        }

        	        // MySQL.g:2729:15: ( BINARY_SYMBOL )?
        	        {
        	            int alt826=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt826=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt826)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2729:15: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2940 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_ascii15255);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleasciiEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2940_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2940));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2940_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2730:4: {...}? => BINARY_SYMBOL ASCII_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"ascii";


        	        }

        	        BINARY_SYMBOL2941 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_ascii15265);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2941_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2941));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2941_tree);
        	        }

        	        ASCII_SYMBOL2942 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_ascii15267);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2942_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2942));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2942_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleasciiEx; /* Prevent compiler warnings */
    ruleasciiEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end ascii */

/**
 * $ANTLR start unicode
 * MySQL.g:2733:1: unicode : ( UNICODE_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL UNICODE_SYMBOL );
 */
static MySQLParser_unicode_return
unicode(pMySQLParser ctx)
{
    MySQLParser_unicode_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2943;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2944;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2945;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2946;

    pANTLR3_BASE_TREE UNICODE_SYMBOL2943_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2944_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2945_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2946_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNICODE_SYMBOL2943       = NULL;
    BINARY_SYMBOL2944       = NULL;
    BINARY_SYMBOL2945       = NULL;
    UNICODE_SYMBOL2946       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNICODE_SYMBOL2943_tree   = NULL;
    BINARY_SYMBOL2944_tree   = NULL;
    BINARY_SYMBOL2945_tree   = NULL;
    UNICODE_SYMBOL2946_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2733:8: ( UNICODE_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL UNICODE_SYMBOL )

            ANTLR3_UINT32 alt829;

            alt829=2;

            {
                int LA829_0 = LA(1);
                if ( (LA829_0 == UNICODE_SYMBOL))
                {
                    alt829=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA829_0 == BINARY_SYMBOL))
                {
                    alt829=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 829;
                    EXCEPTION->state        = 0;


                    goto ruleunicodeEx;

                }
            }
            switch (alt829)
            {
        	case 1:
        	    // MySQL.g:2734:2: UNICODE_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNICODE_SYMBOL2943 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_unicode15276);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2943_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2943));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2943_tree);
        	        }

        	        // MySQL.g:2734:17: ( BINARY_SYMBOL )?
        	        {
        	            int alt828=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt828=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt828)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2734:17: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2944 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_unicode15278);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleunicodeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2944_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2944));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2944_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2735:4: {...}? => BINARY_SYMBOL UNICODE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50500)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
        	                EXCEPTION->ruleName	 = (void *)"unicode";


        	        }

        	        BINARY_SYMBOL2945 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_unicode15288);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2945_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2945));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2945_tree);
        	        }

        	        UNICODE_SYMBOL2946 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_unicode15290);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2946_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2946));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2946_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleunicodeEx; /* Prevent compiler warnings */
    ruleunicodeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end unicode */

/**
 * $ANTLR start type_datetime_precision
 * MySQL.g:2738:1: type_datetime_precision :{...}? => OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_type_datetime_precision_return
type_datetime_precision(pMySQLParser ctx)
{
    MySQLParser_type_datetime_precision_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2947;
    pANTLR3_COMMON_TOKEN    INTEGER2948;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2949;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2947_tree;
    pANTLR3_BASE_TREE INTEGER2948_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2949_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2947       = NULL;
    INTEGER2948       = NULL;
    CLOSE_PAR_SYMBOL2949       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2947_tree   = NULL;
    INTEGER2948_tree   = NULL;
    CLOSE_PAR_SYMBOL2949_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2738:24: ({...}? => OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2739:2: {...}? => OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50600)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
                    EXCEPTION->ruleName	 = (void *)"type_datetime_precision";


            }

            OPEN_PAR_SYMBOL2947 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision15303);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2947_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2947));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2947_tree);
            }

            INTEGER2948 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_type_datetime_precision15305);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2948_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2948));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2948_tree);
            }

            CLOSE_PAR_SYMBOL2949 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision15307);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2949_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2949));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2949_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletype_datetime_precisionEx; /* Prevent compiler warnings */
    ruletype_datetime_precisionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end type_datetime_precision */

/**
 * $ANTLR start charset_name
 * MySQL.g:2742:1: charset_name : ( text_or_identifier | BINARY_SYMBOL );
 */
static MySQLParser_charset_name_return
charset_name(pMySQLParser ctx)
{
    MySQLParser_charset_name_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2951;
    MySQLParser_text_or_identifier_return text_or_identifier2950;
    #undef	RETURN_TYPE_text_or_identifier2950
    #define	RETURN_TYPE_text_or_identifier2950 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2951_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2951       = NULL;
    text_or_identifier2950.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2951_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2742:13: ( text_or_identifier | BINARY_SYMBOL )

            ANTLR3_UINT32 alt830;

            alt830=2;

            {
                int LA830_0 = LA(1);
                if ( (LA830_0 == BACK_TICK_QUOTED_ID || LA830_0 == IDENTIFIER || LA830_0 == SINGLE_QUOTED_TEXT))
                {
                    alt830=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA830_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt830=1;
                }
                else if ( (((LA830_0 >= ASCII_SYMBOL) && (LA830_0 <= YEAR_SYMBOL))))
                {
                    alt830=1;
                }
                else if ( (LA830_0 == BINARY_SYMBOL))
                {
                    alt830=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 830;
                    EXCEPTION->state        = 0;


                    goto rulecharset_nameEx;

                }
            }
            switch (alt830)
            {
        	case 1:
        	    // MySQL.g:2743:2: text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_charset_name15316);
        	        text_or_identifier2950=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2950.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2744:4: BINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2951 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_charset_name15321);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2951_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2951));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2951_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecharset_nameEx; /* Prevent compiler warnings */
    rulecharset_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end charset_name */

/**
 * $ANTLR start charset_name_or_default
 * MySQL.g:2747:1: charset_name_or_default : ( charset_name | DEFAULT_SYMBOL );
 */
static MySQLParser_charset_name_or_default_return
charset_name_or_default(pMySQLParser ctx)
{
    MySQLParser_charset_name_or_default_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2953;
    MySQLParser_charset_name_return charset_name2952;
    #undef	RETURN_TYPE_charset_name2952
    #define	RETURN_TYPE_charset_name2952 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2953_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2953       = NULL;
    charset_name2952.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2953_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2747:24: ( charset_name | DEFAULT_SYMBOL )

            ANTLR3_UINT32 alt831;

            alt831=2;

            {
                int LA831_0 = LA(1);
                if ( (LA831_0 == BACK_TICK_QUOTED_ID || LA831_0 == IDENTIFIER || LA831_0 == SINGLE_QUOTED_TEXT))
                {
                    alt831=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA831_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt831=1;
                }
                else if ( (((LA831_0 >= ASCII_SYMBOL) && (LA831_0 <= YEAR_SYMBOL)) || LA831_0 == BINARY_SYMBOL))
                {
                    alt831=1;
                }
                else if ( (LA831_0 == DEFAULT_SYMBOL))
                {
                    alt831=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 831;
                    EXCEPTION->state        = 0;


                    goto rulecharset_name_or_defaultEx;

                }
            }
            switch (alt831)
            {
        	case 1:
        	    // MySQL.g:2748:2: charset_name
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_name_in_charset_name_or_default15330);
        	        charset_name2952=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2952.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2749:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2953 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default15335);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2953_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2953));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2953_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecharset_name_or_defaultEx; /* Prevent compiler warnings */
    rulecharset_name_or_defaultEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end charset_name_or_default */

/**
 * $ANTLR start collation_name_or_default
 * MySQL.g:2752:1: collation_name_or_default : ( text_or_identifier | DEFAULT_SYMBOL );
 */
static MySQLParser_collation_name_or_default_return
collation_name_or_default(pMySQLParser ctx)
{
    MySQLParser_collation_name_or_default_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2955;
    MySQLParser_text_or_identifier_return text_or_identifier2954;
    #undef	RETURN_TYPE_text_or_identifier2954
    #define	RETURN_TYPE_text_or_identifier2954 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2955_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2955       = NULL;
    text_or_identifier2954.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2955_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2752:26: ( text_or_identifier | DEFAULT_SYMBOL )

            ANTLR3_UINT32 alt832;

            alt832=2;

            {
                int LA832_0 = LA(1);
                if ( (LA832_0 == BACK_TICK_QUOTED_ID || LA832_0 == IDENTIFIER || LA832_0 == SINGLE_QUOTED_TEXT))
                {
                    alt832=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA832_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt832=1;
                }
                else if ( (((LA832_0 >= ASCII_SYMBOL) && (LA832_0 <= YEAR_SYMBOL))))
                {
                    alt832=1;
                }
                else if ( (LA832_0 == DEFAULT_SYMBOL))
                {
                    alt832=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 832;
                    EXCEPTION->state        = 0;


                    goto rulecollation_name_or_defaultEx;

                }
            }
            switch (alt832)
            {
        	case 1:
        	    // MySQL.g:2753:2: text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_collation_name_or_default15344);
        	        text_or_identifier2954=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecollation_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2954.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2754:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2955 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default15349);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecollation_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2955_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2955));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2955_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecollation_name_or_defaultEx; /* Prevent compiler warnings */
    rulecollation_name_or_defaultEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end collation_name_or_default */

/**
 * $ANTLR start spatial_type
 * MySQL.g:2757:1: spatial_type : ( GEOMETRY_SYMBOL | GEOMETRYCOLLECTION_SYMBOL | POINT_SYMBOL | MULTIPOINT_SYMBOL | LINESTRING_SYMBOL | MULTILINESTRING_SYMBOL | POLYGON_SYMBOL | MULTIPOLYGON_SYMBOL );
 */
static MySQLParser_spatial_type_return
spatial_type(pMySQLParser ctx)
{
    MySQLParser_spatial_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2956;

    pANTLR3_BASE_TREE set2956_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2956       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2956_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2757:13: ( GEOMETRY_SYMBOL | GEOMETRYCOLLECTION_SYMBOL | POINT_SYMBOL | MULTIPOINT_SYMBOL | LINESTRING_SYMBOL | MULTILINESTRING_SYMBOL | POLYGON_SYMBOL | MULTIPOLYGON_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2956=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= GEOMETRY_SYMBOL) && (LA(1) <= GEOMETRYCOLLECTION_SYMBOL)) || LA(1) == LINESTRING_SYMBOL || ((LA(1) >= MULTILINESTRING_SYMBOL) && (LA(1) <= MULTIPOLYGON_SYMBOL)) || ((LA(1) >= POINT_SYMBOL) && (LA(1) <= POLYGON_SYMBOL)) )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2956))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulespatial_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulespatial_typeEx; /* Prevent compiler warnings */
    rulespatial_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end spatial_type */

/**
 * $ANTLR start alter_table_options
 * MySQL.g:2768:1: alter_table_options : ( create_table_option )+ ;
 */
static MySQLParser_alter_table_options_return
alter_table_options(pMySQLParser ctx)
{
    MySQLParser_alter_table_options_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_create_table_option_return create_table_option2957;
    #undef	RETURN_TYPE_create_table_option2957
    #define	RETURN_TYPE_create_table_option2957 MySQLParser_create_table_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    create_table_option2957.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2768:20: ( ( create_table_option )+ )
        // MySQL.g:2769:2: ( create_table_option )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2769:2: ( create_table_option )+
            {
                int cnt833=0;

                for (;;)
                {
                    int alt833=2;
            	{
            	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	    */
            	    int LA833_0 = LA(1);
            	    if ( (LA833_0 == ENGINE_SYMBOL))
            	    {
            	        alt833=1;
            	    }
            	    else if ( ((SERVER_VERSION < 50500)) && (LA833_0 == TYPE_SYMBOL))
            	    {
            	        alt833=1;
            	    }
            	    else if ( (LA833_0 == COMMENT_SYMBOL || LA833_0 == AUTO_INCREMENT_SYMBOL || LA833_0 == AVG_ROW_LENGTH_SYMBOL || LA833_0 == MAX_ROWS_SYMBOL || LA833_0 == MIN_ROWS_SYMBOL || LA833_0 == PACK_KEYS_SYMBOL || LA833_0 == PASSWORD_SYMBOL))
            	    {
            	        alt833=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50600)) && (((LA833_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA833_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	    {
            	        alt833=1;
            	    }
            	    else if ( (((LA833_0 >= CHARSET_SYMBOL) && (LA833_0 <= CHECKSUM_SYMBOL)) || LA833_0 == CONNECTION_SYMBOL || LA833_0 == DATA_SYMBOL || LA833_0 == DELAY_KEY_WRITE_SYMBOL || ((LA833_0 >= INSERT_METHOD_SYMBOL) && (LA833_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA833_0 == ROW_FORMAT_SYMBOL || LA833_0 == STORAGE_SYMBOL || ((LA833_0 >= TABLE_CHECKSUM_SYMBOL) && (LA833_0 <= TABLESPACE_SYMBOL)) || LA833_0 == CHAR_SYMBOL || LA833_0 == COLLATE_SYMBOL || LA833_0 == DEFAULT_SYMBOL || LA833_0 == INDEX_SYMBOL || LA833_0 == UNION_SYMBOL))
            	    {
            	        alt833=1;
            	    }

            	}
            	switch (alt833)
            	{
            	    case 1:
            	        // MySQL.g:2769:2: create_table_option
            	        {
            	            FOLLOWPUSH(FOLLOW_create_table_option_in_alter_table_options15402);
            	            create_table_option2957=create_table_option(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulealter_table_optionsEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_option2957.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt833 >= 1 )
            		{
            		    goto loop833;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulealter_table_optionsEx;
            	}
            	cnt833++;
                }
                loop833: ;	/* Jump to here if this rule does not match */
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_table_optionsEx; /* Prevent compiler warnings */
    rulealter_table_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end alter_table_options */

/**
 * $ANTLR start create_table_options
 * MySQL.g:2772:1: create_table_options : create_table_option ( ( COMMA_SYMBOL )? create_table_option )* ;
 */
static MySQLParser_create_table_options_return
create_table_options(pMySQLParser ctx)
{
    MySQLParser_create_table_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2959;
    MySQLParser_create_table_option_return create_table_option2958;
    #undef	RETURN_TYPE_create_table_option2958
    #define	RETURN_TYPE_create_table_option2958 MySQLParser_create_table_option_return

    MySQLParser_create_table_option_return create_table_option2960;
    #undef	RETURN_TYPE_create_table_option2960
    #define	RETURN_TYPE_create_table_option2960 MySQLParser_create_table_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2959_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2959       = NULL;
    create_table_option2958.tree = NULL;

    create_table_option2960.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2959_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2772:21: ( create_table_option ( ( COMMA_SYMBOL )? create_table_option )* )
        // MySQL.g:2773:2: create_table_option ( ( COMMA_SYMBOL )? create_table_option )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_table_option_in_create_table_options15412);
            create_table_option2958=create_table_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_table_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_option2958.tree);

            // MySQL.g:2773:22: ( ( COMMA_SYMBOL )? create_table_option )*

            for (;;)
            {
                int alt835=2;
                {
                   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                    */
                    int LA835_0 = LA(1);
                    if ( (LA835_0 == ENGINE_SYMBOL || LA835_0 == COMMA_SYMBOL))
                    {
                        alt835=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA835_0 == TYPE_SYMBOL))
                    {
                        alt835=1;
                    }
                    else if ( (LA835_0 == COMMENT_SYMBOL || LA835_0 == AUTO_INCREMENT_SYMBOL || LA835_0 == AVG_ROW_LENGTH_SYMBOL || LA835_0 == MAX_ROWS_SYMBOL || LA835_0 == MIN_ROWS_SYMBOL || LA835_0 == PACK_KEYS_SYMBOL || LA835_0 == PASSWORD_SYMBOL))
                    {
                        alt835=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (((LA835_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA835_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                    {
                        alt835=1;
                    }
                    else if ( (((LA835_0 >= CHARSET_SYMBOL) && (LA835_0 <= CHECKSUM_SYMBOL)) || LA835_0 == CONNECTION_SYMBOL || LA835_0 == DATA_SYMBOL || LA835_0 == DELAY_KEY_WRITE_SYMBOL || ((LA835_0 >= INSERT_METHOD_SYMBOL) && (LA835_0 <= KEY_BLOCK_SIZE_SYMBOL)) || LA835_0 == ROW_FORMAT_SYMBOL || LA835_0 == STORAGE_SYMBOL || ((LA835_0 >= TABLE_CHECKSUM_SYMBOL) && (LA835_0 <= TABLESPACE_SYMBOL)) || LA835_0 == CHAR_SYMBOL || LA835_0 == COLLATE_SYMBOL || LA835_0 == DEFAULT_SYMBOL || LA835_0 == INDEX_SYMBOL || LA835_0 == UNION_SYMBOL))
                    {
                        alt835=1;
                    }

                }
                switch (alt835)
                {
            	case 1:
            	    // MySQL.g:2773:23: ( COMMA_SYMBOL )? create_table_option
            	    {
            	        // MySQL.g:2773:23: ( COMMA_SYMBOL )?
            	        {
            	            int alt834=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt834=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt834)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2773:23: COMMA_SYMBOL
            	        	    {
            	        	        COMMA_SYMBOL2959 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_table_options15415);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_optionsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2959_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2959));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2959_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_table_option_in_create_table_options15418);
            	        create_table_option2960=create_table_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_table_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_table_option2960.tree);

            	    }
            	    break;

            	default:
            	    goto loop835;	/* break out of the loop */
            	    break;
                }
            }
            loop835: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulecreate_table_optionsEx; /* Prevent compiler warnings */
    rulecreate_table_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_table_options */

/**
 * $ANTLR start create_table_option
 * MySQL.g:2776:1: create_table_option : ( ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? engine_ref | MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | AVG_ROW_LENGTH_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | PASSWORD_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | COMMENT_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | AUTO_INCREMENT_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | PACK_KEYS_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | DEFAULT_SYMBOL ) |{...}? => ( STATS_AUTO_RECALC_SYMBOL | STATS_PERSISTENT_SYMBOL | STATS_SAMPLE_PAGES_SYMBOL ) ( EQUAL_OPERATOR )? ( int_or_param_marker | DEFAULT_SYMBOL ) | ( CHECKSUM_SYMBOL | TABLE_CHECKSUM_SYMBOL ) ( EQUAL_OPERATOR )? INTEGER | DELAY_KEY_WRITE_SYMBOL ( EQUAL_OPERATOR )? INTEGER | ROW_FORMAT_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | DYNAMIC_SYMBOL | FIXED_SYMBOL | COMPRESSED_SYMBOL | REDUNDANT_SYMBOL | COMPACT_SYMBOL ) | UNION_SYMBOL ^ ( EQUAL_OPERATOR )? OPEN_PAR_SYMBOL qualified_identifier_list CLOSE_PAR_SYMBOL | ( DEFAULT_SYMBOL )? ( COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default | charset ( EQUAL_OPERATOR )? charset_name_or_default ) | INSERT_METHOD_SYMBOL ( EQUAL_OPERATOR )? ( NO_SYMBOL | FIRST_SYMBOL | LAST_SYMBOL ) | DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | TABLESPACE_SYMBOL identifier | STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL ) | CONNECTION_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker );
 */
static MySQLParser_create_table_option_return
create_table_option(pMySQLParser ctx)
{
    MySQLParser_create_table_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL2961;
    pANTLR3_COMMON_TOKEN    TYPE_SYMBOL2962;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2963;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2965;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2966;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2968;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2969;
    pANTLR3_COMMON_TOKEN    AVG_ROW_LENGTH_SYMBOL2971;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2972;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2974;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2975;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2977;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2978;
    pANTLR3_COMMON_TOKEN    AUTO_INCREMENT_SYMBOL2980;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2981;
    pANTLR3_COMMON_TOKEN    PACK_KEYS_SYMBOL2983;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2984;
    pANTLR3_COMMON_TOKEN    set2985;
    pANTLR3_COMMON_TOKEN    set2986;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2987;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2989;
    pANTLR3_COMMON_TOKEN    set2990;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2991;
    pANTLR3_COMMON_TOKEN    INTEGER2992;
    pANTLR3_COMMON_TOKEN    DELAY_KEY_WRITE_SYMBOL2993;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2994;
    pANTLR3_COMMON_TOKEN    INTEGER2995;
    pANTLR3_COMMON_TOKEN    ROW_FORMAT_SYMBOL2996;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2997;
    pANTLR3_COMMON_TOKEN    set2998;
    pANTLR3_COMMON_TOKEN    UNION_SYMBOL2999;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3000;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3001;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3003;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL3004;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL3005;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3006;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3009;
    pANTLR3_COMMON_TOKEN    INSERT_METHOD_SYMBOL3011;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3012;
    pANTLR3_COMMON_TOKEN    set3013;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL3014;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL3015;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3016;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL3018;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL3019;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3020;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL3022;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL3024;
    pANTLR3_COMMON_TOKEN    set3025;
    pANTLR3_COMMON_TOKEN    CONNECTION_SYMBOL3026;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3027;
    pANTLR3_COMMON_TOKEN    KEY_BLOCK_SIZE_SYMBOL3029;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3030;
    MySQLParser_engine_ref_return engine_ref2964;
    #undef	RETURN_TYPE_engine_ref2964
    #define	RETURN_TYPE_engine_ref2964 MySQLParser_engine_ref_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2967;
    #undef	RETURN_TYPE_int_or_param_marker2967
    #define	RETURN_TYPE_int_or_param_marker2967 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2970;
    #undef	RETURN_TYPE_int_or_param_marker2970
    #define	RETURN_TYPE_int_or_param_marker2970 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2973;
    #undef	RETURN_TYPE_int_or_param_marker2973
    #define	RETURN_TYPE_int_or_param_marker2973 MySQLParser_int_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2976;
    #undef	RETURN_TYPE_text_or_param_marker2976
    #define	RETURN_TYPE_text_or_param_marker2976 MySQLParser_text_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2979;
    #undef	RETURN_TYPE_text_or_param_marker2979
    #define	RETURN_TYPE_text_or_param_marker2979 MySQLParser_text_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2982;
    #undef	RETURN_TYPE_int_or_param_marker2982
    #define	RETURN_TYPE_int_or_param_marker2982 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2988;
    #undef	RETURN_TYPE_int_or_param_marker2988
    #define	RETURN_TYPE_int_or_param_marker2988 MySQLParser_int_or_param_marker_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list3002;
    #undef	RETURN_TYPE_qualified_identifier_list3002
    #define	RETURN_TYPE_qualified_identifier_list3002 MySQLParser_qualified_identifier_list_return

    MySQLParser_collation_name_or_default_return collation_name_or_default3007;
    #undef	RETURN_TYPE_collation_name_or_default3007
    #define	RETURN_TYPE_collation_name_or_default3007 MySQLParser_collation_name_or_default_return

    MySQLParser_charset_return charset3008;
    #undef	RETURN_TYPE_charset3008
    #define	RETURN_TYPE_charset3008 MySQLParser_charset_return

    MySQLParser_charset_name_or_default_return charset_name_or_default3010;
    #undef	RETURN_TYPE_charset_name_or_default3010
    #define	RETURN_TYPE_charset_name_or_default3010 MySQLParser_charset_name_or_default_return

    MySQLParser_text_or_param_marker_return text_or_param_marker3017;
    #undef	RETURN_TYPE_text_or_param_marker3017
    #define	RETURN_TYPE_text_or_param_marker3017 MySQLParser_text_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker3021;
    #undef	RETURN_TYPE_text_or_param_marker3021
    #define	RETURN_TYPE_text_or_param_marker3021 MySQLParser_text_or_param_marker_return

    MySQLParser_identifier_return identifier3023;
    #undef	RETURN_TYPE_identifier3023
    #define	RETURN_TYPE_identifier3023 MySQLParser_identifier_return

    MySQLParser_text_or_param_marker_return text_or_param_marker3028;
    #undef	RETURN_TYPE_text_or_param_marker3028
    #define	RETURN_TYPE_text_or_param_marker3028 MySQLParser_text_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker3031;
    #undef	RETURN_TYPE_int_or_param_marker3031
    #define	RETURN_TYPE_int_or_param_marker3031 MySQLParser_int_or_param_marker_return

    pANTLR3_BASE_TREE ENGINE_SYMBOL2961_tree;
    pANTLR3_BASE_TREE TYPE_SYMBOL2962_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2963_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2965_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2966_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2968_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2969_tree;
    pANTLR3_BASE_TREE AVG_ROW_LENGTH_SYMBOL2971_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2972_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2974_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2975_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2977_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2978_tree;
    pANTLR3_BASE_TREE AUTO_INCREMENT_SYMBOL2980_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2981_tree;
    pANTLR3_BASE_TREE PACK_KEYS_SYMBOL2983_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2984_tree;
    pANTLR3_BASE_TREE set2985_tree;
    pANTLR3_BASE_TREE set2986_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2987_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2989_tree;
    pANTLR3_BASE_TREE set2990_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2991_tree;
    pANTLR3_BASE_TREE INTEGER2992_tree;
    pANTLR3_BASE_TREE DELAY_KEY_WRITE_SYMBOL2993_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2994_tree;
    pANTLR3_BASE_TREE INTEGER2995_tree;
    pANTLR3_BASE_TREE ROW_FORMAT_SYMBOL2996_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2997_tree;
    pANTLR3_BASE_TREE set2998_tree;
    pANTLR3_BASE_TREE UNION_SYMBOL2999_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3000_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3001_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3003_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL3004_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL3005_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3006_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3009_tree;
    pANTLR3_BASE_TREE INSERT_METHOD_SYMBOL3011_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3012_tree;
    pANTLR3_BASE_TREE set3013_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL3014_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL3015_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3016_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL3018_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL3019_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3020_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL3022_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL3024_tree;
    pANTLR3_BASE_TREE set3025_tree;
    pANTLR3_BASE_TREE CONNECTION_SYMBOL3026_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3027_tree;
    pANTLR3_BASE_TREE KEY_BLOCK_SIZE_SYMBOL3029_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3030_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ENGINE_SYMBOL2961       = NULL;
    TYPE_SYMBOL2962       = NULL;
    EQUAL_OPERATOR2963       = NULL;
    MAX_ROWS_SYMBOL2965       = NULL;
    EQUAL_OPERATOR2966       = NULL;
    MIN_ROWS_SYMBOL2968       = NULL;
    EQUAL_OPERATOR2969       = NULL;
    AVG_ROW_LENGTH_SYMBOL2971       = NULL;
    EQUAL_OPERATOR2972       = NULL;
    PASSWORD_SYMBOL2974       = NULL;
    EQUAL_OPERATOR2975       = NULL;
    COMMENT_SYMBOL2977       = NULL;
    EQUAL_OPERATOR2978       = NULL;
    AUTO_INCREMENT_SYMBOL2980       = NULL;
    EQUAL_OPERATOR2981       = NULL;
    PACK_KEYS_SYMBOL2983       = NULL;
    EQUAL_OPERATOR2984       = NULL;
    set2985       = NULL;
    set2986       = NULL;
    EQUAL_OPERATOR2987       = NULL;
    DEFAULT_SYMBOL2989       = NULL;
    set2990       = NULL;
    EQUAL_OPERATOR2991       = NULL;
    INTEGER2992       = NULL;
    DELAY_KEY_WRITE_SYMBOL2993       = NULL;
    EQUAL_OPERATOR2994       = NULL;
    INTEGER2995       = NULL;
    ROW_FORMAT_SYMBOL2996       = NULL;
    EQUAL_OPERATOR2997       = NULL;
    set2998       = NULL;
    UNION_SYMBOL2999       = NULL;
    EQUAL_OPERATOR3000       = NULL;
    OPEN_PAR_SYMBOL3001       = NULL;
    CLOSE_PAR_SYMBOL3003       = NULL;
    DEFAULT_SYMBOL3004       = NULL;
    COLLATE_SYMBOL3005       = NULL;
    EQUAL_OPERATOR3006       = NULL;
    EQUAL_OPERATOR3009       = NULL;
    INSERT_METHOD_SYMBOL3011       = NULL;
    EQUAL_OPERATOR3012       = NULL;
    set3013       = NULL;
    DATA_SYMBOL3014       = NULL;
    DIRECTORY_SYMBOL3015       = NULL;
    EQUAL_OPERATOR3016       = NULL;
    INDEX_SYMBOL3018       = NULL;
    DIRECTORY_SYMBOL3019       = NULL;
    EQUAL_OPERATOR3020       = NULL;
    TABLESPACE_SYMBOL3022       = NULL;
    STORAGE_SYMBOL3024       = NULL;
    set3025       = NULL;
    CONNECTION_SYMBOL3026       = NULL;
    EQUAL_OPERATOR3027       = NULL;
    KEY_BLOCK_SIZE_SYMBOL3029       = NULL;
    EQUAL_OPERATOR3030       = NULL;
    engine_ref2964.tree = NULL;

    int_or_param_marker2967.tree = NULL;

    int_or_param_marker2970.tree = NULL;

    int_or_param_marker2973.tree = NULL;

    text_or_param_marker2976.tree = NULL;

    text_or_param_marker2979.tree = NULL;

    int_or_param_marker2982.tree = NULL;

    int_or_param_marker2988.tree = NULL;

    qualified_identifier_list3002.tree = NULL;

    collation_name_or_default3007.tree = NULL;

    charset3008.tree = NULL;

    charset_name_or_default3010.tree = NULL;

    text_or_param_marker3017.tree = NULL;

    text_or_param_marker3021.tree = NULL;

    identifier3023.tree = NULL;

    text_or_param_marker3028.tree = NULL;

    int_or_param_marker3031.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ENGINE_SYMBOL2961_tree   = NULL;
    TYPE_SYMBOL2962_tree   = NULL;
    EQUAL_OPERATOR2963_tree   = NULL;
    MAX_ROWS_SYMBOL2965_tree   = NULL;
    EQUAL_OPERATOR2966_tree   = NULL;
    MIN_ROWS_SYMBOL2968_tree   = NULL;
    EQUAL_OPERATOR2969_tree   = NULL;
    AVG_ROW_LENGTH_SYMBOL2971_tree   = NULL;
    EQUAL_OPERATOR2972_tree   = NULL;
    PASSWORD_SYMBOL2974_tree   = NULL;
    EQUAL_OPERATOR2975_tree   = NULL;
    COMMENT_SYMBOL2977_tree   = NULL;
    EQUAL_OPERATOR2978_tree   = NULL;
    AUTO_INCREMENT_SYMBOL2980_tree   = NULL;
    EQUAL_OPERATOR2981_tree   = NULL;
    PACK_KEYS_SYMBOL2983_tree   = NULL;
    EQUAL_OPERATOR2984_tree   = NULL;
    set2985_tree   = NULL;
    set2986_tree   = NULL;
    EQUAL_OPERATOR2987_tree   = NULL;
    DEFAULT_SYMBOL2989_tree   = NULL;
    set2990_tree   = NULL;
    EQUAL_OPERATOR2991_tree   = NULL;
    INTEGER2992_tree   = NULL;
    DELAY_KEY_WRITE_SYMBOL2993_tree   = NULL;
    EQUAL_OPERATOR2994_tree   = NULL;
    INTEGER2995_tree   = NULL;
    ROW_FORMAT_SYMBOL2996_tree   = NULL;
    EQUAL_OPERATOR2997_tree   = NULL;
    set2998_tree   = NULL;
    UNION_SYMBOL2999_tree   = NULL;
    EQUAL_OPERATOR3000_tree   = NULL;
    OPEN_PAR_SYMBOL3001_tree   = NULL;
    CLOSE_PAR_SYMBOL3003_tree   = NULL;
    DEFAULT_SYMBOL3004_tree   = NULL;
    COLLATE_SYMBOL3005_tree   = NULL;
    EQUAL_OPERATOR3006_tree   = NULL;
    EQUAL_OPERATOR3009_tree   = NULL;
    INSERT_METHOD_SYMBOL3011_tree   = NULL;
    EQUAL_OPERATOR3012_tree   = NULL;
    set3013_tree   = NULL;
    DATA_SYMBOL3014_tree   = NULL;
    DIRECTORY_SYMBOL3015_tree   = NULL;
    EQUAL_OPERATOR3016_tree   = NULL;
    INDEX_SYMBOL3018_tree   = NULL;
    DIRECTORY_SYMBOL3019_tree   = NULL;
    EQUAL_OPERATOR3020_tree   = NULL;
    TABLESPACE_SYMBOL3022_tree   = NULL;
    STORAGE_SYMBOL3024_tree   = NULL;
    set3025_tree   = NULL;
    CONNECTION_SYMBOL3026_tree   = NULL;
    EQUAL_OPERATOR3027_tree   = NULL;
    KEY_BLOCK_SIZE_SYMBOL3029_tree   = NULL;
    EQUAL_OPERATOR3030_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2776:20: ( ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? engine_ref | MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | AVG_ROW_LENGTH_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | PASSWORD_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | COMMENT_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | AUTO_INCREMENT_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker | PACK_KEYS_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | DEFAULT_SYMBOL ) |{...}? => ( STATS_AUTO_RECALC_SYMBOL | STATS_PERSISTENT_SYMBOL | STATS_SAMPLE_PAGES_SYMBOL ) ( EQUAL_OPERATOR )? ( int_or_param_marker | DEFAULT_SYMBOL ) | ( CHECKSUM_SYMBOL | TABLE_CHECKSUM_SYMBOL ) ( EQUAL_OPERATOR )? INTEGER | DELAY_KEY_WRITE_SYMBOL ( EQUAL_OPERATOR )? INTEGER | ROW_FORMAT_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | DYNAMIC_SYMBOL | FIXED_SYMBOL | COMPRESSED_SYMBOL | REDUNDANT_SYMBOL | COMPACT_SYMBOL ) | UNION_SYMBOL ^ ( EQUAL_OPERATOR )? OPEN_PAR_SYMBOL qualified_identifier_list CLOSE_PAR_SYMBOL | ( DEFAULT_SYMBOL )? ( COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default | charset ( EQUAL_OPERATOR )? charset_name_or_default ) | INSERT_METHOD_SYMBOL ( EQUAL_OPERATOR )? ( NO_SYMBOL | FIRST_SYMBOL | LAST_SYMBOL ) | DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | TABLESPACE_SYMBOL identifier | STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL ) | CONNECTION_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker | KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker )

            ANTLR3_UINT32 alt860;

            alt860=21;

            {
                int LA860_0 = LA(1);
                if ( (LA860_0 == ENGINE_SYMBOL))
                {
                    alt860=1;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA860_0 == TYPE_SYMBOL))
                {
                    alt860=1;
                }
                else if ( (LA860_0 == MAX_ROWS_SYMBOL))
                {
                    alt860=2;
                }
                else if ( (LA860_0 == MIN_ROWS_SYMBOL))
                {
                    alt860=3;
                }
                else if ( (LA860_0 == AVG_ROW_LENGTH_SYMBOL))
                {
                    alt860=4;
                }
                else if ( (LA860_0 == PASSWORD_SYMBOL))
                {
                    alt860=5;
                }
                else if ( (LA860_0 == COMMENT_SYMBOL))
                {
                    alt860=6;
                }
                else if ( (LA860_0 == AUTO_INCREMENT_SYMBOL))
                {
                    alt860=7;
                }
                else if ( (LA860_0 == PACK_KEYS_SYMBOL))
                {
                    alt860=8;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA860_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA860_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt860=9;
                }
                else if ( (LA860_0 == CHECKSUM_SYMBOL || LA860_0 == TABLE_CHECKSUM_SYMBOL))
                {
                    alt860=10;
                }
                else if ( (LA860_0 == DELAY_KEY_WRITE_SYMBOL))
                {
                    alt860=11;
                }
                else if ( (LA860_0 == ROW_FORMAT_SYMBOL))
                {
                    alt860=12;
                }
                else if ( (LA860_0 == UNION_SYMBOL))
                {
                    alt860=13;
                }
                else if ( (LA860_0 == CHARSET_SYMBOL || LA860_0 == CHAR_SYMBOL || LA860_0 == COLLATE_SYMBOL || LA860_0 == DEFAULT_SYMBOL))
                {
                    alt860=14;
                }
                else if ( (LA860_0 == INSERT_METHOD_SYMBOL))
                {
                    alt860=15;
                }
                else if ( (LA860_0 == DATA_SYMBOL))
                {
                    alt860=16;
                }
                else if ( (LA860_0 == INDEX_SYMBOL))
                {
                    alt860=17;
                }
                else if ( (LA860_0 == TABLESPACE_SYMBOL))
                {
                    alt860=18;
                }
                else if ( (LA860_0 == STORAGE_SYMBOL))
                {
                    alt860=19;
                }
                else if ( (LA860_0 == CONNECTION_SYMBOL))
                {
                    alt860=20;
                }
                else if ( (LA860_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt860=21;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 860;
                    EXCEPTION->state        = 0;


                    goto rulecreate_table_optionEx;

                }
            }
            switch (alt860)
            {
        	case 1:
        	    // MySQL.g:2777:2: ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? engine_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2777:2: ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL )
        	        {
        	            int alt836=2;
        	            {
        	                int LA836_0 = LA(1);
        	                if ( (LA836_0 == ENGINE_SYMBOL))
        	                {
        	                    alt836=1;
        	                }
        	                else if ( ((SERVER_VERSION < 50500)) && (LA836_0 == TYPE_SYMBOL))
        	                {
        	                    alt836=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 836;
        	                    EXCEPTION->state        = 0;


        	                    goto rulecreate_table_optionEx;

        	                }
        	            }
        	            switch (alt836)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2777:3: ENGINE_SYMBOL
        	        	    {
        	        	        ENGINE_SYMBOL2961 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_create_table_option15431);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ENGINE_SYMBOL2961_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2961));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2961_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2777:19: {...}? => TYPE_SYMBOL
        	        	    {
        	        	        if ( !((SERVER_VERSION < 50500)) )
        	        	        {
        	        	            if (BACKTRACKING>0)
        	        	            {
        	        	                FAILEDFLAG = ANTLR3_TRUE;
        	        	                return retval;
        	        	            }

        	        	                CONSTRUCTEX();
        	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	                EXCEPTION->message      = (void *)"SERVER_VERSION < 50500";
        	        	                EXCEPTION->ruleName	 = (void *)"create_table_option";


        	        	        }

        	        	        TYPE_SYMBOL2962 = (pANTLR3_COMMON_TOKEN) MATCHT(TYPE_SYMBOL, &FOLLOW_TYPE_SYMBOL_in_create_table_option15439);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TYPE_SYMBOL2962_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TYPE_SYMBOL2962));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TYPE_SYMBOL2962_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2777:61: ( EQUAL_OPERATOR )?
        	        {
        	            int alt837=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt837=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt837)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2777:61: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2963 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15442);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2963));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2963_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_engine_ref_in_create_table_option15445);
        	        engine_ref2964=engine_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref2964.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2778:4: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_ROWS_SYMBOL2965 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option15450);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_ROWS_SYMBOL2965_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2965));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2965_tree);
        	        }

        	        // MySQL.g:2778:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt838=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt838=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt838)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2778:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2966 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15452);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2966_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2966));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2966_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option15455);
        	        int_or_param_marker2967=int_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, int_or_param_marker2967.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2779:4: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MIN_ROWS_SYMBOL2968 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option15460);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MIN_ROWS_SYMBOL2968_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2968));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2968_tree);
        	        }

        	        // MySQL.g:2779:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt839=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt839=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt839)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2779:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2969 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15462);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2969_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2969));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2969_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option15465);
        	        int_or_param_marker2970=int_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, int_or_param_marker2970.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2780:4: AVG_ROW_LENGTH_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AVG_ROW_LENGTH_SYMBOL2971 = (pANTLR3_COMMON_TOKEN) MATCHT(AVG_ROW_LENGTH_SYMBOL, &FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option15470);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AVG_ROW_LENGTH_SYMBOL2971_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AVG_ROW_LENGTH_SYMBOL2971));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AVG_ROW_LENGTH_SYMBOL2971_tree);
        	        }

        	        // MySQL.g:2780:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt840=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt840=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt840)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2780:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2972 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15472);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2972_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2972));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2972_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option15475);
        	        int_or_param_marker2973=int_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, int_or_param_marker2973.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2781:4: PASSWORD_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL2974 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_create_table_option15480);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL2974_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2974));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2974_tree);
        	        }

        	        // MySQL.g:2781:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt841=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt841=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt841)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2781:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2975 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15482);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2975));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2975_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option15485);
        	        text_or_param_marker2976=text_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_param_marker2976.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2782:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL2977 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_table_option15490);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2977_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2977));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2977_tree);
        	        }

        	        // MySQL.g:2782:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt842=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt842=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt842)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2782:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2978 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15492);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2978_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2978));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2978_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option15495);
        	        text_or_param_marker2979=text_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_param_marker2979.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2783:4: AUTO_INCREMENT_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTO_INCREMENT_SYMBOL2980 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTO_INCREMENT_SYMBOL, &FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option15500);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTO_INCREMENT_SYMBOL2980_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTO_INCREMENT_SYMBOL2980));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTO_INCREMENT_SYMBOL2980_tree);
        	        }

        	        // MySQL.g:2783:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt843=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt843=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt843)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2783:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2981 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15502);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2981_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2981));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2981_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option15505);
        	        int_or_param_marker2982=int_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, int_or_param_marker2982.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2784:4: PACK_KEYS_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PACK_KEYS_SYMBOL2983 = (pANTLR3_COMMON_TOKEN) MATCHT(PACK_KEYS_SYMBOL, &FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option15510);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PACK_KEYS_SYMBOL2983_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PACK_KEYS_SYMBOL2983));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PACK_KEYS_SYMBOL2983_tree);
        	        }

        	        // MySQL.g:2784:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt844=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt844=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt844)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2784:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2984 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15512);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2984_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2984));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2984_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set2985=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DEFAULT_SYMBOL || LA(1) == INTEGER )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2985))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_table_optionEx;
        	        }


        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2785:4: {...}? => ( STATS_AUTO_RECALC_SYMBOL | STATS_PERSISTENT_SYMBOL | STATS_SAMPLE_PAGES_SYMBOL ) ( EQUAL_OPERATOR )? ( int_or_param_marker | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50600)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50600";
        	                EXCEPTION->ruleName	 = (void *)"create_table_option";


        	        }

        	        set2986=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( ((LA(1) >= STATS_AUTO_RECALC_SYMBOL) && (LA(1) <= STATS_SAMPLE_PAGES_SYMBOL)) )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2986))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_table_optionEx;
        	        }


        	        // MySQL.g:2786:3: ( EQUAL_OPERATOR )?
        	        {
        	            int alt845=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt845=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt845)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2786:3: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2987 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15544);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2987_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2987));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2987_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2786:19: ( int_or_param_marker | DEFAULT_SYMBOL )
        	        {
        	            int alt846=2;
        	            switch ( LA(1) )
        	            {
        	            case INTEGER:
        	            case PARAM_MARKER:
        	            	{
        	            		alt846=1;
        	            	}
        	                break;
        	            case DEFAULT_SYMBOL:
        	            	{
        	            		alt846=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 846;
        	                EXCEPTION->state        = 0;


        	                goto rulecreate_table_optionEx;

        	            }

        	            switch (alt846)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2786:20: int_or_param_marker
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option15548);
        	        	        int_or_param_marker2988=int_or_param_marker(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, int_or_param_marker2988.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2786:42: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL2989 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_create_table_option15552);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL2989_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2989));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2989_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2787:4: ( CHECKSUM_SYMBOL | TABLE_CHECKSUM_SYMBOL ) ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2990=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == CHECKSUM_SYMBOL || LA(1) == TABLE_CHECKSUM_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2990))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_table_optionEx;
        	        }


        	        // MySQL.g:2787:46: ( EQUAL_OPERATOR )?
        	        {
        	            int alt847=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt847=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt847)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2787:46: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2991 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15566);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2991_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2991));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2991_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2992 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_create_table_option15569);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2992_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2992));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2992_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2788:4: DELAY_KEY_WRITE_SYMBOL ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DELAY_KEY_WRITE_SYMBOL2993 = (pANTLR3_COMMON_TOKEN) MATCHT(DELAY_KEY_WRITE_SYMBOL, &FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option15575);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DELAY_KEY_WRITE_SYMBOL2993_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELAY_KEY_WRITE_SYMBOL2993));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DELAY_KEY_WRITE_SYMBOL2993_tree);
        	        }

        	        // MySQL.g:2788:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt848=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt848=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt848)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2788:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2994 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15577);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2994_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2994));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2994_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2995 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_create_table_option15580);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2995_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2995));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2995_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2789:4: ROW_FORMAT_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | DYNAMIC_SYMBOL | FIXED_SYMBOL | COMPRESSED_SYMBOL | REDUNDANT_SYMBOL | COMPACT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ROW_FORMAT_SYMBOL2996 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_FORMAT_SYMBOL, &FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option15585);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_FORMAT_SYMBOL2996_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_FORMAT_SYMBOL2996));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_FORMAT_SYMBOL2996_tree);
        	        }

        	        // MySQL.g:2789:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt849=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt849=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt849)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2789:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2997 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15587);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2997_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2997));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2997_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set2998=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == COMPACT_SYMBOL || LA(1) == COMPRESSED_SYMBOL || LA(1) == DYNAMIC_SYMBOL || LA(1) == FIXED_SYMBOL || LA(1) == REDUNDANT_SYMBOL || LA(1) == DEFAULT_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2998))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_table_optionEx;
        	        }


        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2790:4: UNION_SYMBOL ^ ( EQUAL_OPERATOR )? OPEN_PAR_SYMBOL qualified_identifier_list CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNION_SYMBOL2999 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_create_table_option15617);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNION_SYMBOL2999_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL2999))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNION_SYMBOL2999_tree, root_0));
        	        }

        	        // MySQL.g:2790:18: ( EQUAL_OPERATOR )?
        	        {
        	            int alt850=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt850=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt850)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2790:18: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3000 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15620);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3000_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3000));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3000_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL3001 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option15623);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL3001_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3001));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3001_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_create_table_option15625);
        	        qualified_identifier_list3002=qualified_identifier_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier_list3002.tree);

        	        CLOSE_PAR_SYMBOL3003 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option15627);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL3003_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3003));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3003_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2791:4: ( DEFAULT_SYMBOL )? ( COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default | charset ( EQUAL_OPERATOR )? charset_name_or_default )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2791:4: ( DEFAULT_SYMBOL )?
        	        {
        	            int alt851=2;
        	            switch ( LA(1) )
        	            {
        	                case DEFAULT_SYMBOL:
        	                	{
        	                		alt851=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt851)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2791:4: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL3004 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_create_table_option15632);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL3004_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL3004));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL3004_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2792:3: ( COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default | charset ( EQUAL_OPERATOR )? charset_name_or_default )
        	        {
        	            int alt854=2;
        	            switch ( LA(1) )
        	            {
        	            case COLLATE_SYMBOL:
        	            	{
        	            		alt854=1;
        	            	}
        	                break;
        	            case CHARSET_SYMBOL:
        	            case CHAR_SYMBOL:
        	            	{
        	            		alt854=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 854;
        	                EXCEPTION->state        = 0;


        	                goto rulecreate_table_optionEx;

        	            }

        	            switch (alt854)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2793:4: COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default
        	        	    {
        	        	        COLLATE_SYMBOL3005 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_create_table_option15642);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLLATE_SYMBOL3005_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL3005));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL3005_tree);
        	        	        }

        	        	        // MySQL.g:2793:19: ( EQUAL_OPERATOR )?
        	        	        {
        	        	            int alt852=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case EQUAL_OPERATOR:
        	        	                	{
        	        	                		alt852=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt852)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2793:19: EQUAL_OPERATOR
        	        	        	    {
        	        	        	        EQUAL_OPERATOR3006 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15644);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_table_optionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR3006_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3006));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3006_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_create_table_option15647);
        	        	        collation_name_or_default3007=collation_name_or_default(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, collation_name_or_default3007.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2794:6: charset ( EQUAL_OPERATOR )? charset_name_or_default
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_create_table_option15654);
        	        	        charset3008=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset3008.tree);

        	        	        // MySQL.g:2794:14: ( EQUAL_OPERATOR )?
        	        	        {
        	        	            int alt853=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case EQUAL_OPERATOR:
        	        	                	{
        	        	                		alt853=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt853)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2794:14: EQUAL_OPERATOR
        	        	        	    {
        	        	        	        EQUAL_OPERATOR3009 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15656);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_table_optionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR3009_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3009));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3009_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_create_table_option15659);
        	        	        charset_name_or_default3010=charset_name_or_default(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name_or_default3010.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2797:4: INSERT_METHOD_SYMBOL ( EQUAL_OPERATOR )? ( NO_SYMBOL | FIRST_SYMBOL | LAST_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSERT_METHOD_SYMBOL3011 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_METHOD_SYMBOL, &FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option15669);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_METHOD_SYMBOL3011_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_METHOD_SYMBOL3011));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_METHOD_SYMBOL3011_tree);
        	        }

        	        // MySQL.g:2797:25: ( EQUAL_OPERATOR )?
        	        {
        	            int alt855=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt855=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt855)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2797:25: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3012 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15671);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3012_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3012));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3012_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set3013=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == NO_SYMBOL || LA(1) == FIRST_SYMBOL || LA(1) == LAST_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3013))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_table_optionEx;
        	        }


        	    }
        	    break;
        	case 16:
        	    // MySQL.g:2798:4: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATA_SYMBOL3014 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_create_table_option15689);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL3014_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL3014));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL3014_tree);
        	        }

        	        DIRECTORY_SYMBOL3015 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15691);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL3015_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL3015));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL3015_tree);
        	        }

        	        // MySQL.g:2798:33: ( EQUAL_OPERATOR )?
        	        {
        	            int alt856=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt856=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt856)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2798:33: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3016 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15693);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3016_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3016));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3016_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option15696);
        	        text_or_param_marker3017=text_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_param_marker3017.tree);

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2799:4: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INDEX_SYMBOL3018 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_table_option15701);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL3018_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL3018));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL3018_tree);
        	        }

        	        DIRECTORY_SYMBOL3019 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_create_table_option15703);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL3019_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL3019));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL3019_tree);
        	        }

        	        // MySQL.g:2799:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt857=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt857=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt857)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2799:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3020 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15705);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3020_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3020));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3020_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option15708);
        	        text_or_param_marker3021=text_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_param_marker3021.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2800:4: TABLESPACE_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TABLESPACE_SYMBOL3022 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_create_table_option15713);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL3022_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL3022));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL3022_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_create_table_option15715);
        	        identifier3023=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3023.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2801:4: STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STORAGE_SYMBOL3024 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_create_table_option15720);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STORAGE_SYMBOL3024_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL3024));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL3024_tree);
        	        }

        	        set3025=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DISK_SYMBOL || LA(1) == MEMORY_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3025))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulecreate_table_optionEx;
        	        }


        	    }
        	    break;
        	case 20:
        	    // MySQL.g:2802:4: CONNECTION_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONNECTION_SYMBOL3026 = (pANTLR3_COMMON_TOKEN) MATCHT(CONNECTION_SYMBOL, &FOLLOW_CONNECTION_SYMBOL_in_create_table_option15733);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONNECTION_SYMBOL3026_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONNECTION_SYMBOL3026));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONNECTION_SYMBOL3026_tree);
        	        }

        	        // MySQL.g:2802:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt858=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt858=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt858)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2802:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3027 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15735);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3027_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3027));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3027_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option15738);
        	        text_or_param_marker3028=text_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_param_marker3028.tree);

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2803:4: KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_BLOCK_SIZE_SYMBOL3029 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_BLOCK_SIZE_SYMBOL, &FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option15743);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_BLOCK_SIZE_SYMBOL3029_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_BLOCK_SIZE_SYMBOL3029));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_BLOCK_SIZE_SYMBOL3029_tree);
        	        }

        	        // MySQL.g:2803:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt859=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt859=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt859)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2803:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3030 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option15745);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3030_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3030));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3030_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option15748);
        	        int_or_param_marker3031=int_or_param_marker(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, int_or_param_marker3031.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulecreate_table_optionEx; /* Prevent compiler warnings */
    rulecreate_table_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end create_table_option */

/**
 * $ANTLR start partitioning
 * MySQL.g:2807:1: partitioning :{...}? => PARTITION_SYMBOL ^ BY_SYMBOL ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses | ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses ) ) ( PARTITIONS_SYMBOL INTEGER )? ( SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )? )? ( partition_definitions )? ;
 */
static MySQLParser_partitioning_return
partitioning(pMySQLParser ctx)
{
    MySQLParser_partitioning_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL3032;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3033;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL3034;
    pANTLR3_COMMON_TOKEN    HASH_SYMBOL3035;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3036;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3038;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL3039;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL3040;
    pANTLR3_COMMON_TOKEN    set3043;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3044;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3046;
    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL3047;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL3049;
    pANTLR3_COMMON_TOKEN    INTEGER3050;
    pANTLR3_COMMON_TOKEN    SUBPARTITION_SYMBOL3051;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3052;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL3053;
    pANTLR3_COMMON_TOKEN    HASH_SYMBOL3054;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3055;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3057;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL3058;
    pANTLR3_COMMON_TOKEN    SUBPARTITIONS_SYMBOL3061;
    pANTLR3_COMMON_TOKEN    INTEGER3062;
    MySQLParser_expression_return expression3037;
    #undef	RETURN_TYPE_expression3037
    #define	RETURN_TYPE_expression3037 MySQLParser_expression_return

    MySQLParser_partition_key_algorithm_return partition_key_algorithm3041;
    #undef	RETURN_TYPE_partition_key_algorithm3041
    #define	RETURN_TYPE_partition_key_algorithm3041 MySQLParser_partition_key_algorithm_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses3042;
    #undef	RETURN_TYPE_identifier_list_with_parentheses3042
    #define	RETURN_TYPE_identifier_list_with_parentheses3042 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_expression_return expression3045;
    #undef	RETURN_TYPE_expression3045
    #define	RETURN_TYPE_expression3045 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses3048;
    #undef	RETURN_TYPE_identifier_list_with_parentheses3048
    #define	RETURN_TYPE_identifier_list_with_parentheses3048 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_expression_return expression3056;
    #undef	RETURN_TYPE_expression3056
    #define	RETURN_TYPE_expression3056 MySQLParser_expression_return

    MySQLParser_partition_key_algorithm_return partition_key_algorithm3059;
    #undef	RETURN_TYPE_partition_key_algorithm3059
    #define	RETURN_TYPE_partition_key_algorithm3059 MySQLParser_partition_key_algorithm_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses3060;
    #undef	RETURN_TYPE_identifier_list_with_parentheses3060
    #define	RETURN_TYPE_identifier_list_with_parentheses3060 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_partition_definitions_return partition_definitions3063;
    #undef	RETURN_TYPE_partition_definitions3063
    #define	RETURN_TYPE_partition_definitions3063 MySQLParser_partition_definitions_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL3032_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3033_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL3034_tree;
    pANTLR3_BASE_TREE HASH_SYMBOL3035_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3036_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3038_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL3039_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL3040_tree;
    pANTLR3_BASE_TREE set3043_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3044_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3046_tree;
    pANTLR3_BASE_TREE COLUMNS_SYMBOL3047_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL3049_tree;
    pANTLR3_BASE_TREE INTEGER3050_tree;
    pANTLR3_BASE_TREE SUBPARTITION_SYMBOL3051_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3052_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL3053_tree;
    pANTLR3_BASE_TREE HASH_SYMBOL3054_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3055_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3057_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL3058_tree;
    pANTLR3_BASE_TREE SUBPARTITIONS_SYMBOL3061_tree;
    pANTLR3_BASE_TREE INTEGER3062_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL3032       = NULL;
    BY_SYMBOL3033       = NULL;
    LINEAR_SYMBOL3034       = NULL;
    HASH_SYMBOL3035       = NULL;
    OPEN_PAR_SYMBOL3036       = NULL;
    CLOSE_PAR_SYMBOL3038       = NULL;
    LINEAR_SYMBOL3039       = NULL;
    KEY_SYMBOL3040       = NULL;
    set3043       = NULL;
    OPEN_PAR_SYMBOL3044       = NULL;
    CLOSE_PAR_SYMBOL3046       = NULL;
    COLUMNS_SYMBOL3047       = NULL;
    PARTITIONS_SYMBOL3049       = NULL;
    INTEGER3050       = NULL;
    SUBPARTITION_SYMBOL3051       = NULL;
    BY_SYMBOL3052       = NULL;
    LINEAR_SYMBOL3053       = NULL;
    HASH_SYMBOL3054       = NULL;
    OPEN_PAR_SYMBOL3055       = NULL;
    CLOSE_PAR_SYMBOL3057       = NULL;
    KEY_SYMBOL3058       = NULL;
    SUBPARTITIONS_SYMBOL3061       = NULL;
    INTEGER3062       = NULL;
    expression3037.tree = NULL;

    partition_key_algorithm3041.tree = NULL;

    identifier_list_with_parentheses3042.tree = NULL;

    expression3045.tree = NULL;

    identifier_list_with_parentheses3048.tree = NULL;

    expression3056.tree = NULL;

    partition_key_algorithm3059.tree = NULL;

    identifier_list_with_parentheses3060.tree = NULL;

    partition_definitions3063.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL3032_tree   = NULL;
    BY_SYMBOL3033_tree   = NULL;
    LINEAR_SYMBOL3034_tree   = NULL;
    HASH_SYMBOL3035_tree   = NULL;
    OPEN_PAR_SYMBOL3036_tree   = NULL;
    CLOSE_PAR_SYMBOL3038_tree   = NULL;
    LINEAR_SYMBOL3039_tree   = NULL;
    KEY_SYMBOL3040_tree   = NULL;
    set3043_tree   = NULL;
    OPEN_PAR_SYMBOL3044_tree   = NULL;
    CLOSE_PAR_SYMBOL3046_tree   = NULL;
    COLUMNS_SYMBOL3047_tree   = NULL;
    PARTITIONS_SYMBOL3049_tree   = NULL;
    INTEGER3050_tree   = NULL;
    SUBPARTITION_SYMBOL3051_tree   = NULL;
    BY_SYMBOL3052_tree   = NULL;
    LINEAR_SYMBOL3053_tree   = NULL;
    HASH_SYMBOL3054_tree   = NULL;
    OPEN_PAR_SYMBOL3055_tree   = NULL;
    CLOSE_PAR_SYMBOL3057_tree   = NULL;
    KEY_SYMBOL3058_tree   = NULL;
    SUBPARTITIONS_SYMBOL3061_tree   = NULL;
    INTEGER3062_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2807:13: ({...}? => PARTITION_SYMBOL ^ BY_SYMBOL ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses | ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses ) ) ( PARTITIONS_SYMBOL INTEGER )? ( SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )? )? ( partition_definitions )? )
        // MySQL.g:2808:2: {...}? => PARTITION_SYMBOL ^ BY_SYMBOL ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses | ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses ) ) ( PARTITIONS_SYMBOL INTEGER )? ( SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )? )? ( partition_definitions )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50100)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50100";
                    EXCEPTION->ruleName	 = (void *)"partitioning";


            }

            PARTITION_SYMBOL3032 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partitioning15762);
            if  (HASEXCEPTION())
            {
                goto rulepartitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL3032_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL3032))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PARTITION_SYMBOL3032_tree, root_0));
            }

            BY_SYMBOL3033 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_partitioning15765);
            if  (HASEXCEPTION())
            {
                goto rulepartitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL3033_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3033));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3033_tree);
            }

            // MySQL.g:2809:2: ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses | ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses ) )
            {
                int alt865=3;
                switch ( LA(1) )
                {
                case LINEAR_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case HASH_SYMBOL:
                			{
                				alt865=1;
                			}
                		    break;
                		case KEY_SYMBOL:
                			{
                				alt865=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 865;
                		    EXCEPTION->state        = 1;


                		    goto rulepartitioningEx;

                		}

                	}
                    break;
                case HASH_SYMBOL:
                	{
                		alt865=1;
                	}
                    break;
                case KEY_SYMBOL:
                	{
                		alt865=2;
                	}
                    break;
                case LIST_SYMBOL:
                case RANGE_SYMBOL:
                	{
                		alt865=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 865;
                    EXCEPTION->state        = 0;


                    goto rulepartitioningEx;

                }

                switch (alt865)
                {
            	case 1:
            	    // MySQL.g:2810:3: ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:2810:3: ( LINEAR_SYMBOL )?
            	        {
            	            int alt861=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt861=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt861)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2810:3: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL3034 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning15772);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL3034_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL3034));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL3034_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        HASH_SYMBOL3035 = (pANTLR3_COMMON_TOKEN) MATCHT(HASH_SYMBOL, &FOLLOW_HASH_SYMBOL_in_partitioning15775);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        HASH_SYMBOL3035_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HASH_SYMBOL3035));
            	        ADAPTOR->addChild(ADAPTOR, root_0, HASH_SYMBOL3035_tree);
            	        }

            	        OPEN_PAR_SYMBOL3036 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15777);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL3036_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3036));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3036_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_partitioning15779);
            	        expression3037=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression3037.tree);

            	        CLOSE_PAR_SYMBOL3038 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15781);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL3038_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3038));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3038_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2811:5: ( LINEAR_SYMBOL )? KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses
            	    {
            	        // MySQL.g:2811:5: ( LINEAR_SYMBOL )?
            	        {
            	            int alt862=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt862=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt862)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2811:5: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL3039 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning15787);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL3039_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL3039));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL3039_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        KEY_SYMBOL3040 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_partitioning15790);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        KEY_SYMBOL3040_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL3040));
            	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL3040_tree);
            	        }

            	        // MySQL.g:2811:31: ( partition_key_algorithm )?
            	        {
            	            int alt863=2;
            	            {
            	                int LA863_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50700)) && (LA863_0 == ALGORITHM_SYMBOL))
            	                {
            	                    alt863=1;
            	                }
            	            }
            	            switch (alt863)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2811:31: partition_key_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partition_key_algorithm_in_partitioning15792);
            	        	        partition_key_algorithm3041=partition_key_algorithm(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_key_algorithm3041.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning15795);
            	        identifier_list_with_parentheses3042=identifier_list_with_parentheses(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses3042.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2812:5: ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses )
            	    {
            	        set3043=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == LIST_SYMBOL || LA(1) == RANGE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3043))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto rulepartitioningEx;
            	        }


            	        // MySQL.g:2813:4: ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses )
            	        {
            	            int alt864=2;
            	            {
            	                int LA864_0 = LA(1);
            	                if ( (LA864_0 == OPEN_PAR_SYMBOL))
            	                {
            	                    alt864=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50500)) && (LA864_0 == COLUMNS_SYMBOL))
            	                {
            	                    alt864=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 864;
            	                    EXCEPTION->state        = 0;


            	                    goto rulepartitioningEx;

            	                }
            	            }
            	            switch (alt864)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2814:5: OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	    {
            	        	        OPEN_PAR_SYMBOL3044 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15819);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        OPEN_PAR_SYMBOL3044_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3044));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3044_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_partitioning15821);
            	        	        expression3045=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression3045.tree);

            	        	        CLOSE_PAR_SYMBOL3046 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15823);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL3046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3046));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3046_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2815:7: {...}? => COLUMNS_SYMBOL identifier_list_with_parentheses
            	        	    {
            	        	        if ( !((SERVER_VERSION >= 50500)) )
            	        	        {
            	        	            if (BACKTRACKING>0)
            	        	            {
            	        	                FAILEDFLAG = ANTLR3_TRUE;
            	        	                return retval;
            	        	            }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50500";
            	        	                EXCEPTION->ruleName	 = (void *)"partitioning";


            	        	        }

            	        	        COLUMNS_SYMBOL3047 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_partitioning15835);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COLUMNS_SYMBOL3047_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL3047));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL3047_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning15837);
            	        	        identifier_list_with_parentheses3048=identifier_list_with_parentheses(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses3048.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2818:2: ( PARTITIONS_SYMBOL INTEGER )?
            {
                int alt866=2;
                switch ( LA(1) )
                {
                    case PARTITIONS_SYMBOL:
                    	{
                    		alt866=1;
                    	}
                        break;
                }

                switch (alt866)
                {
            	case 1:
            	    // MySQL.g:2818:3: PARTITIONS_SYMBOL INTEGER
            	    {
            	        PARTITIONS_SYMBOL3049 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_partitioning15849);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PARTITIONS_SYMBOL3049_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONS_SYMBOL3049));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONS_SYMBOL3049_tree);
            	        }

            	        INTEGER3050 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partitioning15851);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3050_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3050));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3050_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2819:2: ( SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )? )?
            {
                int alt872=2;
                switch ( LA(1) )
                {
                    case SUBPARTITION_SYMBOL:
                    	{
                    		alt872=1;
                    	}
                        break;
                }

                switch (alt872)
                {
            	case 1:
            	    // MySQL.g:2820:3: SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )?
            	    {
            	        SUBPARTITION_SYMBOL3051 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITION_SYMBOL, &FOLLOW_SUBPARTITION_SYMBOL_in_partitioning15860);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SUBPARTITION_SYMBOL3051_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITION_SYMBOL3051));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITION_SYMBOL3051_tree);
            	        }

            	        BY_SYMBOL3052 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_partitioning15862);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL3052_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3052));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3052_tree);
            	        }

            	        // MySQL.g:2820:33: ( LINEAR_SYMBOL )?
            	        {
            	            int alt867=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt867=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt867)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2820:33: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL3053 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning15864);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL3053_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL3053));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL3053_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:2821:3: ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )?
            	        {
            	            int alt871=2;
            	            switch ( LA(1) )
            	            {
            	                case HASH_SYMBOL:
            	                case KEY_SYMBOL:
            	                	{
            	                		alt871=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt871)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2822:4: ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )?
            	        	    {
            	        	        // MySQL.g:2822:4: ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses )
            	        	        {
            	        	            int alt869=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case HASH_SYMBOL:
            	        	            	{
            	        	            		alt869=1;
            	        	            	}
            	        	                break;
            	        	            case KEY_SYMBOL:
            	        	            	{
            	        	            		alt869=2;
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 869;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulepartitioningEx;

            	        	            }

            	        	            switch (alt869)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2823:6: HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	        	    {
            	        	        	        HASH_SYMBOL3054 = (pANTLR3_COMMON_TOKEN) MATCHT(HASH_SYMBOL, &FOLLOW_HASH_SYMBOL_in_partitioning15881);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        HASH_SYMBOL3054_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HASH_SYMBOL3054));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, HASH_SYMBOL3054_tree);
            	        	        	        }

            	        	        	        OPEN_PAR_SYMBOL3055 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning15883);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        OPEN_PAR_SYMBOL3055_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3055));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3055_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_expression_in_partitioning15885);
            	        	        	        expression3056=expression(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression3056.tree);

            	        	        	        CLOSE_PAR_SYMBOL3057 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning15887);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        CLOSE_PAR_SYMBOL3057_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3057));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3057_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:2824:7: KEY_SYMBOL ( partition_key_algorithm )? identifier_list_with_parentheses
            	        	        	    {
            	        	        	        KEY_SYMBOL3058 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_partitioning15895);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        KEY_SYMBOL3058_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL3058));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL3058_tree);
            	        	        	        }

            	        	        	        // MySQL.g:2824:18: ( partition_key_algorithm )?
            	        	        	        {
            	        	        	            int alt868=2;
            	        	        	            {
            	        	        	                int LA868_0 = LA(1);
            	        	        	                if ( ((SERVER_VERSION >= 50700)) && (LA868_0 == ALGORITHM_SYMBOL))
            	        	        	                {
            	        	        	                    alt868=1;
            	        	        	                }
            	        	        	            }
            	        	        	            switch (alt868)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:2824:18: partition_key_algorithm
            	        	        	        	    {
            	        	        	        	        FOLLOWPUSH(FOLLOW_partition_key_algorithm_in_partitioning15897);
            	        	        	        	        partition_key_algorithm3059=partition_key_algorithm(ctx);

            	        	        	        	        FOLLOWPOP();
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto rulepartitioningEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_key_algorithm3059.tree);

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning15900);
            	        	        	        identifier_list_with_parentheses3060=identifier_list_with_parentheses(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses3060.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:2826:4: ( SUBPARTITIONS_SYMBOL INTEGER )?
            	        	        {
            	        	            int alt870=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case SUBPARTITIONS_SYMBOL:
            	        	                	{
            	        	                		alt870=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt870)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2826:5: SUBPARTITIONS_SYMBOL INTEGER
            	        	        	    {
            	        	        	        SUBPARTITIONS_SYMBOL3061 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITIONS_SYMBOL, &FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning15911);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        SUBPARTITIONS_SYMBOL3061_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITIONS_SYMBOL3061));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITIONS_SYMBOL3061_tree);
            	        	        	        }

            	        	        	        INTEGER3062 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partitioning15913);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        INTEGER3062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3062));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3062_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2829:5: ( partition_definitions )?
            {
                int alt873=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case PARTITION_SYMBOL:
                    		    	{
                    		    		alt873=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt873)
                {
            	case 1:
            	    // MySQL.g:2829:5: partition_definitions
            	    {
            	        FOLLOWPUSH(FOLLOW_partition_definitions_in_partitioning15933);
            	        partition_definitions3063=partition_definitions(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definitions3063.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepartitioningEx; /* Prevent compiler warnings */
    rulepartitioningEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partitioning */

/**
 * $ANTLR start partition_key_algorithm
 * MySQL.g:2832:1: partition_key_algorithm :{...}? => ALGORITHM_SYMBOL EQUAL_OPERATOR INTEGER ;
 */
static MySQLParser_partition_key_algorithm_return
partition_key_algorithm(pMySQLParser ctx)
{
    MySQLParser_partition_key_algorithm_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALGORITHM_SYMBOL3064;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3065;
    pANTLR3_COMMON_TOKEN    INTEGER3066;

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL3064_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3065_tree;
    pANTLR3_BASE_TREE INTEGER3066_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL3064       = NULL;
    EQUAL_OPERATOR3065       = NULL;
    INTEGER3066       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALGORITHM_SYMBOL3064_tree   = NULL;
    EQUAL_OPERATOR3065_tree   = NULL;
    INTEGER3066_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2832:24: ({...}? => ALGORITHM_SYMBOL EQUAL_OPERATOR INTEGER )
        // MySQL.g:2833:2: {...}? => ALGORITHM_SYMBOL EQUAL_OPERATOR INTEGER
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50700)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50700";
                    EXCEPTION->ruleName	 = (void *)"partition_key_algorithm";


            }

            ALGORITHM_SYMBOL3064 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_partition_key_algorithm15948);
            if  (HASEXCEPTION())
            {
                goto rulepartition_key_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ALGORITHM_SYMBOL3064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALGORITHM_SYMBOL3064));
            ADAPTOR->addChild(ADAPTOR, root_0, ALGORITHM_SYMBOL3064_tree);
            }

            EQUAL_OPERATOR3065 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_key_algorithm15950);
            if  (HASEXCEPTION())
            {
                goto rulepartition_key_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR3065_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3065));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3065_tree);
            }

            INTEGER3066 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partition_key_algorithm15952);
            if  (HASEXCEPTION())
            {
                goto rulepartition_key_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3066_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3066));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3066_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepartition_key_algorithmEx; /* Prevent compiler warnings */
    rulepartition_key_algorithmEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partition_key_algorithm */

/**
 * $ANTLR start partition_definitions
 * MySQL.g:2836:1: partition_definitions : OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_partition_definitions_return
partition_definitions(pMySQLParser ctx)
{
    MySQLParser_partition_definitions_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3067;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3069;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3071;
    MySQLParser_partition_definition_return partition_definition3068;
    #undef	RETURN_TYPE_partition_definition3068
    #define	RETURN_TYPE_partition_definition3068 MySQLParser_partition_definition_return

    MySQLParser_partition_definition_return partition_definition3070;
    #undef	RETURN_TYPE_partition_definition3070
    #define	RETURN_TYPE_partition_definition3070 MySQLParser_partition_definition_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3067_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3069_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3071_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3067       = NULL;
    COMMA_SYMBOL3069       = NULL;
    CLOSE_PAR_SYMBOL3071       = NULL;
    partition_definition3068.tree = NULL;

    partition_definition3070.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3067_tree   = NULL;
    COMMA_SYMBOL3069_tree   = NULL;
    CLOSE_PAR_SYMBOL3071_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2836:22: ( OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2837:2: OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3067 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions15961);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3067_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3067));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3067_tree);
            }

            FOLLOWPUSH(FOLLOW_partition_definition_in_partition_definitions15963);
            partition_definition3068=partition_definition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition3068.tree);

            // MySQL.g:2837:39: ( COMMA_SYMBOL partition_definition )*

            for (;;)
            {
                int alt874=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt874=1;
                	}
                    break;

                }

                switch (alt874)
                {
            	case 1:
            	    // MySQL.g:2837:40: COMMA_SYMBOL partition_definition
            	    {
            	        COMMA_SYMBOL3069 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_definitions15966);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3069_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3069));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3069_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_partition_definition_in_partition_definitions15968);
            	        partition_definition3070=partition_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition3070.tree);

            	    }
            	    break;

            	default:
            	    goto loop874;	/* break out of the loop */
            	    break;
                }
            }
            loop874: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL3071 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions15972);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3071_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3071));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3071_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepartition_definitionsEx; /* Prevent compiler warnings */
    rulepartition_definitionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partition_definitions */

/**
 * $ANTLR start partition_definition
 * MySQL.g:2840:1: partition_definition : PARTITION_SYMBOL identifier ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )? ( partition_option )* ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )? ;
 */
static MySQLParser_partition_definition_return
partition_definition(pMySQLParser ctx)
{
    MySQLParser_partition_definition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL3072;
    pANTLR3_COMMON_TOKEN    VALUES_SYMBOL3074;
    pANTLR3_COMMON_TOKEN    LESS_SYMBOL3075;
    pANTLR3_COMMON_TOKEN    THAN_SYMBOL3076;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL3078;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL3079;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3082;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3084;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3086;
    MySQLParser_identifier_return identifier3073;
    #undef	RETURN_TYPE_identifier3073
    #define	RETURN_TYPE_identifier3073 MySQLParser_identifier_return

    MySQLParser_partition_value_list_return partition_value_list3077;
    #undef	RETURN_TYPE_partition_value_list3077
    #define	RETURN_TYPE_partition_value_list3077 MySQLParser_partition_value_list_return

    MySQLParser_partition_value_list_return partition_value_list3080;
    #undef	RETURN_TYPE_partition_value_list3080
    #define	RETURN_TYPE_partition_value_list3080 MySQLParser_partition_value_list_return

    MySQLParser_partition_option_return partition_option3081;
    #undef	RETURN_TYPE_partition_option3081
    #define	RETURN_TYPE_partition_option3081 MySQLParser_partition_option_return

    MySQLParser_subpartition_definition_return subpartition_definition3083;
    #undef	RETURN_TYPE_subpartition_definition3083
    #define	RETURN_TYPE_subpartition_definition3083 MySQLParser_subpartition_definition_return

    MySQLParser_subpartition_definition_return subpartition_definition3085;
    #undef	RETURN_TYPE_subpartition_definition3085
    #define	RETURN_TYPE_subpartition_definition3085 MySQLParser_subpartition_definition_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL3072_tree;
    pANTLR3_BASE_TREE VALUES_SYMBOL3074_tree;
    pANTLR3_BASE_TREE LESS_SYMBOL3075_tree;
    pANTLR3_BASE_TREE THAN_SYMBOL3076_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL3078_tree;
    pANTLR3_BASE_TREE IN_SYMBOL3079_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3082_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3084_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3086_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL3072       = NULL;
    VALUES_SYMBOL3074       = NULL;
    LESS_SYMBOL3075       = NULL;
    THAN_SYMBOL3076       = NULL;
    MAXVALUE_SYMBOL3078       = NULL;
    IN_SYMBOL3079       = NULL;
    OPEN_PAR_SYMBOL3082       = NULL;
    COMMA_SYMBOL3084       = NULL;
    CLOSE_PAR_SYMBOL3086       = NULL;
    identifier3073.tree = NULL;

    partition_value_list3077.tree = NULL;

    partition_value_list3080.tree = NULL;

    partition_option3081.tree = NULL;

    subpartition_definition3083.tree = NULL;

    subpartition_definition3085.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL3072_tree   = NULL;
    VALUES_SYMBOL3074_tree   = NULL;
    LESS_SYMBOL3075_tree   = NULL;
    THAN_SYMBOL3076_tree   = NULL;
    MAXVALUE_SYMBOL3078_tree   = NULL;
    IN_SYMBOL3079_tree   = NULL;
    OPEN_PAR_SYMBOL3082_tree   = NULL;
    COMMA_SYMBOL3084_tree   = NULL;
    CLOSE_PAR_SYMBOL3086_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2840:21: ( PARTITION_SYMBOL identifier ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )? ( partition_option )* ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )? )
        // MySQL.g:2841:2: PARTITION_SYMBOL identifier ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )? ( partition_option )* ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            PARTITION_SYMBOL3072 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partition_definition15981);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL3072_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL3072));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL3072_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_partition_definition15983);
            identifier3073=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3073.tree);

            // MySQL.g:2842:2: ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )?
            {
                int alt877=2;
                switch ( LA(1) )
                {
                    case VALUES_SYMBOL:
                    	{
                    		alt877=1;
                    	}
                        break;
                }

                switch (alt877)
                {
            	case 1:
            	    // MySQL.g:2843:3: VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list )
            	    {
            	        VALUES_SYMBOL3074 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUES_SYMBOL, &FOLLOW_VALUES_SYMBOL_in_partition_definition15990);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        VALUES_SYMBOL3074_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUES_SYMBOL3074));
            	        ADAPTOR->addChild(ADAPTOR, root_0, VALUES_SYMBOL3074_tree);
            	        }

            	        // MySQL.g:2844:3: ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list )
            	        {
            	            int alt876=2;
            	            switch ( LA(1) )
            	            {
            	            case LESS_SYMBOL:
            	            	{
            	            		alt876=1;
            	            	}
            	                break;
            	            case IN_SYMBOL:
            	            	{
            	            		alt876=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 876;
            	                EXCEPTION->state        = 0;


            	                goto rulepartition_definitionEx;

            	            }

            	            switch (alt876)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2845:4: LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL )
            	        	    {
            	        	        LESS_SYMBOL3075 = (pANTLR3_COMMON_TOKEN) MATCHT(LESS_SYMBOL, &FOLLOW_LESS_SYMBOL_in_partition_definition15999);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LESS_SYMBOL3075_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LESS_SYMBOL3075));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LESS_SYMBOL3075_tree);
            	        	        }

            	        	        THAN_SYMBOL3076 = (pANTLR3_COMMON_TOKEN) MATCHT(THAN_SYMBOL, &FOLLOW_THAN_SYMBOL_in_partition_definition16001);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        THAN_SYMBOL3076_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THAN_SYMBOL3076));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, THAN_SYMBOL3076_tree);
            	        	        }

            	        	        // MySQL.g:2845:28: ( partition_value_list | MAXVALUE_SYMBOL )
            	        	        {
            	        	            int alt875=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case OPEN_PAR_SYMBOL:
            	        	            	{
            	        	            		alt875=1;
            	        	            	}
            	        	                break;
            	        	            case MAXVALUE_SYMBOL:
            	        	            	{
            	        	            		alt875=2;
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 875;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulepartition_definitionEx;

            	        	            }

            	        	            switch (alt875)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2845:29: partition_value_list
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partition_value_list_in_partition_definition16004);
            	        	        	        partition_value_list3077=partition_value_list(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartition_definitionEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_value_list3077.tree);

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:2845:52: MAXVALUE_SYMBOL
            	        	        	    {
            	        	        	        MAXVALUE_SYMBOL3078 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_definition16008);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartition_definitionEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        MAXVALUE_SYMBOL3078_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL3078));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL3078_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2846:6: IN_SYMBOL partition_value_list
            	        	    {
            	        	        IN_SYMBOL3079 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_partition_definition16016);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL3079_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL3079));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL3079_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_partition_value_list_in_partition_definition16018);
            	        	        partition_value_list3080=partition_value_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_value_list3080.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2849:2: ( partition_option )*

            for (;;)
            {
                int alt878=2;
                switch ( LA(1) )
                {
                case COMMENT_SYMBOL:
                case DATA_SYMBOL:
                case ENGINE_SYMBOL:
                case MAX_ROWS_SYMBOL:
                case MIN_ROWS_SYMBOL:
                case NODEGROUP_SYMBOL:
                case STORAGE_SYMBOL:
                case TABLESPACE_SYMBOL:
                case INDEX_SYMBOL:
                	{
                		alt878=1;
                	}
                    break;

                }

                switch (alt878)
                {
            	case 1:
            	    // MySQL.g:2849:3: partition_option
            	    {
            	        FOLLOWPUSH(FOLLOW_partition_option_in_partition_definition16030);
            	        partition_option3081=partition_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_option3081.tree);

            	    }
            	    break;

            	default:
            	    goto loop878;	/* break out of the loop */
            	    break;
                }
            }
            loop878: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2850:2: ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )?
            {
                int alt880=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt880=1;
                    	}
                        break;
                }

                switch (alt880)
                {
            	case 1:
            	    // MySQL.g:2850:3: OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL3082 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition16036);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL3082_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3082));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3082_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_subpartition_definition_in_partition_definition16038);
            	        subpartition_definition3083=subpartition_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subpartition_definition3083.tree);

            	        // MySQL.g:2850:43: ( COMMA_SYMBOL subpartition_definition )*

            	        for (;;)
            	        {
            	            int alt879=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt879=1;
            	            	}
            	                break;

            	            }

            	            switch (alt879)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2850:44: COMMA_SYMBOL subpartition_definition
            	        	    {
            	        	        COMMA_SYMBOL3084 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_definition16041);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL3084_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3084));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3084_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_subpartition_definition_in_partition_definition16043);
            	        	        subpartition_definition3085=subpartition_definition(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subpartition_definition3085.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop879;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop879: ; /* Jump out to here if this rule does not match */


            	        CLOSE_PAR_SYMBOL3086 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition16047);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL3086_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3086));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3086_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepartition_definitionEx; /* Prevent compiler warnings */
    rulepartition_definitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partition_definition */

/**
 * $ANTLR start partition_option
 * MySQL.g:2853:1: partition_option : ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref | NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? number | ( MAX_ROWS_SYMBOL | MIN_ROWS_SYMBOL ) ( EQUAL_OPERATOR )? number | ( DATA_SYMBOL | INDEX_SYMBOL ) DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal );
 */
static MySQLParser_partition_option_return
partition_option(pMySQLParser ctx)
{
    MySQLParser_partition_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL3087;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3088;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL3090;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL3091;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3092;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL3094;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3095;
    pANTLR3_COMMON_TOKEN    set3097;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3098;
    pANTLR3_COMMON_TOKEN    set3100;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL3101;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3102;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL3104;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3105;
    MySQLParser_text_or_identifier_return text_or_identifier3089;
    #undef	RETURN_TYPE_text_or_identifier3089
    #define	RETURN_TYPE_text_or_identifier3089 MySQLParser_text_or_identifier_return

    MySQLParser_engine_ref_return engine_ref3093;
    #undef	RETURN_TYPE_engine_ref3093
    #define	RETURN_TYPE_engine_ref3093 MySQLParser_engine_ref_return

    MySQLParser_number_return number3096;
    #undef	RETURN_TYPE_number3096
    #define	RETURN_TYPE_number3096 MySQLParser_number_return

    MySQLParser_number_return number3099;
    #undef	RETURN_TYPE_number3099
    #define	RETURN_TYPE_number3099 MySQLParser_number_return

    MySQLParser_string_literal_return string_literal3103;
    #undef	RETURN_TYPE_string_literal3103
    #define	RETURN_TYPE_string_literal3103 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal3106;
    #undef	RETURN_TYPE_string_literal3106
    #define	RETURN_TYPE_string_literal3106 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE TABLESPACE_SYMBOL3087_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3088_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL3090_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL3091_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3092_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL3094_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3095_tree;
    pANTLR3_BASE_TREE set3097_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3098_tree;
    pANTLR3_BASE_TREE set3100_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL3101_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3102_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL3104_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3105_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLESPACE_SYMBOL3087       = NULL;
    EQUAL_OPERATOR3088       = NULL;
    STORAGE_SYMBOL3090       = NULL;
    ENGINE_SYMBOL3091       = NULL;
    EQUAL_OPERATOR3092       = NULL;
    NODEGROUP_SYMBOL3094       = NULL;
    EQUAL_OPERATOR3095       = NULL;
    set3097       = NULL;
    EQUAL_OPERATOR3098       = NULL;
    set3100       = NULL;
    DIRECTORY_SYMBOL3101       = NULL;
    EQUAL_OPERATOR3102       = NULL;
    COMMENT_SYMBOL3104       = NULL;
    EQUAL_OPERATOR3105       = NULL;
    text_or_identifier3089.tree = NULL;

    engine_ref3093.tree = NULL;

    number3096.tree = NULL;

    number3099.tree = NULL;

    string_literal3103.tree = NULL;

    string_literal3106.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TABLESPACE_SYMBOL3087_tree   = NULL;
    EQUAL_OPERATOR3088_tree   = NULL;
    STORAGE_SYMBOL3090_tree   = NULL;
    ENGINE_SYMBOL3091_tree   = NULL;
    EQUAL_OPERATOR3092_tree   = NULL;
    NODEGROUP_SYMBOL3094_tree   = NULL;
    EQUAL_OPERATOR3095_tree   = NULL;
    set3097_tree   = NULL;
    EQUAL_OPERATOR3098_tree   = NULL;
    set3100_tree   = NULL;
    DIRECTORY_SYMBOL3101_tree   = NULL;
    EQUAL_OPERATOR3102_tree   = NULL;
    COMMENT_SYMBOL3104_tree   = NULL;
    EQUAL_OPERATOR3105_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2853:17: ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref | NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? number | ( MAX_ROWS_SYMBOL | MIN_ROWS_SYMBOL ) ( EQUAL_OPERATOR )? number | ( DATA_SYMBOL | INDEX_SYMBOL ) DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )

            ANTLR3_UINT32 alt888;

            alt888=6;

            switch ( LA(1) )
            {
            case TABLESPACE_SYMBOL:
            	{
            		alt888=1;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt888=2;
            	}
                break;
            case NODEGROUP_SYMBOL:
            	{
            		alt888=3;
            	}
                break;
            case MAX_ROWS_SYMBOL:
            case MIN_ROWS_SYMBOL:
            	{
            		alt888=4;
            	}
                break;
            case DATA_SYMBOL:
            case INDEX_SYMBOL:
            	{
            		alt888=5;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt888=6;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 888;
                EXCEPTION->state        = 0;


                goto rulepartition_optionEx;

            }

            switch (alt888)
            {
        	case 1:
        	    // MySQL.g:2854:2: TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TABLESPACE_SYMBOL3087 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_partition_option16058);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL3087_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL3087));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL3087_tree);
        	        }

        	        // MySQL.g:2854:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt881=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt881=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt881)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2854:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3088 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_option16060);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3088_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3088));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3088_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_partition_option16063);
        	        text_or_identifier3089=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier3089.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2855:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? engine_ref
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2855:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt882=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt882=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt882)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2855:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL3090 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_partition_option16068);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STORAGE_SYMBOL3090_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL3090));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL3090_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL3091 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_partition_option16071);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENGINE_SYMBOL3091_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL3091));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL3091_tree);
        	        }

        	        // MySQL.g:2855:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt883=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt883=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt883)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2855:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3092 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_option16073);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3092_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3092));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3092_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_engine_ref_in_partition_option16076);
        	        engine_ref3093=engine_ref(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, engine_ref3093.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2856:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NODEGROUP_SYMBOL3094 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_partition_option16081);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NODEGROUP_SYMBOL3094_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL3094));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL3094_tree);
        	        }

        	        // MySQL.g:2856:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt884=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt884=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt884)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2856:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3095 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_option16083);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3095_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3095));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3095_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_number_in_partition_option16086);
        	        number3096=number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number3096.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2857:4: ( MAX_ROWS_SYMBOL | MIN_ROWS_SYMBOL ) ( EQUAL_OPERATOR )? number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set3097=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == MAX_ROWS_SYMBOL || LA(1) == MIN_ROWS_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3097))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulepartition_optionEx;
        	        }


        	        // MySQL.g:2857:40: ( EQUAL_OPERATOR )?
        	        {
        	            int alt885=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt885=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt885)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2857:40: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3098 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_option16099);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3098_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3098));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3098_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_number_in_partition_option16102);
        	        number3099=number(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number3099.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2858:4: ( DATA_SYMBOL | INDEX_SYMBOL ) DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set3100=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == DATA_SYMBOL || LA(1) == INDEX_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3100))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulepartition_optionEx;
        	        }


        	        DIRECTORY_SYMBOL3101 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_partition_option16115);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL3101_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL3101));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL3101_tree);
        	        }

        	        // MySQL.g:2858:50: ( EQUAL_OPERATOR )?
        	        {
        	            int alt886=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt886=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt886)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2858:50: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3102 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_option16117);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3102_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3102));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3102_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_option16120);
        	        string_literal3103=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3103.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2859:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL3104 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_partition_option16125);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL3104_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL3104));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL3104_tree);
        	        }

        	        // MySQL.g:2859:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt887=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt887=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt887)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2859:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR3105 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_option16127);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulepartition_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR3105_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3105));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3105_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_option16130);
        	        string_literal3106=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepartition_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3106.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulepartition_optionEx; /* Prevent compiler warnings */
    rulepartition_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partition_option */

/**
 * $ANTLR start subpartition_definition
 * MySQL.g:2862:1: subpartition_definition : SUBPARTITION_SYMBOL identifier ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )? ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )? ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )? ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )? ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )? ;
 */
static MySQLParser_subpartition_definition_return
subpartition_definition(pMySQLParser ctx)
{
    MySQLParser_subpartition_definition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SUBPARTITION_SYMBOL3107;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL3109;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL3110;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3111;
    pANTLR3_COMMON_TOKEN    IDENTIFIER3112;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL3113;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3114;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL3116;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL3117;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3118;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL3120;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL3121;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3122;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL3124;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3125;
    pANTLR3_COMMON_TOKEN    INTEGER3126;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL3127;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3128;
    pANTLR3_COMMON_TOKEN    INTEGER3129;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL3130;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3131;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL3133;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3134;
    MySQLParser_identifier_return identifier3108;
    #undef	RETURN_TYPE_identifier3108
    #define	RETURN_TYPE_identifier3108 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal3115;
    #undef	RETURN_TYPE_string_literal3115
    #define	RETURN_TYPE_string_literal3115 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal3119;
    #undef	RETURN_TYPE_string_literal3119
    #define	RETURN_TYPE_string_literal3119 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal3123;
    #undef	RETURN_TYPE_string_literal3123
    #define	RETURN_TYPE_string_literal3123 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier3132;
    #undef	RETURN_TYPE_identifier3132
    #define	RETURN_TYPE_identifier3132 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3135;
    #undef	RETURN_TYPE_identifier3135
    #define	RETURN_TYPE_identifier3135 MySQLParser_identifier_return

    pANTLR3_BASE_TREE SUBPARTITION_SYMBOL3107_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL3109_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL3110_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3111_tree;
    pANTLR3_BASE_TREE IDENTIFIER3112_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL3113_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3114_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL3116_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL3117_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3118_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL3120_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL3121_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3122_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL3124_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3125_tree;
    pANTLR3_BASE_TREE INTEGER3126_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL3127_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3128_tree;
    pANTLR3_BASE_TREE INTEGER3129_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL3130_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3131_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL3133_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3134_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SUBPARTITION_SYMBOL3107       = NULL;
    STORAGE_SYMBOL3109       = NULL;
    ENGINE_SYMBOL3110       = NULL;
    EQUAL_OPERATOR3111       = NULL;
    IDENTIFIER3112       = NULL;
    COMMENT_SYMBOL3113       = NULL;
    EQUAL_OPERATOR3114       = NULL;
    DATA_SYMBOL3116       = NULL;
    DIRECTORY_SYMBOL3117       = NULL;
    EQUAL_OPERATOR3118       = NULL;
    INDEX_SYMBOL3120       = NULL;
    DIRECTORY_SYMBOL3121       = NULL;
    EQUAL_OPERATOR3122       = NULL;
    MAX_ROWS_SYMBOL3124       = NULL;
    EQUAL_OPERATOR3125       = NULL;
    INTEGER3126       = NULL;
    MIN_ROWS_SYMBOL3127       = NULL;
    EQUAL_OPERATOR3128       = NULL;
    INTEGER3129       = NULL;
    TABLESPACE_SYMBOL3130       = NULL;
    EQUAL_OPERATOR3131       = NULL;
    NODEGROUP_SYMBOL3133       = NULL;
    EQUAL_OPERATOR3134       = NULL;
    identifier3108.tree = NULL;

    string_literal3115.tree = NULL;

    string_literal3119.tree = NULL;

    string_literal3123.tree = NULL;

    identifier3132.tree = NULL;

    identifier3135.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SUBPARTITION_SYMBOL3107_tree   = NULL;
    STORAGE_SYMBOL3109_tree   = NULL;
    ENGINE_SYMBOL3110_tree   = NULL;
    EQUAL_OPERATOR3111_tree   = NULL;
    IDENTIFIER3112_tree   = NULL;
    COMMENT_SYMBOL3113_tree   = NULL;
    EQUAL_OPERATOR3114_tree   = NULL;
    DATA_SYMBOL3116_tree   = NULL;
    DIRECTORY_SYMBOL3117_tree   = NULL;
    EQUAL_OPERATOR3118_tree   = NULL;
    INDEX_SYMBOL3120_tree   = NULL;
    DIRECTORY_SYMBOL3121_tree   = NULL;
    EQUAL_OPERATOR3122_tree   = NULL;
    MAX_ROWS_SYMBOL3124_tree   = NULL;
    EQUAL_OPERATOR3125_tree   = NULL;
    INTEGER3126_tree   = NULL;
    MIN_ROWS_SYMBOL3127_tree   = NULL;
    EQUAL_OPERATOR3128_tree   = NULL;
    INTEGER3129_tree   = NULL;
    TABLESPACE_SYMBOL3130_tree   = NULL;
    EQUAL_OPERATOR3131_tree   = NULL;
    NODEGROUP_SYMBOL3133_tree   = NULL;
    EQUAL_OPERATOR3134_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2862:24: ( SUBPARTITION_SYMBOL identifier ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )? ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )? ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )? ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )? ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )? )
        // MySQL.g:2863:2: SUBPARTITION_SYMBOL identifier ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )? ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )? ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )? ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )? ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )? ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SUBPARTITION_SYMBOL3107 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITION_SYMBOL, &FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition16139);
            if  (HASEXCEPTION())
            {
                goto rulesubpartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SUBPARTITION_SYMBOL3107_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITION_SYMBOL3107));
            ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITION_SYMBOL3107_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition16141);
            identifier3108=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubpartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3108.tree);

            // MySQL.g:2864:3: ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )?
            {
                int alt891=2;
                switch ( LA(1) )
                {
                    case ENGINE_SYMBOL:
                    case STORAGE_SYMBOL:
                    	{
                    		alt891=1;
                    	}
                        break;
                }

                switch (alt891)
                {
            	case 1:
            	    // MySQL.g:2864:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
            	    {
            	        // MySQL.g:2864:4: ( STORAGE_SYMBOL )?
            	        {
            	            int alt889=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt889=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt889)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2864:4: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL3109 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_subpartition_definition16146);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL3109_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL3109));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL3109_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINE_SYMBOL3110 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_subpartition_definition16149);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL3110_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL3110));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL3110_tree);
            	        }

            	        // MySQL.g:2864:34: ( EQUAL_OPERATOR )?
            	        {
            	            int alt890=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt890=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt890)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2864:34: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3111 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16151);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3111_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3111));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3111_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        IDENTIFIER3112 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_subpartition_definition16154);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIER3112_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER3112));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER3112_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2865:3: ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt893=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt893=1;
                    	}
                        break;
                }

                switch (alt893)
                {
            	case 1:
            	    // MySQL.g:2865:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        COMMENT_SYMBOL3113 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_subpartition_definition16161);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL3113_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL3113));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL3113_tree);
            	        }

            	        // MySQL.g:2865:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt892=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt892=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt892)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2865:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3114 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16163);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3114_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3114));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3114_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition16166);
            	        string_literal3115=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3115.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2866:3: ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt895=2;
                switch ( LA(1) )
                {
                    case DATA_SYMBOL:
                    	{
                    		alt895=1;
                    	}
                        break;
                }

                switch (alt895)
                {
            	case 1:
            	    // MySQL.g:2866:4: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        DATA_SYMBOL3116 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_subpartition_definition16173);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL3116_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL3116));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL3116_tree);
            	        }

            	        DIRECTORY_SYMBOL3117 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16175);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL3117_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL3117));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL3117_tree);
            	        }

            	        // MySQL.g:2866:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt894=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt894=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt894)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2866:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3118 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16177);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3118_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3118));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3118_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition16180);
            	        string_literal3119=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3119.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2867:3: ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt897=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    	{
                    		alt897=1;
                    	}
                        break;
                }

                switch (alt897)
                {
            	case 1:
            	    // MySQL.g:2867:4: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        INDEX_SYMBOL3120 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_subpartition_definition16187);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL3120_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL3120));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL3120_tree);
            	        }

            	        DIRECTORY_SYMBOL3121 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition16189);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL3121_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL3121));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL3121_tree);
            	        }

            	        // MySQL.g:2867:34: ( EQUAL_OPERATOR )?
            	        {
            	            int alt896=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt896=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt896)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2867:34: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3122 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16191);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3122_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3122));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3122_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition16194);
            	        string_literal3123=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3123.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2868:3: ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt899=2;
                switch ( LA(1) )
                {
                    case MAX_ROWS_SYMBOL:
                    	{
                    		alt899=1;
                    	}
                        break;
                }

                switch (alt899)
                {
            	case 1:
            	    // MySQL.g:2868:4: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MAX_ROWS_SYMBOL3124 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition16201);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAX_ROWS_SYMBOL3124_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL3124));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL3124_tree);
            	        }

            	        // MySQL.g:2868:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt898=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt898=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt898)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2868:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3125 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16203);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3125_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3125));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3125_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INTEGER3126 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_subpartition_definition16206);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3126_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3126));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3126_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2869:3: ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt901=2;
                switch ( LA(1) )
                {
                    case MIN_ROWS_SYMBOL:
                    	{
                    		alt901=1;
                    	}
                        break;
                }

                switch (alt901)
                {
            	case 1:
            	    // MySQL.g:2869:4: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MIN_ROWS_SYMBOL3127 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition16213);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MIN_ROWS_SYMBOL3127_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL3127));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL3127_tree);
            	        }

            	        // MySQL.g:2869:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt900=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt900=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt900)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2869:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3128 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16215);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3128_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3128));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3128_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INTEGER3129 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_subpartition_definition16218);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3129_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3129));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3129_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2870:3: ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt903=2;
                switch ( LA(1) )
                {
                    case TABLESPACE_SYMBOL:
                    	{
                    		alt903=1;
                    	}
                        break;
                }

                switch (alt903)
                {
            	case 1:
            	    // MySQL.g:2870:4: TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        TABLESPACE_SYMBOL3130 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition16225);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLESPACE_SYMBOL3130_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL3130));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL3130_tree);
            	        }

            	        // MySQL.g:2870:22: ( EQUAL_OPERATOR )?
            	        {
            	            int alt902=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt902=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt902)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2870:22: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3131 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16227);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3131_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3131));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3131_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition16230);
            	        identifier3132=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3132.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2871:3: ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt905=2;
                switch ( LA(1) )
                {
                    case NODEGROUP_SYMBOL:
                    	{
                    		alt905=1;
                    	}
                        break;
                }

                switch (alt905)
                {
            	case 1:
            	    // MySQL.g:2871:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        NODEGROUP_SYMBOL3133 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition16237);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NODEGROUP_SYMBOL3133_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL3133));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL3133_tree);
            	        }

            	        // MySQL.g:2871:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt904=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt904=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt904)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2871:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR3134 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition16239);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR3134_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3134));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3134_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition16242);
            	        identifier3135=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3135.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulesubpartition_definitionEx; /* Prevent compiler warnings */
    rulesubpartition_definitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end subpartition_definition */

/**
 * $ANTLR start partition_value_list
 * MySQL.g:2874:1: partition_value_list : OPEN_PAR_SYMBOL ( expression | MAXVALUE_SYMBOL ) ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )* CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_partition_value_list_return
partition_value_list(pMySQLParser ctx)
{
    MySQLParser_partition_value_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3136;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL3138;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3139;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL3141;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3142;
    MySQLParser_expression_return expression3137;
    #undef	RETURN_TYPE_expression3137
    #define	RETURN_TYPE_expression3137 MySQLParser_expression_return

    MySQLParser_expression_return expression3140;
    #undef	RETURN_TYPE_expression3140
    #define	RETURN_TYPE_expression3140 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3136_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL3138_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3139_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL3141_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3142_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3136       = NULL;
    MAXVALUE_SYMBOL3138       = NULL;
    COMMA_SYMBOL3139       = NULL;
    MAXVALUE_SYMBOL3141       = NULL;
    CLOSE_PAR_SYMBOL3142       = NULL;
    expression3137.tree = NULL;

    expression3140.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3136_tree   = NULL;
    MAXVALUE_SYMBOL3138_tree   = NULL;
    COMMA_SYMBOL3139_tree   = NULL;
    MAXVALUE_SYMBOL3141_tree   = NULL;
    CLOSE_PAR_SYMBOL3142_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2874:21: ( OPEN_PAR_SYMBOL ( expression | MAXVALUE_SYMBOL ) ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2875:2: OPEN_PAR_SYMBOL ( expression | MAXVALUE_SYMBOL ) ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3136 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list16253);
            if  (HASEXCEPTION())
            {
                goto rulepartition_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3136_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3136));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3136_tree);
            }

            // MySQL.g:2875:18: ( expression | MAXVALUE_SYMBOL )
            {
                int alt906=2;
                {
                    int LA906_0 = LA(1);
                    if ( (LA906_0 == BITWISE_NOT_OPERATOR || LA906_0 == INTERVAL_SYMBOL || LA906_0 == LOGICAL_NOT_OPERATOR || LA906_0 == MINUS_OPERATOR || LA906_0 == NCHAR_TEXT || LA906_0 == NOT2_SYMBOL || LA906_0 == NOT_SYMBOL || LA906_0 == PLUS_OPERATOR || LA906_0 == SINGLE_QUOTED_TEXT || LA906_0 == UNDERSCORE_CHARSET))
                    {
                        alt906=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA906_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt906=1;
                    }
                    else if ( (LA906_0 == FALSE_SYMBOL || LA906_0 == FLOAT || ((LA906_0 >= HEXNUMBER) && (LA906_0 <= HEXSTRING)) || LA906_0 == INTEGER || LA906_0 == TRUE_SYMBOL))
                    {
                        alt906=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA906_0 >= BITNUMBER) && (LA906_0 <= BITSTRING))))
                    {
                        alt906=1;
                    }
                    else if ( (((LA906_0 >= ASCII_SYMBOL) && (LA906_0 <= YEAR_SYMBOL)) || ((LA906_0 >= AT_AT_SIGN_SYMBOL) && (LA906_0 <= AT_TEXT_SUFFIX)) || LA906_0 == BACK_TICK_QUOTED_ID || LA906_0 == BINARY_SYMBOL || ((LA906_0 >= BIT_AND_SYMBOL) && (LA906_0 <= BIT_XOR_SYMBOL)) || ((LA906_0 >= CASE_SYMBOL) && (LA906_0 <= CAST_SYMBOL)) || LA906_0 == CHAR_SYMBOL || ((LA906_0 >= CONVERT_SYMBOL) && (LA906_0 <= COUNT_SYMBOL)) || LA906_0 == CURDATE_SYMBOL || LA906_0 == CURRENT_USER_SYMBOL || LA906_0 == CURTIME_SYMBOL || LA906_0 == DATABASE_SYMBOL || LA906_0 == DATE_ADD_SYMBOL || LA906_0 == DATE_SUB_SYMBOL || LA906_0 == EXISTS_SYMBOL || LA906_0 == EXTRACT_SYMBOL || LA906_0 == GROUP_CONCAT_SYMBOL || ((LA906_0 >= IDENTIFIER) && (LA906_0 <= IF_SYMBOL)) || LA906_0 == INSERT_SYMBOL || LA906_0 == LEFT_SYMBOL || LA906_0 == MATCH_SYMBOL || LA906_0 == MAX_SYMBOL || LA906_0 == MIN_SYMBOL || LA906_0 == MOD_SYMBOL || LA906_0 == NOW_SYMBOL || LA906_0 == NULL2_SYMBOL || LA906_0 == NULL_SYMBOL || ((LA906_0 >= OPEN_CURLY_SYMBOL) && (LA906_0 <= OPEN_PAR_SYMBOL)) || LA906_0 == PARAM_MARKER || LA906_0 == POSITION_SYMBOL || ((LA906_0 >= REPEAT_SYMBOL) && (LA906_0 <= REPLACE_SYMBOL)) || LA906_0 == RIGHT_SYMBOL || LA906_0 == STDDEV_SAMP_SYMBOL || LA906_0 == STD_SYMBOL || LA906_0 == SUBSTRING_SYMBOL || ((LA906_0 >= SUM_SYMBOL) && (LA906_0 <= SYSDATE_SYMBOL)) || LA906_0 == TRIM_SYMBOL || ((LA906_0 >= UTC_DATE_SYMBOL) && (LA906_0 <= UTC_TIME_SYMBOL)) || LA906_0 == VALUES_SYMBOL || LA906_0 == VARIANCE_SYMBOL || LA906_0 == VAR_SAMP_SYMBOL))
                    {
                        alt906=1;
                    }
                    else if ( (LA906_0 == MAXVALUE_SYMBOL))
                    {
                        alt906=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 906;
                        EXCEPTION->state        = 0;


                        goto rulepartition_value_listEx;

                    }
                }
                switch (alt906)
                {
            	case 1:
            	    // MySQL.g:2875:19: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_partition_value_list16256);
            	        expression3137=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression3137.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2875:32: MAXVALUE_SYMBOL
            	    {
            	        MAXVALUE_SYMBOL3138 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16260);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAXVALUE_SYMBOL3138_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL3138));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL3138_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2875:49: ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )*

            for (;;)
            {
                int alt908=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt908=1;
                	}
                    break;

                }

                switch (alt908)
                {
            	case 1:
            	    // MySQL.g:2875:50: COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL )
            	    {
            	        COMMA_SYMBOL3139 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_value_list16264);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3139_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3139));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3139_tree);
            	        }

            	        // MySQL.g:2875:63: ( expression | MAXVALUE_SYMBOL )
            	        {
            	            int alt907=2;
            	            {
            	                int LA907_0 = LA(1);
            	                if ( (LA907_0 == BITWISE_NOT_OPERATOR || LA907_0 == INTERVAL_SYMBOL || LA907_0 == LOGICAL_NOT_OPERATOR || LA907_0 == MINUS_OPERATOR || LA907_0 == NCHAR_TEXT || LA907_0 == NOT2_SYMBOL || LA907_0 == NOT_SYMBOL || LA907_0 == PLUS_OPERATOR || LA907_0 == SINGLE_QUOTED_TEXT || LA907_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt907=1;
            	                }
            	                else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA907_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt907=1;
            	                }
            	                else if ( (LA907_0 == FALSE_SYMBOL || LA907_0 == FLOAT || ((LA907_0 >= HEXNUMBER) && (LA907_0 <= HEXSTRING)) || LA907_0 == INTEGER || LA907_0 == TRUE_SYMBOL))
            	                {
            	                    alt907=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA907_0 >= BITNUMBER) && (LA907_0 <= BITSTRING))))
            	                {
            	                    alt907=1;
            	                }
            	                else if ( (((LA907_0 >= ASCII_SYMBOL) && (LA907_0 <= YEAR_SYMBOL)) || ((LA907_0 >= AT_AT_SIGN_SYMBOL) && (LA907_0 <= AT_TEXT_SUFFIX)) || LA907_0 == BACK_TICK_QUOTED_ID || LA907_0 == BINARY_SYMBOL || ((LA907_0 >= BIT_AND_SYMBOL) && (LA907_0 <= BIT_XOR_SYMBOL)) || ((LA907_0 >= CASE_SYMBOL) && (LA907_0 <= CAST_SYMBOL)) || LA907_0 == CHAR_SYMBOL || ((LA907_0 >= CONVERT_SYMBOL) && (LA907_0 <= COUNT_SYMBOL)) || LA907_0 == CURDATE_SYMBOL || LA907_0 == CURRENT_USER_SYMBOL || LA907_0 == CURTIME_SYMBOL || LA907_0 == DATABASE_SYMBOL || LA907_0 == DATE_ADD_SYMBOL || LA907_0 == DATE_SUB_SYMBOL || LA907_0 == EXISTS_SYMBOL || LA907_0 == EXTRACT_SYMBOL || LA907_0 == GROUP_CONCAT_SYMBOL || ((LA907_0 >= IDENTIFIER) && (LA907_0 <= IF_SYMBOL)) || LA907_0 == INSERT_SYMBOL || LA907_0 == LEFT_SYMBOL || LA907_0 == MATCH_SYMBOL || LA907_0 == MAX_SYMBOL || LA907_0 == MIN_SYMBOL || LA907_0 == MOD_SYMBOL || LA907_0 == NOW_SYMBOL || LA907_0 == NULL2_SYMBOL || LA907_0 == NULL_SYMBOL || ((LA907_0 >= OPEN_CURLY_SYMBOL) && (LA907_0 <= OPEN_PAR_SYMBOL)) || LA907_0 == PARAM_MARKER || LA907_0 == POSITION_SYMBOL || ((LA907_0 >= REPEAT_SYMBOL) && (LA907_0 <= REPLACE_SYMBOL)) || LA907_0 == RIGHT_SYMBOL || LA907_0 == STDDEV_SAMP_SYMBOL || LA907_0 == STD_SYMBOL || LA907_0 == SUBSTRING_SYMBOL || ((LA907_0 >= SUM_SYMBOL) && (LA907_0 <= SYSDATE_SYMBOL)) || LA907_0 == TRIM_SYMBOL || ((LA907_0 >= UTC_DATE_SYMBOL) && (LA907_0 <= UTC_TIME_SYMBOL)) || LA907_0 == VALUES_SYMBOL || LA907_0 == VARIANCE_SYMBOL || LA907_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt907=1;
            	                }
            	                else if ( (LA907_0 == MAXVALUE_SYMBOL))
            	                {
            	                    alt907=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 907;
            	                    EXCEPTION->state        = 0;


            	                    goto rulepartition_value_listEx;

            	                }
            	            }
            	            switch (alt907)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2875:64: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_partition_value_list16267);
            	        	        expression3140=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_value_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression3140.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2875:77: MAXVALUE_SYMBOL
            	        	    {
            	        	        MAXVALUE_SYMBOL3141 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list16271);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_value_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        MAXVALUE_SYMBOL3141_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL3141));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL3141_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop908;	/* break out of the loop */
            	    break;
                }
            }
            loop908: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL3142 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list16276);
            if  (HASEXCEPTION())
            {
                goto rulepartition_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3142_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3142));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3142_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulepartition_value_listEx; /* Prevent compiler warnings */
    rulepartition_value_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end partition_value_list */

/**
 * $ANTLR start definer_clause
 * MySQL.g:2878:1: definer_clause : DEFINER_SYMBOL ^ EQUAL_OPERATOR user ;
 */
static MySQLParser_definer_clause_return
definer_clause(pMySQLParser ctx)
{
    MySQLParser_definer_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFINER_SYMBOL3143;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3144;
    MySQLParser_user_return user3145;
    #undef	RETURN_TYPE_user3145
    #define	RETURN_TYPE_user3145 MySQLParser_user_return

    pANTLR3_BASE_TREE DEFINER_SYMBOL3143_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR3144_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFINER_SYMBOL3143       = NULL;
    EQUAL_OPERATOR3144       = NULL;
    user3145.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFINER_SYMBOL3143_tree   = NULL;
    EQUAL_OPERATOR3144_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2878:15: ( DEFINER_SYMBOL ^ EQUAL_OPERATOR user )
        // MySQL.g:2879:2: DEFINER_SYMBOL ^ EQUAL_OPERATOR user
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DEFINER_SYMBOL3143 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFINER_SYMBOL, &FOLLOW_DEFINER_SYMBOL_in_definer_clause16285);
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DEFINER_SYMBOL3143_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFINER_SYMBOL3143))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DEFINER_SYMBOL3143_tree, root_0));
            }

            EQUAL_OPERATOR3144 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_definer_clause16288);
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR3144_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3144));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3144_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_definer_clause16290);
            user3145=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user3145.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruledefiner_clauseEx; /* Prevent compiler warnings */
    ruledefiner_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end definer_clause */

/**
 * $ANTLR start if_exists
 * MySQL.g:2882:1: if_exists : IF_SYMBOL EXISTS_SYMBOL ;
 */
static MySQLParser_if_exists_return
if_exists(pMySQLParser ctx)
{
    MySQLParser_if_exists_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IF_SYMBOL3146;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL3147;

    pANTLR3_BASE_TREE IF_SYMBOL3146_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL3147_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL3146       = NULL;
    EXISTS_SYMBOL3147       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL3146_tree   = NULL;
    EXISTS_SYMBOL3147_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2882:10: ( IF_SYMBOL EXISTS_SYMBOL )
        // MySQL.g:2883:2: IF_SYMBOL EXISTS_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL3146 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_exists16299);
            if  (HASEXCEPTION())
            {
                goto ruleif_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL3146_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL3146));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL3146_tree);
            }

            EXISTS_SYMBOL3147 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_if_exists16301);
            if  (HASEXCEPTION())
            {
                goto ruleif_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXISTS_SYMBOL3147_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL3147));
            ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL3147_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleif_existsEx; /* Prevent compiler warnings */
    ruleif_existsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end if_exists */

/**
 * $ANTLR start if_not_exists
 * MySQL.g:2886:1: if_not_exists : IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL ;
 */
static MySQLParser_if_not_exists_return
if_not_exists(pMySQLParser ctx)
{
    MySQLParser_if_not_exists_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IF_SYMBOL3148;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL3149;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL3150;

    pANTLR3_BASE_TREE IF_SYMBOL3148_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL3149_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL3150_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL3148       = NULL;
    NOT_SYMBOL3149       = NULL;
    EXISTS_SYMBOL3150       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL3148_tree   = NULL;
    NOT_SYMBOL3149_tree   = NULL;
    EXISTS_SYMBOL3150_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2886:14: ( IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL )
        // MySQL.g:2887:2: IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL3148 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_not_exists16310);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL3148_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL3148));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL3148_tree);
            }

            NOT_SYMBOL3149 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_if_not_exists16312);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            NOT_SYMBOL3149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL3149));
            ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL3149_tree);
            }

            EXISTS_SYMBOL3150 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_if_not_exists16314);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXISTS_SYMBOL3150_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL3150));
            ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL3150_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleif_not_existsEx; /* Prevent compiler warnings */
    ruleif_not_existsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end if_not_exists */

/**
 * $ANTLR start procedure_parameter
 * MySQL.g:2890:1: procedure_parameter : ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter ;
 */
static MySQLParser_procedure_parameter_return
procedure_parameter(pMySQLParser ctx)
{
    MySQLParser_procedure_parameter_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3151;
    MySQLParser_function_parameter_return function_parameter3152;
    #undef	RETURN_TYPE_function_parameter3152
    #define	RETURN_TYPE_function_parameter3152 MySQLParser_function_parameter_return

    pANTLR3_BASE_TREE set3151_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3151       = NULL;
    function_parameter3152.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3151_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2890:20: ( ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter )
        // MySQL.g:2891:2: ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2891:2: ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )?
            {
                int alt909=2;
                switch ( LA(1) )
                {
                    case INOUT_SYMBOL:
                    case IN_SYMBOL:
                    case OUT_SYMBOL:
                    	{
                    		alt909=1;
                    	}
                        break;
                }

                switch (alt909)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set3151=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == INOUT_SYMBOL || LA(1) == IN_SYMBOL || LA(1) == OUT_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3151))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>0)
            	            {
            	                FAILEDFLAG = ANTLR3_TRUE;
            	                return retval;
            	            }

            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
            	            EXCEPTION->expectingSet = NULL;

            	            goto ruleprocedure_parameterEx;
            	        }


            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_function_parameter_in_procedure_parameter16336);
            function_parameter3152=function_parameter(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_parameter3152.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprocedure_parameterEx; /* Prevent compiler warnings */
    ruleprocedure_parameterEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end procedure_parameter */

/**
 * $ANTLR start function_parameter
 * MySQL.g:2894:1: function_parameter : identifier data_type ;
 */
static MySQLParser_function_parameter_return
function_parameter(pMySQLParser ctx)
{
    MySQLParser_function_parameter_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3153;
    #undef	RETURN_TYPE_identifier3153
    #define	RETURN_TYPE_identifier3153 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type3154;
    #undef	RETURN_TYPE_data_type3154
    #define	RETURN_TYPE_data_type3154 MySQLParser_data_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3153.tree = NULL;

    data_type3154.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2894:19: ( identifier data_type )
        // MySQL.g:2895:2: identifier data_type
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_function_parameter16345);
            identifier3153=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3153.tree);

            FOLLOWPUSH(FOLLOW_data_type_in_function_parameter16347);
            data_type3154=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type3154.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefunction_parameterEx; /* Prevent compiler warnings */
    rulefunction_parameterEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end function_parameter */

/**
 * $ANTLR start schema_identifier_pair
 * MySQL.g:2898:1: schema_identifier_pair : OPEN_PAR_SYMBOL schema_ref COMMA_SYMBOL schema_ref CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_schema_identifier_pair_return
schema_identifier_pair(pMySQLParser ctx)
{
    MySQLParser_schema_identifier_pair_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3155;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3157;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3159;
    MySQLParser_schema_ref_return schema_ref3156;
    #undef	RETURN_TYPE_schema_ref3156
    #define	RETURN_TYPE_schema_ref3156 MySQLParser_schema_ref_return

    MySQLParser_schema_ref_return schema_ref3158;
    #undef	RETURN_TYPE_schema_ref3158
    #define	RETURN_TYPE_schema_ref3158 MySQLParser_schema_ref_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3155_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3157_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3159_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3155       = NULL;
    COMMA_SYMBOL3157       = NULL;
    CLOSE_PAR_SYMBOL3159       = NULL;
    schema_ref3156.tree = NULL;

    schema_ref3158.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3155_tree   = NULL;
    COMMA_SYMBOL3157_tree   = NULL;
    CLOSE_PAR_SYMBOL3159_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2898:23: ( OPEN_PAR_SYMBOL schema_ref COMMA_SYMBOL schema_ref CLOSE_PAR_SYMBOL )
        // MySQL.g:2899:2: OPEN_PAR_SYMBOL schema_ref COMMA_SYMBOL schema_ref CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3155 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_schema_identifier_pair16356);
            if  (HASEXCEPTION())
            {
                goto ruleschema_identifier_pairEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3155_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3155));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3155_tree);
            }

            FOLLOWPUSH(FOLLOW_schema_ref_in_schema_identifier_pair16358);
            schema_ref3156=schema_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleschema_identifier_pairEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref3156.tree);

            COMMA_SYMBOL3157 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_schema_identifier_pair16360);
            if  (HASEXCEPTION())
            {
                goto ruleschema_identifier_pairEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COMMA_SYMBOL3157_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3157));
            ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3157_tree);
            }

            FOLLOWPUSH(FOLLOW_schema_ref_in_schema_identifier_pair16362);
            schema_ref3158=schema_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleschema_identifier_pairEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, schema_ref3158.tree);

            CLOSE_PAR_SYMBOL3159 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_schema_identifier_pair16364);
            if  (HASEXCEPTION())
            {
                goto ruleschema_identifier_pairEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3159_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3159));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3159_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleschema_identifier_pairEx; /* Prevent compiler warnings */
    ruleschema_identifier_pairEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end schema_identifier_pair */

/**
 * $ANTLR start table_identifier_list
 * MySQL.g:2902:1: table_identifier_list : table_ref ( COMMA_SYMBOL table_ref )* ;
 */
static MySQLParser_table_identifier_list_return
table_identifier_list(pMySQLParser ctx)
{
    MySQLParser_table_identifier_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3161;
    MySQLParser_table_ref_return table_ref3160;
    #undef	RETURN_TYPE_table_ref3160
    #define	RETURN_TYPE_table_ref3160 MySQLParser_table_ref_return

    MySQLParser_table_ref_return table_ref3162;
    #undef	RETURN_TYPE_table_ref3162
    #define	RETURN_TYPE_table_ref3162 MySQLParser_table_ref_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3161_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3161       = NULL;
    table_ref3160.tree = NULL;

    table_ref3162.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3161_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2902:22: ( table_ref ( COMMA_SYMBOL table_ref )* )
        // MySQL.g:2903:2: table_ref ( COMMA_SYMBOL table_ref )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_ref_in_table_identifier_list16373);
            table_ref3160=table_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref3160.tree);

            // MySQL.g:2903:12: ( COMMA_SYMBOL table_ref )*

            for (;;)
            {
                int alt910=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt910=1;
                	}
                    break;

                }

                switch (alt910)
                {
            	case 1:
            	    // MySQL.g:2903:13: COMMA_SYMBOL table_ref
            	    {
            	        COMMA_SYMBOL3161 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_identifier_list16376);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3161_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3161));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3161_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_ref_in_table_identifier_list16378);
            	        table_ref3162=table_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_ref3162.tree);

            	    }
            	    break;

            	default:
            	    goto loop910;	/* break out of the loop */
            	    break;
                }
            }
            loop910: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_identifier_listEx; /* Prevent compiler warnings */
    ruletable_identifier_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_identifier_list */

/**
 * $ANTLR start view_identifier_list
 * MySQL.g:2906:1: view_identifier_list : view_ref ( COMMA_SYMBOL view_ref )* ;
 */
static MySQLParser_view_identifier_list_return
view_identifier_list(pMySQLParser ctx)
{
    MySQLParser_view_identifier_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3164;
    MySQLParser_view_ref_return view_ref3163;
    #undef	RETURN_TYPE_view_ref3163
    #define	RETURN_TYPE_view_ref3163 MySQLParser_view_ref_return

    MySQLParser_view_ref_return view_ref3165;
    #undef	RETURN_TYPE_view_ref3165
    #define	RETURN_TYPE_view_ref3165 MySQLParser_view_ref_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3164_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3164       = NULL;
    view_ref3163.tree = NULL;

    view_ref3165.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3164_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2906:21: ( view_ref ( COMMA_SYMBOL view_ref )* )
        // MySQL.g:2907:2: view_ref ( COMMA_SYMBOL view_ref )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_view_ref_in_view_identifier_list16396);
            view_ref3163=view_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleview_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_ref3163.tree);

            // MySQL.g:2907:11: ( COMMA_SYMBOL view_ref )*

            for (;;)
            {
                int alt911=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt911=1;
                	}
                    break;

                }

                switch (alt911)
                {
            	case 1:
            	    // MySQL.g:2907:12: COMMA_SYMBOL view_ref
            	    {
            	        COMMA_SYMBOL3164 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_view_identifier_list16399);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleview_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3164_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3164));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3164_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_view_ref_in_view_identifier_list16401);
            	        view_ref3165=view_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleview_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_ref3165.tree);

            	    }
            	    break;

            	default:
            	    goto loop911;	/* break out of the loop */
            	    break;
                }
            }
            loop911: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleview_identifier_listEx; /* Prevent compiler warnings */
    ruleview_identifier_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end view_identifier_list */

/**
 * $ANTLR start field_name_list
 * MySQL.g:2910:1: field_name_list : column_ref ( COMMA_SYMBOL column_ref )* ;
 */
static MySQLParser_field_name_list_return
field_name_list(pMySQLParser ctx)
{
    MySQLParser_field_name_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3167;
    MySQLParser_column_ref_return column_ref3166;
    #undef	RETURN_TYPE_column_ref3166
    #define	RETURN_TYPE_column_ref3166 MySQLParser_column_ref_return

    MySQLParser_column_ref_return column_ref3168;
    #undef	RETURN_TYPE_column_ref3168
    #define	RETURN_TYPE_column_ref3168 MySQLParser_column_ref_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3167_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3167       = NULL;
    column_ref3166.tree = NULL;

    column_ref3168.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3167_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2910:16: ( column_ref ( COMMA_SYMBOL column_ref )* )
        // MySQL.g:2911:2: column_ref ( COMMA_SYMBOL column_ref )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_column_ref_in_field_name_list16419);
            column_ref3166=column_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_name_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref3166.tree);

            // MySQL.g:2911:13: ( COMMA_SYMBOL column_ref )*

            for (;;)
            {
                int alt912=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt912=1;
                	}
                    break;

                }

                switch (alt912)
                {
            	case 1:
            	    // MySQL.g:2911:14: COMMA_SYMBOL column_ref
            	    {
            	        COMMA_SYMBOL3167 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_field_name_list16422);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3167_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3167));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3167_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_column_ref_in_field_name_list16424);
            	        column_ref3168=column_ref(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref3168.tree);

            	    }
            	    break;

            	default:
            	    goto loop912;	/* break out of the loop */
            	    break;
                }
            }
            loop912: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefield_name_listEx; /* Prevent compiler warnings */
    rulefield_name_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_name_list */

/**
 * $ANTLR start column_assignment_list_with_default
 * MySQL.g:2914:1: column_assignment_list_with_default : column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* -> ^( COLUMN_ASSIGNMENT_LIST_TOKEN column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* ) ;
 */
static MySQLParser_column_assignment_list_with_default_return
column_assignment_list_with_default(pMySQLParser ctx)
{
    MySQLParser_column_assignment_list_with_default_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3170;
    MySQLParser_column_assignment_with_default_return column_assignment_with_default3169;
    #undef	RETURN_TYPE_column_assignment_with_default3169
    #define	RETURN_TYPE_column_assignment_with_default3169 MySQLParser_column_assignment_with_default_return

    MySQLParser_column_assignment_with_default_return column_assignment_with_default3171;
    #undef	RETURN_TYPE_column_assignment_with_default3171
    #define	RETURN_TYPE_column_assignment_with_default3171 MySQLParser_column_assignment_with_default_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3170_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_column_assignment_with_default;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3170       = NULL;
    column_assignment_with_default3169.tree = NULL;

    column_assignment_with_default3171.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3170_tree   = NULL;

    stream_COMMA_SYMBOL   = NULL;
    #define CREATE_stream_COMMA_SYMBOL  if (stream_COMMA_SYMBOL == NULL) {stream_COMMA_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token COMMA_SYMBOL"); } 
    stream_column_assignment_with_default   = NULL;
    #define CREATE_stream_column_assignment_with_default  if (stream_column_assignment_with_default == NULL) {stream_column_assignment_with_default = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule column_assignment_with_default"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2914:36: ( column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* -> ^( COLUMN_ASSIGNMENT_LIST_TOKEN column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* ) )
        // MySQL.g:2915:2: column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )*
        {
            FOLLOWPUSH(FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16435);
            column_assignment_with_default3169=column_assignment_with_default(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_list_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_column_assignment_with_default; stream_column_assignment_with_default->add(stream_column_assignment_with_default, column_assignment_with_default3169.tree, NULL); }

            // MySQL.g:2915:33: ( COMMA_SYMBOL column_assignment_with_default )*

            for (;;)
            {
                int alt913=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt913=1;
                	}
                    break;

                }

                switch (alt913)
                {
            	case 1:
            	    // MySQL.g:2915:34: COMMA_SYMBOL column_assignment_with_default
            	    {
            	        COMMA_SYMBOL3170 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default16438);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_list_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL3170, NULL); }


            	        FOLLOWPUSH(FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default16440);
            	        column_assignment_with_default3171=column_assignment_with_default(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_list_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_column_assignment_with_default; stream_column_assignment_with_default->add(stream_column_assignment_with_default, column_assignment_with_default3171.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop913;	/* break out of the loop */
            	    break;
                }
            }
            loop913: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, column_assignment_with_default, column_assignment_with_default
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2916:3: -> ^( COLUMN_ASSIGNMENT_LIST_TOKEN column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* )
            	{
            	    // MySQL.g:2916:6: ^( COLUMN_ASSIGNMENT_LIST_TOKEN column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_ASSIGNMENT_LIST_TOKEN, (pANTLR3_UINT8)"COLUMN_ASSIGNMENT_LIST_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_column_assignment_with_default == NULL ? NULL : stream_column_assignment_with_default->nextTree(stream_column_assignment_with_default));

            	        // MySQL.g:2916:68: ( COMMA_SYMBOL column_assignment_with_default )*
            	        {
            	        	while ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_column_assignment_with_default != NULL && stream_column_assignment_with_default->hasNext(stream_column_assignment_with_default))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_column_assignment_with_default == NULL ? NULL : stream_column_assignment_with_default->nextTree(stream_column_assignment_with_default));

            	        	}
            	        	if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if (stream_column_assignment_with_default != NULL) stream_column_assignment_with_default->reset(stream_column_assignment_with_default);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_assignment_list_with_defaultEx; /* Prevent compiler warnings */
    rulecolumn_assignment_list_with_defaultEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_column_assignment_with_default != NULL) stream_column_assignment_with_default->free(stream_column_assignment_with_default);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_assignment_list_with_default */

/**
 * $ANTLR start column_assignment_with_default
 * MySQL.g:2919:1: column_assignment_with_default : column_ref EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL ) ;
 */
static MySQLParser_column_assignment_with_default_return
column_assignment_with_default(pMySQLParser ctx)
{
    MySQLParser_column_assignment_with_default_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR3173;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL3175;
    MySQLParser_column_ref_return column_ref3172;
    #undef	RETURN_TYPE_column_ref3172
    #define	RETURN_TYPE_column_ref3172 MySQLParser_column_ref_return

    MySQLParser_expression_return expression3174;
    #undef	RETURN_TYPE_expression3174
    #define	RETURN_TYPE_expression3174 MySQLParser_expression_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR3173_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL3175_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR3173       = NULL;
    DEFAULT_SYMBOL3175       = NULL;
    column_ref3172.tree = NULL;

    expression3174.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR3173_tree   = NULL;
    DEFAULT_SYMBOL3175_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2919:31: ( column_ref EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL ) )
        // MySQL.g:2920:2: column_ref EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_column_ref_in_column_assignment_with_default16468);
            column_ref3172=column_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_ref3172.tree);

            EQUAL_OPERATOR3173 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default16470);
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR3173_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR3173));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR3173_tree);
            }

            // MySQL.g:2920:28: ( expression | DEFAULT_SYMBOL )
            {
                int alt914=2;
                {
                    int LA914_0 = LA(1);
                    if ( (LA914_0 == BITWISE_NOT_OPERATOR || LA914_0 == INTERVAL_SYMBOL || LA914_0 == LOGICAL_NOT_OPERATOR || LA914_0 == MINUS_OPERATOR || LA914_0 == NCHAR_TEXT || LA914_0 == NOT2_SYMBOL || LA914_0 == NOT_SYMBOL || LA914_0 == PLUS_OPERATOR || LA914_0 == SINGLE_QUOTED_TEXT || LA914_0 == UNDERSCORE_CHARSET))
                    {
                        alt914=1;
                    }
                    else if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA914_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt914=1;
                    }
                    else if ( (LA914_0 == FALSE_SYMBOL || LA914_0 == FLOAT || ((LA914_0 >= HEXNUMBER) && (LA914_0 <= HEXSTRING)) || LA914_0 == INTEGER || LA914_0 == TRUE_SYMBOL))
                    {
                        alt914=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA914_0 >= BITNUMBER) && (LA914_0 <= BITSTRING))))
                    {
                        alt914=1;
                    }
                    else if ( (((LA914_0 >= ASCII_SYMBOL) && (LA914_0 <= YEAR_SYMBOL)) || ((LA914_0 >= AT_AT_SIGN_SYMBOL) && (LA914_0 <= AT_TEXT_SUFFIX)) || LA914_0 == BACK_TICK_QUOTED_ID || LA914_0 == BINARY_SYMBOL || ((LA914_0 >= BIT_AND_SYMBOL) && (LA914_0 <= BIT_XOR_SYMBOL)) || ((LA914_0 >= CASE_SYMBOL) && (LA914_0 <= CAST_SYMBOL)) || LA914_0 == CHAR_SYMBOL || ((LA914_0 >= CONVERT_SYMBOL) && (LA914_0 <= COUNT_SYMBOL)) || LA914_0 == CURDATE_SYMBOL || LA914_0 == CURRENT_USER_SYMBOL || LA914_0 == CURTIME_SYMBOL || LA914_0 == DATABASE_SYMBOL || LA914_0 == DATE_ADD_SYMBOL || LA914_0 == DATE_SUB_SYMBOL || LA914_0 == EXISTS_SYMBOL || LA914_0 == EXTRACT_SYMBOL || LA914_0 == GROUP_CONCAT_SYMBOL || ((LA914_0 >= IDENTIFIER) && (LA914_0 <= IF_SYMBOL)) || LA914_0 == INSERT_SYMBOL || LA914_0 == LEFT_SYMBOL || LA914_0 == MATCH_SYMBOL || LA914_0 == MAX_SYMBOL || LA914_0 == MIN_SYMBOL || LA914_0 == MOD_SYMBOL || LA914_0 == NOW_SYMBOL || LA914_0 == NULL2_SYMBOL || LA914_0 == NULL_SYMBOL || ((LA914_0 >= OPEN_CURLY_SYMBOL) && (LA914_0 <= OPEN_PAR_SYMBOL)) || LA914_0 == PARAM_MARKER || LA914_0 == POSITION_SYMBOL || ((LA914_0 >= REPEAT_SYMBOL) && (LA914_0 <= REPLACE_SYMBOL)) || LA914_0 == RIGHT_SYMBOL || LA914_0 == STDDEV_SAMP_SYMBOL || LA914_0 == STD_SYMBOL || LA914_0 == SUBSTRING_SYMBOL || ((LA914_0 >= SUM_SYMBOL) && (LA914_0 <= SYSDATE_SYMBOL)) || LA914_0 == TRIM_SYMBOL || ((LA914_0 >= UTC_DATE_SYMBOL) && (LA914_0 <= UTC_TIME_SYMBOL)) || LA914_0 == VALUES_SYMBOL || LA914_0 == VARIANCE_SYMBOL || LA914_0 == VAR_SAMP_SYMBOL))
                    {
                        alt914=1;
                    }
                    else if ( (LA914_0 == DEFAULT_SYMBOL))
                    {
                        alt914=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 914;
                        EXCEPTION->state        = 0;


                        goto rulecolumn_assignment_with_defaultEx;

                    }
                }
                switch (alt914)
                {
            	case 1:
            	    // MySQL.g:2920:29: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_column_assignment_with_default16473);
            	        expression3174=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression3174.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2920:42: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL3175 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default16477);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL3175_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL3175));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL3175_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_assignment_with_defaultEx; /* Prevent compiler warnings */
    rulecolumn_assignment_with_defaultEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_assignment_with_default */

/**
 * $ANTLR start charset_clause
 * MySQL.g:2923:1: charset_clause : charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL ) ;
 */
static MySQLParser_charset_clause_return
charset_clause(pMySQLParser ctx)
{
    MySQLParser_charset_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL3178;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL3179;
    MySQLParser_charset_return charset3176;
    #undef	RETURN_TYPE_charset3176
    #define	RETURN_TYPE_charset3176 MySQLParser_charset_return

    MySQLParser_text_or_identifier_return text_or_identifier3177;
    #undef	RETURN_TYPE_text_or_identifier3177
    #define	RETURN_TYPE_text_or_identifier3177 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL3178_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL3179_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL3178       = NULL;
    BINARY_SYMBOL3179       = NULL;
    charset3176.tree = NULL;

    text_or_identifier3177.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL3178_tree   = NULL;
    BINARY_SYMBOL3179_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2923:15: ( charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL ) )
        // MySQL.g:2924:2: charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_charset_in_charset_clause16487);
            charset3176=charset(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecharset_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset3176.tree);

            // MySQL.g:2924:10: ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL )
            {
                int alt915=3;
                {
                    int LA915_0 = LA(1);
                    if ( (LA915_0 == BACK_TICK_QUOTED_ID || LA915_0 == IDENTIFIER || LA915_0 == SINGLE_QUOTED_TEXT))
                    {
                        alt915=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA915_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt915=1;
                    }
                    else if ( (((LA915_0 >= ASCII_SYMBOL) && (LA915_0 <= YEAR_SYMBOL))))
                    {
                        alt915=1;
                    }
                    else if ( (LA915_0 == DEFAULT_SYMBOL))
                    {
                        alt915=2;
                    }
                    else if ( (LA915_0 == BINARY_SYMBOL))
                    {
                        alt915=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 915;
                        EXCEPTION->state        = 0;


                        goto rulecharset_clauseEx;

                    }
                }
                switch (alt915)
                {
            	case 1:
            	    // MySQL.g:2924:11: text_or_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_charset_clause16490);
            	        text_or_identifier3177=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier3177.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2924:32: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL3178 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_charset_clause16494);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL3178_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL3178));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL3178_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2924:49: BINARY_SYMBOL
            	    {
            	        BINARY_SYMBOL3179 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_charset_clause16498);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BINARY_SYMBOL3179_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL3179));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL3179_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecharset_clauseEx; /* Prevent compiler warnings */
    rulecharset_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end charset_clause */

/**
 * $ANTLR start fields_clause
 * MySQL.g:2927:1: fields_clause : COLUMNS_SYMBOL ( field_term )+ ;
 */
static MySQLParser_fields_clause_return
fields_clause(pMySQLParser ctx)
{
    MySQLParser_fields_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL3180;
    MySQLParser_field_term_return field_term3181;
    #undef	RETURN_TYPE_field_term3181
    #define	RETURN_TYPE_field_term3181 MySQLParser_field_term_return

    pANTLR3_BASE_TREE COLUMNS_SYMBOL3180_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COLUMNS_SYMBOL3180       = NULL;
    field_term3181.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COLUMNS_SYMBOL3180_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2927:14: ( COLUMNS_SYMBOL ( field_term )+ )
        // MySQL.g:2928:2: COLUMNS_SYMBOL ( field_term )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            COLUMNS_SYMBOL3180 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_fields_clause16508);
            if  (HASEXCEPTION())
            {
                goto rulefields_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COLUMNS_SYMBOL3180_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL3180));
            ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL3180_tree);
            }

            // MySQL.g:2928:17: ( field_term )+
            {
                int cnt916=0;

                for (;;)
                {
                    int alt916=2;
            	switch ( LA(1) )
            	{
            	case ENCLOSED_SYMBOL:
            	case ESCAPED_SYMBOL:
            	case OPTIONALLY_SYMBOL:
            	case TERMINATED_SYMBOL:
            		{
            			alt916=1;
            		}
            	    break;

            	}

            	switch (alt916)
            	{
            	    case 1:
            	        // MySQL.g:2928:17: field_term
            	        {
            	            FOLLOWPUSH(FOLLOW_field_term_in_fields_clause16510);
            	            field_term3181=field_term(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulefields_clauseEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_term3181.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt916 >= 1 )
            		{
            		    goto loop916;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulefields_clauseEx;
            	}
            	cnt916++;
                }
                loop916: ;	/* Jump to here if this rule does not match */
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefields_clauseEx; /* Prevent compiler warnings */
    rulefields_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end fields_clause */

/**
 * $ANTLR start field_term
 * MySQL.g:2931:1: field_term : ( TERMINATED_SYMBOL BY_SYMBOL text_string | ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL text_string | ESCAPED_SYMBOL BY_SYMBOL text_string );
 */
static MySQLParser_field_term_return
field_term(pMySQLParser ctx)
{
    MySQLParser_field_term_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TERMINATED_SYMBOL3182;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3183;
    pANTLR3_COMMON_TOKEN    OPTIONALLY_SYMBOL3185;
    pANTLR3_COMMON_TOKEN    ENCLOSED_SYMBOL3186;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3187;
    pANTLR3_COMMON_TOKEN    ESCAPED_SYMBOL3189;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3190;
    MySQLParser_text_string_return text_string3184;
    #undef	RETURN_TYPE_text_string3184
    #define	RETURN_TYPE_text_string3184 MySQLParser_text_string_return

    MySQLParser_text_string_return text_string3188;
    #undef	RETURN_TYPE_text_string3188
    #define	RETURN_TYPE_text_string3188 MySQLParser_text_string_return

    MySQLParser_text_string_return text_string3191;
    #undef	RETURN_TYPE_text_string3191
    #define	RETURN_TYPE_text_string3191 MySQLParser_text_string_return

    pANTLR3_BASE_TREE TERMINATED_SYMBOL3182_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3183_tree;
    pANTLR3_BASE_TREE OPTIONALLY_SYMBOL3185_tree;
    pANTLR3_BASE_TREE ENCLOSED_SYMBOL3186_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3187_tree;
    pANTLR3_BASE_TREE ESCAPED_SYMBOL3189_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3190_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TERMINATED_SYMBOL3182       = NULL;
    BY_SYMBOL3183       = NULL;
    OPTIONALLY_SYMBOL3185       = NULL;
    ENCLOSED_SYMBOL3186       = NULL;
    BY_SYMBOL3187       = NULL;
    ESCAPED_SYMBOL3189       = NULL;
    BY_SYMBOL3190       = NULL;
    text_string3184.tree = NULL;

    text_string3188.tree = NULL;

    text_string3191.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TERMINATED_SYMBOL3182_tree   = NULL;
    BY_SYMBOL3183_tree   = NULL;
    OPTIONALLY_SYMBOL3185_tree   = NULL;
    ENCLOSED_SYMBOL3186_tree   = NULL;
    BY_SYMBOL3187_tree   = NULL;
    ESCAPED_SYMBOL3189_tree   = NULL;
    BY_SYMBOL3190_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2931:11: ( TERMINATED_SYMBOL BY_SYMBOL text_string | ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL text_string | ESCAPED_SYMBOL BY_SYMBOL text_string )

            ANTLR3_UINT32 alt918;

            alt918=3;

            switch ( LA(1) )
            {
            case TERMINATED_SYMBOL:
            	{
            		alt918=1;
            	}
                break;
            case ENCLOSED_SYMBOL:
            case OPTIONALLY_SYMBOL:
            	{
            		alt918=2;
            	}
                break;
            case ESCAPED_SYMBOL:
            	{
            		alt918=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 918;
                EXCEPTION->state        = 0;


                goto rulefield_termEx;

            }

            switch (alt918)
            {
        	case 1:
        	    // MySQL.g:2932:2: TERMINATED_SYMBOL BY_SYMBOL text_string
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TERMINATED_SYMBOL3182 = (pANTLR3_COMMON_TOKEN) MATCHT(TERMINATED_SYMBOL, &FOLLOW_TERMINATED_SYMBOL_in_field_term16520);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TERMINATED_SYMBOL3182_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TERMINATED_SYMBOL3182));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TERMINATED_SYMBOL3182_tree);
        	        }

        	        BY_SYMBOL3183 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term16522);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL3183_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3183));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3183_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_text_string_in_field_term16524);
        	        text_string3184=text_string(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string3184.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2933:4: ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL text_string
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2933:4: ( OPTIONALLY_SYMBOL )?
        	        {
        	            int alt917=2;
        	            switch ( LA(1) )
        	            {
        	                case OPTIONALLY_SYMBOL:
        	                	{
        	                		alt917=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt917)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2933:4: OPTIONALLY_SYMBOL
        	        	    {
        	        	        OPTIONALLY_SYMBOL3185 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIONALLY_SYMBOL, &FOLLOW_OPTIONALLY_SYMBOL_in_field_term16529);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefield_termEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPTIONALLY_SYMBOL3185_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIONALLY_SYMBOL3185));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTIONALLY_SYMBOL3185_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENCLOSED_SYMBOL3186 = (pANTLR3_COMMON_TOKEN) MATCHT(ENCLOSED_SYMBOL, &FOLLOW_ENCLOSED_SYMBOL_in_field_term16532);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENCLOSED_SYMBOL3186_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENCLOSED_SYMBOL3186));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENCLOSED_SYMBOL3186_tree);
        	        }

        	        BY_SYMBOL3187 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term16534);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL3187_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3187));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3187_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_text_string_in_field_term16536);
        	        text_string3188=text_string(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string3188.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2934:4: ESCAPED_SYMBOL BY_SYMBOL text_string
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ESCAPED_SYMBOL3189 = (pANTLR3_COMMON_TOKEN) MATCHT(ESCAPED_SYMBOL, &FOLLOW_ESCAPED_SYMBOL_in_field_term16541);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ESCAPED_SYMBOL3189_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ESCAPED_SYMBOL3189));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ESCAPED_SYMBOL3189_tree);
        	        }

        	        BY_SYMBOL3190 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term16543);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL3190_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3190));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3190_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_text_string_in_field_term16545);
        	        text_string3191=text_string(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string3191.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulefield_termEx; /* Prevent compiler warnings */
    rulefield_termEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_term */

/**
 * $ANTLR start lines_clause
 * MySQL.g:2937:1: lines_clause : LINES_SYMBOL ( line_term )+ ;
 */
static MySQLParser_lines_clause_return
lines_clause(pMySQLParser ctx)
{
    MySQLParser_lines_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LINES_SYMBOL3192;
    MySQLParser_line_term_return line_term3193;
    #undef	RETURN_TYPE_line_term3193
    #define	RETURN_TYPE_line_term3193 MySQLParser_line_term_return

    pANTLR3_BASE_TREE LINES_SYMBOL3192_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LINES_SYMBOL3192       = NULL;
    line_term3193.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LINES_SYMBOL3192_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2937:13: ( LINES_SYMBOL ( line_term )+ )
        // MySQL.g:2938:2: LINES_SYMBOL ( line_term )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LINES_SYMBOL3192 = (pANTLR3_COMMON_TOKEN) MATCHT(LINES_SYMBOL, &FOLLOW_LINES_SYMBOL_in_lines_clause16554);
            if  (HASEXCEPTION())
            {
                goto rulelines_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LINES_SYMBOL3192_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINES_SYMBOL3192));
            ADAPTOR->addChild(ADAPTOR, root_0, LINES_SYMBOL3192_tree);
            }

            // MySQL.g:2938:15: ( line_term )+
            {
                int cnt919=0;

                for (;;)
                {
                    int alt919=2;
            	switch ( LA(1) )
            	{
            	case STARTING_SYMBOL:
            	case TERMINATED_SYMBOL:
            		{
            			alt919=1;
            		}
            	    break;

            	}

            	switch (alt919)
            	{
            	    case 1:
            	        // MySQL.g:2938:15: line_term
            	        {
            	            FOLLOWPUSH(FOLLOW_line_term_in_lines_clause16556);
            	            line_term3193=line_term(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulelines_clauseEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, line_term3193.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt919 >= 1 )
            		{
            		    goto loop919;
            		}
            		if (BACKTRACKING>0)
            		{
            		    FAILEDFLAG = ANTLR3_TRUE;
            		    return retval;
            		}

            		/* mismatchedSetEx()
            		 */
            		CONSTRUCTEX();
            		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
            		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


            		goto rulelines_clauseEx;
            	}
            	cnt919++;
                }
                loop919: ;	/* Jump to here if this rule does not match */
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulelines_clauseEx; /* Prevent compiler warnings */
    rulelines_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end lines_clause */

/**
 * $ANTLR start line_term
 * MySQL.g:2941:1: line_term : ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL text_string ;
 */
static MySQLParser_line_term_return
line_term(pMySQLParser ctx)
{
    MySQLParser_line_term_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3194;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3195;
    MySQLParser_text_string_return text_string3196;
    #undef	RETURN_TYPE_text_string3196
    #define	RETURN_TYPE_text_string3196 MySQLParser_text_string_return

    pANTLR3_BASE_TREE set3194_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3195_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3194       = NULL;
    BY_SYMBOL3195       = NULL;
    text_string3196.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3194_tree   = NULL;
    BY_SYMBOL3195_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2941:10: ( ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL text_string )
        // MySQL.g:2942:2: ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL text_string
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3194=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == STARTING_SYMBOL || LA(1) == TERMINATED_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3194))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleline_termEx;
            }


            BY_SYMBOL3195 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_line_term16574);
            if  (HASEXCEPTION())
            {
                goto ruleline_termEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL3195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3195));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3195_tree);
            }

            FOLLOWPUSH(FOLLOW_text_string_in_line_term16576);
            text_string3196=text_string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleline_termEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string3196.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleline_termEx; /* Prevent compiler warnings */
    ruleline_termEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end line_term */

/**
 * $ANTLR start user_list
 * MySQL.g:2945:1: user_list : user ( COMMA_SYMBOL user )* ;
 */
static MySQLParser_user_list_return
user_list(pMySQLParser ctx)
{
    MySQLParser_user_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3198;
    MySQLParser_user_return user3197;
    #undef	RETURN_TYPE_user3197
    #define	RETURN_TYPE_user3197 MySQLParser_user_return

    MySQLParser_user_return user3199;
    #undef	RETURN_TYPE_user3199
    #define	RETURN_TYPE_user3199 MySQLParser_user_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3198_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3198       = NULL;
    user3197.tree = NULL;

    user3199.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3198_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2945:10: ( user ( COMMA_SYMBOL user )* )
        // MySQL.g:2946:2: user ( COMMA_SYMBOL user )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_in_user_list16585);
            user3197=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user3197.tree);

            // MySQL.g:2946:7: ( COMMA_SYMBOL user )*

            for (;;)
            {
                int alt920=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt920=1;
                	}
                    break;

                }

                switch (alt920)
                {
            	case 1:
            	    // MySQL.g:2946:8: COMMA_SYMBOL user
            	    {
            	        COMMA_SYMBOL3198 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_user_list16588);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3198));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3198_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_user_list16590);
            	        user3199=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user3199.tree);

            	    }
            	    break;

            	default:
            	    goto loop920;	/* break out of the loop */
            	    break;
                }
            }
            loop920: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleuser_listEx; /* Prevent compiler warnings */
    ruleuser_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end user_list */

/**
 * $ANTLR start user_specification
 * MySQL.g:2949:1: user_specification : user ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )? ;
 */
static MySQLParser_user_specification_return
user_specification(pMySQLParser ctx)
{
    MySQLParser_user_specification_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IDENTIFIED_SYMBOL3201;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL3202;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL3203;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL3205;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL3207;
    MySQLParser_user_return user3200;
    #undef	RETURN_TYPE_user3200
    #define	RETURN_TYPE_user3200 MySQLParser_user_return

    MySQLParser_string_literal_return string_literal3204;
    #undef	RETURN_TYPE_string_literal3204
    #define	RETURN_TYPE_string_literal3204 MySQLParser_string_literal_return

    MySQLParser_pure_identifier_return pure_identifier3206;
    #undef	RETURN_TYPE_pure_identifier3206
    #define	RETURN_TYPE_pure_identifier3206 MySQLParser_pure_identifier_return

    MySQLParser_string_literal_return string_literal3208;
    #undef	RETURN_TYPE_string_literal3208
    #define	RETURN_TYPE_string_literal3208 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE IDENTIFIED_SYMBOL3201_tree;
    pANTLR3_BASE_TREE BY_SYMBOL3202_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL3203_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL3205_tree;
    pANTLR3_BASE_TREE AS_SYMBOL3207_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IDENTIFIED_SYMBOL3201       = NULL;
    BY_SYMBOL3202       = NULL;
    PASSWORD_SYMBOL3203       = NULL;
    WITH_SYMBOL3205       = NULL;
    AS_SYMBOL3207       = NULL;
    user3200.tree = NULL;

    string_literal3204.tree = NULL;

    pure_identifier3206.tree = NULL;

    string_literal3208.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IDENTIFIED_SYMBOL3201_tree   = NULL;
    BY_SYMBOL3202_tree   = NULL;
    PASSWORD_SYMBOL3203_tree   = NULL;
    WITH_SYMBOL3205_tree   = NULL;
    AS_SYMBOL3207_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2949:19: ( user ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )? )
        // MySQL.g:2950:2: user ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_in_user_specification16601);
            user3200=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_specificationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user3200.tree);

            // MySQL.g:2951:2: ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )?
            {
                int alt924=2;
                switch ( LA(1) )
                {
                    case IDENTIFIED_SYMBOL:
                    	{
                    		alt924=1;
                    	}
                        break;
                }

                switch (alt924)
                {
            	case 1:
            	    // MySQL.g:2952:3: IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? )
            	    {
            	        IDENTIFIED_SYMBOL3201 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIED_SYMBOL, &FOLLOW_IDENTIFIED_SYMBOL_in_user_specification16608);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_specificationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIED_SYMBOL3201_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIED_SYMBOL3201));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIED_SYMBOL3201_tree);
            	        }

            	        // MySQL.g:2953:3: ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? )
            	        {
            	            int alt923=2;
            	            switch ( LA(1) )
            	            {
            	            case BY_SYMBOL:
            	            	{
            	            		alt923=1;
            	            	}
            	                break;
            	            case WITH_SYMBOL:
            	            	{
            	            		alt923=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 923;
            	                EXCEPTION->state        = 0;


            	                goto ruleuser_specificationEx;

            	            }

            	            switch (alt923)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2954:4: BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal
            	        	    {
            	        	        BY_SYMBOL3202 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_user_specification16617);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        BY_SYMBOL3202_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL3202));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL3202_tree);
            	        	        }

            	        	        // MySQL.g:2954:14: ( PASSWORD_SYMBOL )?
            	        	        {
            	        	            int alt921=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case PASSWORD_SYMBOL:
            	        	                	{
            	        	                		alt921=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt921)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2954:14: PASSWORD_SYMBOL
            	        	        	    {
            	        	        	        PASSWORD_SYMBOL3203 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_user_specification16619);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        PASSWORD_SYMBOL3203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL3203));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL3203_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_string_literal_in_user_specification16622);
            	        	        string_literal3204=string_literal(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3204.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2955:6: WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )?
            	        	    {
            	        	        WITH_SYMBOL3205 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_user_specification16629);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        WITH_SYMBOL3205_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL3205));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL3205_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_user_specification16631);
            	        	        pure_identifier3206=pure_identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier3206.tree);

            	        	        // MySQL.g:2955:34: ( AS_SYMBOL string_literal )?
            	        	        {
            	        	            int alt922=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                	{
            	        	                		alt922=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt922)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2955:35: AS_SYMBOL string_literal
            	        	        	    {
            	        	        	        AS_SYMBOL3207 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_user_specification16634);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AS_SYMBOL3207_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL3207));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL3207_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_user_specification16636);
            	        	        	        string_literal3208=string_literal(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3208.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleuser_specificationEx; /* Prevent compiler warnings */
    ruleuser_specificationEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end user_specification */

/**
 * $ANTLR start user
 * MySQL.g:2960:1: user : ( text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier | AT_TEXT_SUFFIX )? | CURRENT_USER_SYMBOL ( parentheses )? );
 */
static MySQLParser_user_return
user(pMySQLParser ctx)
{
    MySQLParser_user_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL3210;
    pANTLR3_COMMON_TOKEN    AT_TEXT_SUFFIX3212;
    pANTLR3_COMMON_TOKEN    CURRENT_USER_SYMBOL3213;
    MySQLParser_text_or_identifier_return text_or_identifier3209;
    #undef	RETURN_TYPE_text_or_identifier3209
    #define	RETURN_TYPE_text_or_identifier3209 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier3211;
    #undef	RETURN_TYPE_text_or_identifier3211
    #define	RETURN_TYPE_text_or_identifier3211 MySQLParser_text_or_identifier_return

    MySQLParser_parentheses_return parentheses3214;
    #undef	RETURN_TYPE_parentheses3214
    #define	RETURN_TYPE_parentheses3214 MySQLParser_parentheses_return

    pANTLR3_BASE_TREE AT_SIGN_SYMBOL3210_tree;
    pANTLR3_BASE_TREE AT_TEXT_SUFFIX3212_tree;
    pANTLR3_BASE_TREE CURRENT_USER_SYMBOL3213_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SIGN_SYMBOL3210       = NULL;
    AT_TEXT_SUFFIX3212       = NULL;
    CURRENT_USER_SYMBOL3213       = NULL;
    text_or_identifier3209.tree = NULL;

    text_or_identifier3211.tree = NULL;

    parentheses3214.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SIGN_SYMBOL3210_tree   = NULL;
    AT_TEXT_SUFFIX3212_tree   = NULL;
    CURRENT_USER_SYMBOL3213_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2960:5: ( text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier | AT_TEXT_SUFFIX )? | CURRENT_USER_SYMBOL ( parentheses )? )

            ANTLR3_UINT32 alt927;

            alt927=2;

            {
                int LA927_0 = LA(1);
                if ( (LA927_0 == BACK_TICK_QUOTED_ID || LA927_0 == IDENTIFIER || LA927_0 == SINGLE_QUOTED_TEXT))
                {
                    alt927=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA927_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt927=1;
                }
                else if ( (((LA927_0 >= ASCII_SYMBOL) && (LA927_0 <= YEAR_SYMBOL))))
                {
                    alt927=1;
                }
                else if ( (LA927_0 == CURRENT_USER_SYMBOL))
                {
                    alt927=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 927;
                    EXCEPTION->state        = 0;


                    goto ruleuserEx;

                }
            }
            switch (alt927)
            {
        	case 1:
        	    // MySQL.g:2961:2: text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier | AT_TEXT_SUFFIX )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_user16655);
        	        text_or_identifier3209=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuserEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier3209.tree);

        	        // MySQL.g:2961:21: ( AT_SIGN_SYMBOL text_or_identifier | AT_TEXT_SUFFIX )?
        	        {
        	            int alt925=3;
        	            switch ( LA(1) )
        	            {
        	                case AT_SIGN_SYMBOL:
        	                	{
        	                		alt925=1;
        	                	}
        	                    break;
        	                case AT_TEXT_SUFFIX:
        	                	{
        	                		alt925=2;
        	                	}
        	                    break;
        	            }

        	            switch (alt925)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2961:22: AT_SIGN_SYMBOL text_or_identifier
        	        	    {
        	        	        AT_SIGN_SYMBOL3210 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_user16658);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AT_SIGN_SYMBOL3210_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL3210));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL3210_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_user16660);
        	        	        text_or_identifier3211=text_or_identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier3211.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2961:58: AT_TEXT_SUFFIX
        	        	    {
        	        	        AT_TEXT_SUFFIX3212 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_TEXT_SUFFIX, &FOLLOW_AT_TEXT_SUFFIX_in_user16664);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AT_TEXT_SUFFIX3212_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_TEXT_SUFFIX3212));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_TEXT_SUFFIX3212_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2962:4: CURRENT_USER_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURRENT_USER_SYMBOL3213 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_USER_SYMBOL, &FOLLOW_CURRENT_USER_SYMBOL_in_user16671);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuserEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURRENT_USER_SYMBOL3213_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_USER_SYMBOL3213));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_USER_SYMBOL3213_tree);
        	        }

        	        // MySQL.g:2962:24: ( parentheses )?
        	        {
        	            int alt926=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt926=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt926)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2962:24: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_user16673);
        	        	        parentheses3214=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses3214.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleuserEx; /* Prevent compiler warnings */
    ruleuserEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end user */

/**
 * $ANTLR start like_clause
 * MySQL.g:2965:1: like_clause : LIKE_SYMBOL text_or_param_marker ;
 */
static MySQLParser_like_clause_return
like_clause(pMySQLParser ctx)
{
    MySQLParser_like_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL3215;
    MySQLParser_text_or_param_marker_return text_or_param_marker3216;
    #undef	RETURN_TYPE_text_or_param_marker3216
    #define	RETURN_TYPE_text_or_param_marker3216 MySQLParser_text_or_param_marker_return

    pANTLR3_BASE_TREE LIKE_SYMBOL3215_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LIKE_SYMBOL3215       = NULL;
    text_or_param_marker3216.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LIKE_SYMBOL3215_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2965:12: ( LIKE_SYMBOL text_or_param_marker )
        // MySQL.g:2966:2: LIKE_SYMBOL text_or_param_marker
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LIKE_SYMBOL3215 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_like_clause16683);
            if  (HASEXCEPTION())
            {
                goto rulelike_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LIKE_SYMBOL3215_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL3215));
            ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL3215_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_param_marker_in_like_clause16685);
            text_or_param_marker3216=text_or_param_marker(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelike_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_param_marker3216.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulelike_clauseEx; /* Prevent compiler warnings */
    rulelike_clauseEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end like_clause */

/**
 * $ANTLR start like_or_where
 * MySQL.g:2969:1: like_or_where : ( like_clause | where_clause );
 */
static MySQLParser_like_or_where_return
like_or_where(pMySQLParser ctx)
{
    MySQLParser_like_or_where_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_like_clause_return like_clause3217;
    #undef	RETURN_TYPE_like_clause3217
    #define	RETURN_TYPE_like_clause3217 MySQLParser_like_clause_return

    MySQLParser_where_clause_return where_clause3218;
    #undef	RETURN_TYPE_where_clause3218
    #define	RETURN_TYPE_where_clause3218 MySQLParser_where_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    like_clause3217.tree = NULL;

    where_clause3218.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2969:14: ( like_clause | where_clause )

            ANTLR3_UINT32 alt928;

            alt928=2;

            switch ( LA(1) )
            {
            case LIKE_SYMBOL:
            	{
            		alt928=1;
            	}
                break;
            case WHERE_SYMBOL:
            	{
            		alt928=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 928;
                EXCEPTION->state        = 0;


                goto rulelike_or_whereEx;

            }

            switch (alt928)
            {
        	case 1:
        	    // MySQL.g:2970:2: like_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_like_clause_in_like_or_where16694);
        	        like_clause3217=like_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelike_or_whereEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_clause3217.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2970:16: where_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_where_clause_in_like_or_where16698);
        	        where_clause3218=where_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelike_or_whereEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause3218.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelike_or_whereEx; /* Prevent compiler warnings */
    rulelike_or_whereEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end like_or_where */

/**
 * $ANTLR start online_option
 * MySQL.g:2973:1: online_option :{...}? => ( ONLINE_SYMBOL | OFFLINE_SYMBOL ) ;
 */
static MySQLParser_online_option_return
online_option(pMySQLParser ctx)
{
    MySQLParser_online_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3219;

    pANTLR3_BASE_TREE set3219_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3219       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3219_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2973:14: ({...}? => ( ONLINE_SYMBOL | OFFLINE_SYMBOL ) )
        // MySQL.g:2974:2: {...}? => ( ONLINE_SYMBOL | OFFLINE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION < 50600)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION < 50600";
                    EXCEPTION->ruleName	 = (void *)"online_option";


            }

            set3219=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= OFFLINE_SYMBOL) && (LA(1) <= ONLINE_SYMBOL)) )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3219))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleonline_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleonline_optionEx; /* Prevent compiler warnings */
    ruleonline_optionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end online_option */

/**
 * $ANTLR start no_write_to_bin_log
 * MySQL.g:2977:1: no_write_to_bin_log : ({...}? => LOCAL_SYMBOL | NO_WRITE_TO_BINLOG_SYMBOL );
 */
static MySQLParser_no_write_to_bin_log_return
no_write_to_bin_log(pMySQLParser ctx)
{
    MySQLParser_no_write_to_bin_log_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    LOCAL_SYMBOL3220;
    pANTLR3_COMMON_TOKEN    NO_WRITE_TO_BINLOG_SYMBOL3221;

    pANTLR3_BASE_TREE LOCAL_SYMBOL3220_tree;
    pANTLR3_BASE_TREE NO_WRITE_TO_BINLOG_SYMBOL3221_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCAL_SYMBOL3220       = NULL;
    NO_WRITE_TO_BINLOG_SYMBOL3221       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCAL_SYMBOL3220_tree   = NULL;
    NO_WRITE_TO_BINLOG_SYMBOL3221_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2977:20: ({...}? => LOCAL_SYMBOL | NO_WRITE_TO_BINLOG_SYMBOL )

            ANTLR3_UINT32 alt929;

            alt929=2;

            {
                int LA929_0 = LA(1);
                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA929_0 == LOCAL_SYMBOL))
                {
                    alt929=1;
                }
                else if ( (LA929_0 == NO_WRITE_TO_BINLOG_SYMBOL))
                {
                    alt929=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 929;
                    EXCEPTION->state        = 0;


                    goto ruleno_write_to_bin_logEx;

                }
            }
            switch (alt929)
            {
        	case 1:
        	    // MySQL.g:2978:2: {...}? => LOCAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == LOCAL_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == LOCAL_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"no_write_to_bin_log";


        	        }

        	        LOCAL_SYMBOL3220 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log16730);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleno_write_to_bin_logEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCAL_SYMBOL3220_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL3220));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL3220_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2979:4: NO_WRITE_TO_BINLOG_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_WRITE_TO_BINLOG_SYMBOL3221 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_WRITE_TO_BINLOG_SYMBOL, &FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log16736);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleno_write_to_bin_logEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_WRITE_TO_BINLOG_SYMBOL3221_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_WRITE_TO_BINLOG_SYMBOL3221));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_WRITE_TO_BINLOG_SYMBOL3221_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleno_write_to_bin_logEx; /* Prevent compiler warnings */
    ruleno_write_to_bin_logEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end no_write_to_bin_log */

/**
 * $ANTLR start use_partition
 * MySQL.g:2982:1: use_partition :{...}? => PARTITION_SYMBOL identifier_list_with_parentheses ;
 */
static MySQLParser_use_partition_return
use_partition(pMySQLParser ctx)
{
    MySQLParser_use_partition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL3222;
    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses3223;
    #undef	RETURN_TYPE_identifier_list_with_parentheses3223
    #define	RETURN_TYPE_identifier_list_with_parentheses3223 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL3222_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL3222       = NULL;
    identifier_list_with_parentheses3223.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL3222_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2982:14: ({...}? => PARTITION_SYMBOL identifier_list_with_parentheses )
        // MySQL.g:2983:2: {...}? => PARTITION_SYMBOL identifier_list_with_parentheses
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            if ( !((SERVER_VERSION >= 50602)) )
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
                    EXCEPTION->message      = (void *)"SERVER_VERSION >= 50602";
                    EXCEPTION->ruleName	 = (void *)"use_partition";


            }

            PARTITION_SYMBOL3222 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_use_partition16749);
            if  (HASEXCEPTION())
            {
                goto ruleuse_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL3222_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL3222));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL3222_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_use_partition16751);
            identifier_list_with_parentheses3223=identifier_list_with_parentheses(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuse_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list_with_parentheses3223.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleuse_partitionEx; /* Prevent compiler warnings */
    ruleuse_partitionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end use_partition */

/**
 * $ANTLR start column_name
 * MySQL.g:2994:1: column_name : identifier -> ^( COLUMN_NAME_TOKEN identifier ) ;
 */
static MySQLParser_column_name_return
column_name(pMySQLParser ctx)
{
    MySQLParser_column_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3224;
    #undef	RETURN_TYPE_identifier3224
    #define	RETURN_TYPE_identifier3224 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3224.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2994:12: ( identifier -> ^( COLUMN_NAME_TOKEN identifier ) )
        // MySQL.g:2995:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_column_name16768);
            identifier3224=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3224.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2995:13: -> ^( COLUMN_NAME_TOKEN identifier )
            	{
            	    // MySQL.g:2995:16: ^( COLUMN_NAME_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_NAME_TOKEN, (pANTLR3_UINT8)"COLUMN_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_nameEx; /* Prevent compiler warnings */
    rulecolumn_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_name */

/**
 * $ANTLR start column_ref
 * MySQL.g:2998:1: column_ref : qualified_identifier ( DOT_SYMBOL identifier )? -> ^( COLUMN_REF_TOKEN qualified_identifier ( DOT_SYMBOL identifier )? ) ;
 */
static MySQLParser_column_ref_return
column_ref(pMySQLParser ctx)
{
    MySQLParser_column_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3226;
    MySQLParser_qualified_identifier_return qualified_identifier3225;
    #undef	RETURN_TYPE_qualified_identifier3225
    #define	RETURN_TYPE_qualified_identifier3225 MySQLParser_qualified_identifier_return

    MySQLParser_identifier_return identifier3227;
    #undef	RETURN_TYPE_identifier3227
    #define	RETURN_TYPE_identifier3227 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3226_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_DOT_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3226       = NULL;
    qualified_identifier3225.tree = NULL;

    identifier3227.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3226_tree   = NULL;

    stream_DOT_SYMBOL   = NULL;
    #define CREATE_stream_DOT_SYMBOL  if (stream_DOT_SYMBOL == NULL) {stream_DOT_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token DOT_SYMBOL"); } 
    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }
    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2998:11: ( qualified_identifier ( DOT_SYMBOL identifier )? -> ^( COLUMN_REF_TOKEN qualified_identifier ( DOT_SYMBOL identifier )? ) )
        // MySQL.g:2999:2: qualified_identifier ( DOT_SYMBOL identifier )?
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_column_ref16785);
            qualified_identifier3225=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3225.tree, NULL); }

            // MySQL.g:2999:23: ( DOT_SYMBOL identifier )?
            {
                int alt930=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		alt930=1;
                    	}
                        break;
                }

                switch (alt930)
                {
            	case 1:
            	    // MySQL.g:2999:24: DOT_SYMBOL identifier
            	    {
            	        DOT_SYMBOL3226 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_column_ref16788);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_refEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_DOT_SYMBOL; stream_DOT_SYMBOL->add(stream_DOT_SYMBOL, DOT_SYMBOL3226, NULL); }


            	        FOLLOWPUSH(FOLLOW_identifier_in_column_ref16790);
            	        identifier3227=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_refEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3227.tree, NULL); }

            	    }
            	    break;

                }
            }

            /* AST REWRITE
             * elements          : DOT_SYMBOL, identifier, qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2999:48: -> ^( COLUMN_REF_TOKEN qualified_identifier ( DOT_SYMBOL identifier )? )
            	{
            	    // MySQL.g:2999:51: ^( COLUMN_REF_TOKEN qualified_identifier ( DOT_SYMBOL identifier )? )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_REF_TOKEN, (pANTLR3_UINT8)"COLUMN_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        // MySQL.g:2999:91: ( DOT_SYMBOL identifier )?
            	        {
            	        	if ( (stream_DOT_SYMBOL != NULL && stream_DOT_SYMBOL->hasNext(stream_DOT_SYMBOL)) || (stream_identifier != NULL && stream_identifier->hasNext(stream_identifier))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_DOT_SYMBOL == NULL ? NULL : stream_DOT_SYMBOL->nextNode(stream_DOT_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        	}
            	        	if ( stream_DOT_SYMBOL != NULL) stream_DOT_SYMBOL->reset(stream_DOT_SYMBOL);
            	        	if ( stream_identifier != NULL) stream_identifier->reset(stream_identifier);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_refEx; /* Prevent compiler warnings */
    rulecolumn_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_DOT_SYMBOL != NULL) stream_DOT_SYMBOL->free(stream_DOT_SYMBOL);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_ref */

/**
 * $ANTLR start column_internal_ref
 * MySQL.g:3002:1: column_internal_ref : identifier -> ^( COLUMN_INTERNAL_REF_TOKEN identifier ) ;
 */
static MySQLParser_column_internal_ref_return
column_internal_ref(pMySQLParser ctx)
{
    MySQLParser_column_internal_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3228;
    #undef	RETURN_TYPE_identifier3228
    #define	RETURN_TYPE_identifier3228 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3228.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3002:20: ( identifier -> ^( COLUMN_INTERNAL_REF_TOKEN identifier ) )
        // MySQL.g:3003:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_column_internal_ref16816);
            identifier3228=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_internal_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3228.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3003:13: -> ^( COLUMN_INTERNAL_REF_TOKEN identifier )
            	{
            	    // MySQL.g:3003:16: ^( COLUMN_INTERNAL_REF_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_INTERNAL_REF_TOKEN, (pANTLR3_UINT8)"COLUMN_INTERNAL_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_internal_refEx; /* Prevent compiler warnings */
    rulecolumn_internal_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_internal_ref */

/**
 * $ANTLR start column_ref_with_wildcard
 * MySQL.g:3006:1: column_ref_with_wildcard : column_ref_with_wildcard2 -> ^( COLUMN_REF_TOKEN column_ref_with_wildcard2 ) ;
 */
static MySQLParser_column_ref_with_wildcard_return
column_ref_with_wildcard(pMySQLParser ctx)
{
    MySQLParser_column_ref_with_wildcard_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_column_ref_with_wildcard2_return column_ref_with_wildcard23229;
    #undef	RETURN_TYPE_column_ref_with_wildcard23229
    #define	RETURN_TYPE_column_ref_with_wildcard23229 MySQLParser_column_ref_with_wildcard2_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_column_ref_with_wildcard2;
    /* Initialize rule variables
     */

    root_0 = NULL;

    column_ref_with_wildcard23229.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_column_ref_with_wildcard2   = NULL;
    #define CREATE_stream_column_ref_with_wildcard2  if (stream_column_ref_with_wildcard2 == NULL) {stream_column_ref_with_wildcard2 = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule column_ref_with_wildcard2"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3006:25: ( column_ref_with_wildcard2 -> ^( COLUMN_REF_TOKEN column_ref_with_wildcard2 ) )
        // MySQL.g:3007:2: column_ref_with_wildcard2
        {
            FOLLOWPUSH(FOLLOW_column_ref_with_wildcard2_in_column_ref_with_wildcard16833);
            column_ref_with_wildcard23229=column_ref_with_wildcard2(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_ref_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_column_ref_with_wildcard2; stream_column_ref_with_wildcard2->add(stream_column_ref_with_wildcard2, column_ref_with_wildcard23229.tree, NULL); }

            /* AST REWRITE
             * elements          : column_ref_with_wildcard2
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3007:28: -> ^( COLUMN_REF_TOKEN column_ref_with_wildcard2 )
            	{
            	    // MySQL.g:3007:31: ^( COLUMN_REF_TOKEN column_ref_with_wildcard2 )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, COLUMN_REF_TOKEN, (pANTLR3_UINT8)"COLUMN_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_column_ref_with_wildcard2 == NULL ? NULL : stream_column_ref_with_wildcard2->nextTree(stream_column_ref_with_wildcard2));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_ref_with_wildcardEx; /* Prevent compiler warnings */
    rulecolumn_ref_with_wildcardEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_column_ref_with_wildcard2 != NULL) stream_column_ref_with_wildcard2->free(stream_column_ref_with_wildcard2);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_ref_with_wildcard */

/**
 * $ANTLR start column_ref_with_wildcard2
 * MySQL.g:3012:1: column_ref_with_wildcard2 : qualified_identifier ( DOT_SYMBOL ( identifier | MULT_OPERATOR ) )? ;
 */
static MySQLParser_column_ref_with_wildcard2_return
column_ref_with_wildcard2(pMySQLParser ctx)
{
    MySQLParser_column_ref_with_wildcard2_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3231;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR3233;
    MySQLParser_qualified_identifier_return qualified_identifier3230;
    #undef	RETURN_TYPE_qualified_identifier3230
    #define	RETURN_TYPE_qualified_identifier3230 MySQLParser_qualified_identifier_return

    MySQLParser_identifier_return identifier3232;
    #undef	RETURN_TYPE_identifier3232
    #define	RETURN_TYPE_identifier3232 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3231_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR3233_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3231       = NULL;
    MULT_OPERATOR3233       = NULL;
    qualified_identifier3230.tree = NULL;

    identifier3232.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3231_tree   = NULL;
    MULT_OPERATOR3233_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3012:26: ( qualified_identifier ( DOT_SYMBOL ( identifier | MULT_OPERATOR ) )? )
        // MySQL.g:3013:2: qualified_identifier ( DOT_SYMBOL ( identifier | MULT_OPERATOR ) )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_column_ref_with_wildcard216852);
            qualified_identifier3230=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_ref_with_wildcard2Ex;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier3230.tree);

            // MySQL.g:3013:23: ( DOT_SYMBOL ( identifier | MULT_OPERATOR ) )?
            {
                int alt932=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		alt932=1;
                    	}
                        break;
                }

                switch (alt932)
                {
            	case 1:
            	    // MySQL.g:3013:24: DOT_SYMBOL ( identifier | MULT_OPERATOR )
            	    {
            	        DOT_SYMBOL3231 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_column_ref_with_wildcard216855);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_ref_with_wildcard2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL3231_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL3231));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL3231_tree);
            	        }

            	        // MySQL.g:3013:35: ( identifier | MULT_OPERATOR )
            	        {
            	            int alt931=2;
            	            {
            	                int LA931_0 = LA(1);
            	                if ( (LA931_0 == BACK_TICK_QUOTED_ID || LA931_0 == IDENTIFIER))
            	                {
            	                    alt931=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA931_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt931=1;
            	                }
            	                else if ( (((LA931_0 >= ASCII_SYMBOL) && (LA931_0 <= YEAR_SYMBOL))))
            	                {
            	                    alt931=1;
            	                }
            	                else if ( (LA931_0 == MULT_OPERATOR))
            	                {
            	                    alt931=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 931;
            	                    EXCEPTION->state        = 0;


            	                    goto rulecolumn_ref_with_wildcard2Ex;

            	                }
            	            }
            	            switch (alt931)
            	            {
            	        	case 1:
            	        	    // MySQL.g:3013:36: identifier
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_column_ref_with_wildcard216858);
            	        	        identifier3232=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_ref_with_wildcard2Ex;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3232.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:3013:49: MULT_OPERATOR
            	        	    {
            	        	        MULT_OPERATOR3233 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_column_ref_with_wildcard216862);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_ref_with_wildcard2Ex;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        MULT_OPERATOR3233_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR3233));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR3233_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_ref_with_wildcard2Ex; /* Prevent compiler warnings */
    rulecolumn_ref_with_wildcard2Ex: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end column_ref_with_wildcard2 */

/**
 * $ANTLR start table_wild
 * MySQL.g:3016:1: table_wild : qualified_identifier DOT_SYMBOL MULT_OPERATOR ;
 */
static MySQLParser_table_wild_return
table_wild(pMySQLParser ctx)
{
    MySQLParser_table_wild_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3235;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR3236;
    MySQLParser_qualified_identifier_return qualified_identifier3234;
    #undef	RETURN_TYPE_qualified_identifier3234
    #define	RETURN_TYPE_qualified_identifier3234 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3235_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR3236_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3235       = NULL;
    MULT_OPERATOR3236       = NULL;
    qualified_identifier3234.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3235_tree   = NULL;
    MULT_OPERATOR3236_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3016:11: ( qualified_identifier DOT_SYMBOL MULT_OPERATOR )
        // MySQL.g:3017:2: qualified_identifier DOT_SYMBOL MULT_OPERATOR
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_table_wild16875);
            qualified_identifier3234=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_wildEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier3234.tree);

            DOT_SYMBOL3235 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_wild16877);
            if  (HASEXCEPTION())
            {
                goto ruletable_wildEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DOT_SYMBOL3235_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL3235));
            ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL3235_tree);
            }

            MULT_OPERATOR3236 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_table_wild16879);
            if  (HASEXCEPTION())
            {
                goto ruletable_wildEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MULT_OPERATOR3236_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR3236));
            ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR3236_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_wildEx; /* Prevent compiler warnings */
    ruletable_wildEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_wild */

/**
 * $ANTLR start schema_name
 * MySQL.g:3020:1: schema_name : identifier -> ^( SCHEMA_NAME_TOKEN identifier ) ;
 */
static MySQLParser_schema_name_return
schema_name(pMySQLParser ctx)
{
    MySQLParser_schema_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3237;
    #undef	RETURN_TYPE_identifier3237
    #define	RETURN_TYPE_identifier3237 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3237.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3020:12: ( identifier -> ^( SCHEMA_NAME_TOKEN identifier ) )
        // MySQL.g:3021:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_schema_name16895);
            identifier3237=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleschema_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3237.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3021:13: -> ^( SCHEMA_NAME_TOKEN identifier )
            	{
            	    // MySQL.g:3021:16: ^( SCHEMA_NAME_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SCHEMA_NAME_TOKEN, (pANTLR3_UINT8)"SCHEMA_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleschema_nameEx; /* Prevent compiler warnings */
    ruleschema_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end schema_name */

/**
 * $ANTLR start schema_ref
 * MySQL.g:3024:1: schema_ref : identifier -> ^( SCHEMA_REF_TOKEN identifier ) ;
 */
static MySQLParser_schema_ref_return
schema_ref(pMySQLParser ctx)
{
    MySQLParser_schema_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3238;
    #undef	RETURN_TYPE_identifier3238
    #define	RETURN_TYPE_identifier3238 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3238.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3024:11: ( identifier -> ^( SCHEMA_REF_TOKEN identifier ) )
        // MySQL.g:3025:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_schema_ref16912);
            identifier3238=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleschema_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3238.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3025:13: -> ^( SCHEMA_REF_TOKEN identifier )
            	{
            	    // MySQL.g:3025:16: ^( SCHEMA_REF_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, SCHEMA_REF_TOKEN, (pANTLR3_UINT8)"SCHEMA_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleschema_refEx; /* Prevent compiler warnings */
    ruleschema_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end schema_ref */

/**
 * $ANTLR start procedure_name
 * MySQL.g:3028:1: procedure_name : qualified_identifier -> ^( PROCEDURE_NAME_TOKEN qualified_identifier ) ;
 */
static MySQLParser_procedure_name_return
procedure_name(pMySQLParser ctx)
{
    MySQLParser_procedure_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3239;
    #undef	RETURN_TYPE_qualified_identifier3239
    #define	RETURN_TYPE_qualified_identifier3239 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3239.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3028:15: ( qualified_identifier -> ^( PROCEDURE_NAME_TOKEN qualified_identifier ) )
        // MySQL.g:3029:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_procedure_name16929);
            qualified_identifier3239=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3239.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3029:23: -> ^( PROCEDURE_NAME_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3029:26: ^( PROCEDURE_NAME_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PROCEDURE_NAME_TOKEN, (pANTLR3_UINT8)"PROCEDURE_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprocedure_nameEx; /* Prevent compiler warnings */
    ruleprocedure_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end procedure_name */

/**
 * $ANTLR start procedure_ref
 * MySQL.g:3032:1: procedure_ref : qualified_identifier -> ^( PROCEDURE_REF_TOKEN qualified_identifier ) ;
 */
static MySQLParser_procedure_ref_return
procedure_ref(pMySQLParser ctx)
{
    MySQLParser_procedure_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3240;
    #undef	RETURN_TYPE_qualified_identifier3240
    #define	RETURN_TYPE_qualified_identifier3240 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3240.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3032:14: ( qualified_identifier -> ^( PROCEDURE_REF_TOKEN qualified_identifier ) )
        // MySQL.g:3033:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_procedure_ref16946);
            qualified_identifier3240=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3240.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3033:23: -> ^( PROCEDURE_REF_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3033:26: ^( PROCEDURE_REF_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, PROCEDURE_REF_TOKEN, (pANTLR3_UINT8)"PROCEDURE_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprocedure_refEx; /* Prevent compiler warnings */
    ruleprocedure_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end procedure_ref */

/**
 * $ANTLR start function_name
 * MySQL.g:3036:1: function_name : qualified_identifier -> ^( FUNCTION_NAME_TOKEN qualified_identifier ) ;
 */
static MySQLParser_function_name_return
function_name(pMySQLParser ctx)
{
    MySQLParser_function_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3241;
    #undef	RETURN_TYPE_qualified_identifier3241
    #define	RETURN_TYPE_qualified_identifier3241 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3241.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3036:14: ( qualified_identifier -> ^( FUNCTION_NAME_TOKEN qualified_identifier ) )
        // MySQL.g:3037:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_function_name16963);
            qualified_identifier3241=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3241.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3037:23: -> ^( FUNCTION_NAME_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3037:26: ^( FUNCTION_NAME_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, FUNCTION_NAME_TOKEN, (pANTLR3_UINT8)"FUNCTION_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulefunction_nameEx; /* Prevent compiler warnings */
    rulefunction_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end function_name */

/**
 * $ANTLR start function_ref
 * MySQL.g:3040:1: function_ref : qualified_identifier -> ^( FUNCTION_REF_TOKEN qualified_identifier ) ;
 */
static MySQLParser_function_ref_return
function_ref(pMySQLParser ctx)
{
    MySQLParser_function_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3242;
    #undef	RETURN_TYPE_qualified_identifier3242
    #define	RETURN_TYPE_qualified_identifier3242 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3242.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3040:13: ( qualified_identifier -> ^( FUNCTION_REF_TOKEN qualified_identifier ) )
        // MySQL.g:3041:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_function_ref16980);
            qualified_identifier3242=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3242.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3041:23: -> ^( FUNCTION_REF_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3041:26: ^( FUNCTION_REF_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, FUNCTION_REF_TOKEN, (pANTLR3_UINT8)"FUNCTION_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulefunction_refEx; /* Prevent compiler warnings */
    rulefunction_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end function_ref */

/**
 * $ANTLR start trigger_name
 * MySQL.g:3044:1: trigger_name : qualified_identifier -> ^( TRIGGER_NAME_TOKEN qualified_identifier ) ;
 */
static MySQLParser_trigger_name_return
trigger_name(pMySQLParser ctx)
{
    MySQLParser_trigger_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3243;
    #undef	RETURN_TYPE_qualified_identifier3243
    #define	RETURN_TYPE_qualified_identifier3243 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3243.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3044:13: ( qualified_identifier -> ^( TRIGGER_NAME_TOKEN qualified_identifier ) )
        // MySQL.g:3045:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_trigger_name16997);
            qualified_identifier3243=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletrigger_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3243.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3045:23: -> ^( TRIGGER_NAME_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3045:26: ^( TRIGGER_NAME_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TRIGGER_NAME_TOKEN, (pANTLR3_UINT8)"TRIGGER_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletrigger_nameEx; /* Prevent compiler warnings */
    ruletrigger_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end trigger_name */

/**
 * $ANTLR start trigger_ref
 * MySQL.g:3048:1: trigger_ref : qualified_identifier -> ^( TRIGGER_REF_TOKEN qualified_identifier ) ;
 */
static MySQLParser_trigger_ref_return
trigger_ref(pMySQLParser ctx)
{
    MySQLParser_trigger_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3244;
    #undef	RETURN_TYPE_qualified_identifier3244
    #define	RETURN_TYPE_qualified_identifier3244 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3244.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3048:12: ( qualified_identifier -> ^( TRIGGER_REF_TOKEN qualified_identifier ) )
        // MySQL.g:3049:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_trigger_ref17014);
            qualified_identifier3244=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletrigger_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3244.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3049:23: -> ^( TRIGGER_REF_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3049:26: ^( TRIGGER_REF_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TRIGGER_REF_TOKEN, (pANTLR3_UINT8)"TRIGGER_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletrigger_refEx; /* Prevent compiler warnings */
    ruletrigger_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end trigger_ref */

/**
 * $ANTLR start view_name
 * MySQL.g:3052:1: view_name : table_name_variants -> ^( VIEW_NAME_TOKEN table_name_variants ) ;
 */
static MySQLParser_view_name_return
view_name(pMySQLParser ctx)
{
    MySQLParser_view_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_name_variants_return table_name_variants3245;
    #undef	RETURN_TYPE_table_name_variants3245
    #define	RETURN_TYPE_table_name_variants3245 MySQLParser_table_name_variants_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_table_name_variants;
    /* Initialize rule variables
     */

    root_0 = NULL;

    table_name_variants3245.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_table_name_variants   = NULL;
    #define CREATE_stream_table_name_variants  if (stream_table_name_variants == NULL) {stream_table_name_variants = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule table_name_variants"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3052:10: ( table_name_variants -> ^( VIEW_NAME_TOKEN table_name_variants ) )
        // MySQL.g:3053:2: table_name_variants
        {
            FOLLOWPUSH(FOLLOW_table_name_variants_in_view_name17031);
            table_name_variants3245=table_name_variants(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleview_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_table_name_variants; stream_table_name_variants->add(stream_table_name_variants, table_name_variants3245.tree, NULL); }

            /* AST REWRITE
             * elements          : table_name_variants
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3053:22: -> ^( VIEW_NAME_TOKEN table_name_variants )
            	{
            	    // MySQL.g:3053:25: ^( VIEW_NAME_TOKEN table_name_variants )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VIEW_NAME_TOKEN, (pANTLR3_UINT8)"VIEW_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_table_name_variants == NULL ? NULL : stream_table_name_variants->nextTree(stream_table_name_variants));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleview_nameEx; /* Prevent compiler warnings */
    ruleview_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_table_name_variants != NULL) stream_table_name_variants->free(stream_table_name_variants);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end view_name */

/**
 * $ANTLR start view_ref
 * MySQL.g:3056:1: view_ref : qualified_identifier -> ^( VIEW_REF_TOKEN qualified_identifier ) ;
 */
static MySQLParser_view_ref_return
view_ref(pMySQLParser ctx)
{
    MySQLParser_view_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3246;
    #undef	RETURN_TYPE_qualified_identifier3246
    #define	RETURN_TYPE_qualified_identifier3246 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3246.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3056:9: ( qualified_identifier -> ^( VIEW_REF_TOKEN qualified_identifier ) )
        // MySQL.g:3057:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_view_ref17048);
            qualified_identifier3246=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleview_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3246.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3057:23: -> ^( VIEW_REF_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3057:26: ^( VIEW_REF_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, VIEW_REF_TOKEN, (pANTLR3_UINT8)"VIEW_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleview_refEx; /* Prevent compiler warnings */
    ruleview_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end view_ref */

/**
 * $ANTLR start tablespace_name
 * MySQL.g:3060:1: tablespace_name : identifier -> ^( TABLESPACE_NAME_TOKEN identifier ) ;
 */
static MySQLParser_tablespace_name_return
tablespace_name(pMySQLParser ctx)
{
    MySQLParser_tablespace_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3247;
    #undef	RETURN_TYPE_identifier3247
    #define	RETURN_TYPE_identifier3247 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3247.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3060:16: ( identifier -> ^( TABLESPACE_NAME_TOKEN identifier ) )
        // MySQL.g:3061:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_tablespace_name17065);
            identifier3247=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletablespace_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3247.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3061:13: -> ^( TABLESPACE_NAME_TOKEN identifier )
            	{
            	    // MySQL.g:3061:16: ^( TABLESPACE_NAME_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLESPACE_NAME_TOKEN, (pANTLR3_UINT8)"TABLESPACE_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletablespace_nameEx; /* Prevent compiler warnings */
    ruletablespace_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end tablespace_name */

/**
 * $ANTLR start tablespace_ref
 * MySQL.g:3064:1: tablespace_ref : identifier -> ^( TABLESPACE_REF_TOKEN identifier ) ;
 */
static MySQLParser_tablespace_ref_return
tablespace_ref(pMySQLParser ctx)
{
    MySQLParser_tablespace_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3248;
    #undef	RETURN_TYPE_identifier3248
    #define	RETURN_TYPE_identifier3248 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3248.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3064:15: ( identifier -> ^( TABLESPACE_REF_TOKEN identifier ) )
        // MySQL.g:3065:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_tablespace_ref17082);
            identifier3248=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletablespace_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3248.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3065:13: -> ^( TABLESPACE_REF_TOKEN identifier )
            	{
            	    // MySQL.g:3065:16: ^( TABLESPACE_REF_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLESPACE_REF_TOKEN, (pANTLR3_UINT8)"TABLESPACE_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletablespace_refEx; /* Prevent compiler warnings */
    ruletablespace_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end tablespace_ref */

/**
 * $ANTLR start logfile_group_name
 * MySQL.g:3068:1: logfile_group_name : identifier -> ^( LOGFILE_GROUP_NAME_TOKEN identifier ) ;
 */
static MySQLParser_logfile_group_name_return
logfile_group_name(pMySQLParser ctx)
{
    MySQLParser_logfile_group_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3249;
    #undef	RETURN_TYPE_identifier3249
    #define	RETURN_TYPE_identifier3249 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3249.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3068:19: ( identifier -> ^( LOGFILE_GROUP_NAME_TOKEN identifier ) )
        // MySQL.g:3069:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_logfile_group_name17099);
            identifier3249=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelogfile_group_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3249.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3069:13: -> ^( LOGFILE_GROUP_NAME_TOKEN identifier )
            	{
            	    // MySQL.g:3069:16: ^( LOGFILE_GROUP_NAME_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, LOGFILE_GROUP_NAME_TOKEN, (pANTLR3_UINT8)"LOGFILE_GROUP_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulelogfile_group_nameEx; /* Prevent compiler warnings */
    rulelogfile_group_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logfile_group_name */

/**
 * $ANTLR start logfile_group_ref
 * MySQL.g:3072:1: logfile_group_ref : identifier -> ^( LOGFILE_GROUP_REF_TOKEN identifier ) ;
 */
static MySQLParser_logfile_group_ref_return
logfile_group_ref(pMySQLParser ctx)
{
    MySQLParser_logfile_group_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3250;
    #undef	RETURN_TYPE_identifier3250
    #define	RETURN_TYPE_identifier3250 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3250.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3072:18: ( identifier -> ^( LOGFILE_GROUP_REF_TOKEN identifier ) )
        // MySQL.g:3073:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_logfile_group_ref17116);
            identifier3250=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelogfile_group_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3250.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3073:13: -> ^( LOGFILE_GROUP_REF_TOKEN identifier )
            	{
            	    // MySQL.g:3073:16: ^( LOGFILE_GROUP_REF_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, LOGFILE_GROUP_REF_TOKEN, (pANTLR3_UINT8)"LOGFILE_GROUP_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulelogfile_group_refEx; /* Prevent compiler warnings */
    rulelogfile_group_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end logfile_group_ref */

/**
 * $ANTLR start event_name
 * MySQL.g:3076:1: event_name : qualified_identifier -> ^( EVENT_NAME_TOKEN qualified_identifier ) ;
 */
static MySQLParser_event_name_return
event_name(pMySQLParser ctx)
{
    MySQLParser_event_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3251;
    #undef	RETURN_TYPE_qualified_identifier3251
    #define	RETURN_TYPE_qualified_identifier3251 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3251.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3076:11: ( qualified_identifier -> ^( EVENT_NAME_TOKEN qualified_identifier ) )
        // MySQL.g:3077:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_event_name17133);
            qualified_identifier3251=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleevent_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3251.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3077:23: -> ^( EVENT_NAME_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3077:26: ^( EVENT_NAME_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, EVENT_NAME_TOKEN, (pANTLR3_UINT8)"EVENT_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleevent_nameEx; /* Prevent compiler warnings */
    ruleevent_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end event_name */

/**
 * $ANTLR start event_ref
 * MySQL.g:3080:1: event_ref : qualified_identifier -> ^( EVENT_REF_TOKEN qualified_identifier ) ;
 */
static MySQLParser_event_ref_return
event_ref(pMySQLParser ctx)
{
    MySQLParser_event_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier3252;
    #undef	RETURN_TYPE_qualified_identifier3252
    #define	RETURN_TYPE_qualified_identifier3252 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier3252.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3080:10: ( qualified_identifier -> ^( EVENT_REF_TOKEN qualified_identifier ) )
        // MySQL.g:3081:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_event_ref17150);
            qualified_identifier3252=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleevent_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3252.tree, NULL); }

            /* AST REWRITE
             * elements          : qualified_identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3081:23: -> ^( EVENT_REF_TOKEN qualified_identifier )
            	{
            	    // MySQL.g:3081:26: ^( EVENT_REF_TOKEN qualified_identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, EVENT_REF_TOKEN, (pANTLR3_UINT8)"EVENT_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleevent_refEx; /* Prevent compiler warnings */
    ruleevent_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end event_ref */

/**
 * $ANTLR start udf_name
 * MySQL.g:3084:1: udf_name : identifier -> ^( UDF_NAME_TOKEN identifier ) ;
 */
static MySQLParser_udf_name_return
udf_name(pMySQLParser ctx)
{
    MySQLParser_udf_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3253;
    #undef	RETURN_TYPE_identifier3253
    #define	RETURN_TYPE_identifier3253 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3253.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3084:9: ( identifier -> ^( UDF_NAME_TOKEN identifier ) )
        // MySQL.g:3085:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_udf_name17168);
            identifier3253=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleudf_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3253.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3085:13: -> ^( UDF_NAME_TOKEN identifier )
            	{
            	    // MySQL.g:3085:16: ^( UDF_NAME_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, UDF_NAME_TOKEN, (pANTLR3_UINT8)"UDF_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruleudf_nameEx; /* Prevent compiler warnings */
    ruleudf_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end udf_name */

/**
 * $ANTLR start engine_ref
 * MySQL.g:3088:1: engine_ref : text_or_identifier ;
 */
static MySQLParser_engine_ref_return
engine_ref(pMySQLParser ctx)
{
    MySQLParser_engine_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_text_or_identifier_return text_or_identifier3254;
    #undef	RETURN_TYPE_text_or_identifier3254
    #define	RETURN_TYPE_text_or_identifier3254 MySQLParser_text_or_identifier_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    text_or_identifier3254.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:3088:11: ( text_or_identifier )
        // MySQL.g:3089:2: text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_text_or_identifier_in_engine_ref17185);
            text_or_identifier3254=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleengine_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier3254.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleengine_refEx; /* Prevent compiler warnings */
    ruleengine_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end engine_ref */

/**
 * $ANTLR start table_name
 * MySQL.g:3092:1: table_name : table_name_variants -> ^( TABLE_NAME_TOKEN table_name_variants ) ;
 */
static MySQLParser_table_name_return
table_name(pMySQLParser ctx)
{
    MySQLParser_table_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_name_variants_return table_name_variants3255;
    #undef	RETURN_TYPE_table_name_variants3255
    #define	RETURN_TYPE_table_name_variants3255 MySQLParser_table_name_variants_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_table_name_variants;
    /* Initialize rule variables
     */

    root_0 = NULL;

    table_name_variants3255.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_table_name_variants   = NULL;
    #define CREATE_stream_table_name_variants  if (stream_table_name_variants == NULL) {stream_table_name_variants = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule table_name_variants"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3092:11: ( table_name_variants -> ^( TABLE_NAME_TOKEN table_name_variants ) )
        // MySQL.g:3093:2: table_name_variants
        {
            FOLLOWPUSH(FOLLOW_table_name_variants_in_table_name17194);
            table_name_variants3255=table_name_variants(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_table_name_variants; stream_table_name_variants->add(stream_table_name_variants, table_name_variants3255.tree, NULL); }

            /* AST REWRITE
             * elements          : table_name_variants
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3093:22: -> ^( TABLE_NAME_TOKEN table_name_variants )
            	{
            	    // MySQL.g:3093:25: ^( TABLE_NAME_TOKEN table_name_variants )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLE_NAME_TOKEN, (pANTLR3_UINT8)"TABLE_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_table_name_variants == NULL ? NULL : stream_table_name_variants->nextTree(stream_table_name_variants));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_nameEx; /* Prevent compiler warnings */
    ruletable_nameEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_table_name_variants != NULL) stream_table_name_variants->free(stream_table_name_variants);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_name */

/**
 * $ANTLR start filter_table_ref
 * MySQL.g:3096:1: filter_table_ref : identifier DOT_SYMBOL identifier -> ^( TABLE_NAME_TOKEN identifier DOT_SYMBOL identifier ) ;
 */
static MySQLParser_filter_table_ref_return
filter_table_ref(pMySQLParser ctx)
{
    MySQLParser_filter_table_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3257;
    MySQLParser_identifier_return identifier3256;
    #undef	RETURN_TYPE_identifier3256
    #define	RETURN_TYPE_identifier3256 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3258;
    #undef	RETURN_TYPE_identifier3258
    #define	RETURN_TYPE_identifier3258 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3257_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_DOT_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3257       = NULL;
    identifier3256.tree = NULL;

    identifier3258.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3257_tree   = NULL;

    stream_DOT_SYMBOL   = NULL;
    #define CREATE_stream_DOT_SYMBOL  if (stream_DOT_SYMBOL == NULL) {stream_DOT_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token DOT_SYMBOL"); } 
    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3096:17: ( identifier DOT_SYMBOL identifier -> ^( TABLE_NAME_TOKEN identifier DOT_SYMBOL identifier ) )
        // MySQL.g:3097:2: identifier DOT_SYMBOL identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_filter_table_ref17212);
            identifier3256=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_table_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3256.tree, NULL); }

            DOT_SYMBOL3257 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_filter_table_ref17214);
            if  (HASEXCEPTION())
            {
                goto rulefilter_table_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_DOT_SYMBOL; stream_DOT_SYMBOL->add(stream_DOT_SYMBOL, DOT_SYMBOL3257, NULL); }


            FOLLOWPUSH(FOLLOW_identifier_in_filter_table_ref17216);
            identifier3258=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefilter_table_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3258.tree, NULL); }

            /* AST REWRITE
             * elements          : DOT_SYMBOL, identifier, identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3097:35: -> ^( TABLE_NAME_TOKEN identifier DOT_SYMBOL identifier )
            	{
            	    // MySQL.g:3097:38: ^( TABLE_NAME_TOKEN identifier DOT_SYMBOL identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLE_NAME_TOKEN, (pANTLR3_UINT8)"TABLE_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_DOT_SYMBOL == NULL ? NULL : stream_DOT_SYMBOL->nextNode(stream_DOT_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulefilter_table_refEx; /* Prevent compiler warnings */
    rulefilter_table_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_DOT_SYMBOL != NULL) stream_DOT_SYMBOL->free(stream_DOT_SYMBOL);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end filter_table_ref */

/**
 * $ANTLR start table_ref_with_wildcard
 * MySQL.g:3100:1: table_ref_with_wildcard : qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? -> ^( TABLE_NAME_TOKEN qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? ) ;
 */
static MySQLParser_table_ref_with_wildcard_return
table_ref_with_wildcard(pMySQLParser ctx)
{
    MySQLParser_table_ref_with_wildcard_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3260;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR3261;
    MySQLParser_qualified_identifier_return qualified_identifier3259;
    #undef	RETURN_TYPE_qualified_identifier3259
    #define	RETURN_TYPE_qualified_identifier3259 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3260_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR3261_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_DOT_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_MULT_OPERATOR;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3260       = NULL;
    MULT_OPERATOR3261       = NULL;
    qualified_identifier3259.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3260_tree   = NULL;
    MULT_OPERATOR3261_tree   = NULL;

    stream_DOT_SYMBOL   = NULL;
    #define CREATE_stream_DOT_SYMBOL  if (stream_DOT_SYMBOL == NULL) {stream_DOT_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token DOT_SYMBOL"); } 
    stream_MULT_OPERATOR   = NULL;
    #define CREATE_stream_MULT_OPERATOR  if (stream_MULT_OPERATOR == NULL) {stream_MULT_OPERATOR = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token MULT_OPERATOR"); } 
    stream_qualified_identifier   = NULL;
    #define CREATE_stream_qualified_identifier  if (stream_qualified_identifier == NULL) {stream_qualified_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3100:24: ( qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? -> ^( TABLE_NAME_TOKEN qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? ) )
        // MySQL.g:3101:2: qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )?
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_table_ref_with_wildcard17237);
            qualified_identifier3259=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_ref_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier3259.tree, NULL); }

            // MySQL.g:3101:23: ( DOT_SYMBOL MULT_OPERATOR )?
            {
                int alt933=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		alt933=1;
                    	}
                        break;
                }

                switch (alt933)
                {
            	case 1:
            	    // MySQL.g:3101:24: DOT_SYMBOL MULT_OPERATOR
            	    {
            	        DOT_SYMBOL3260 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_ref_with_wildcard17240);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_ref_with_wildcardEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_DOT_SYMBOL; stream_DOT_SYMBOL->add(stream_DOT_SYMBOL, DOT_SYMBOL3260, NULL); }


            	        MULT_OPERATOR3261 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_table_ref_with_wildcard17242);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_ref_with_wildcardEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_MULT_OPERATOR; stream_MULT_OPERATOR->add(stream_MULT_OPERATOR, MULT_OPERATOR3261, NULL); }


            	    }
            	    break;

                }
            }

            /* AST REWRITE
             * elements          : DOT_SYMBOL, qualified_identifier, MULT_OPERATOR
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3101:51: -> ^( TABLE_NAME_TOKEN qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? )
            	{
            	    // MySQL.g:3101:54: ^( TABLE_NAME_TOKEN qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLE_NAME_TOKEN, (pANTLR3_UINT8)"TABLE_NAME_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        // MySQL.g:3101:94: ( DOT_SYMBOL MULT_OPERATOR )?
            	        {
            	        	if ( (stream_DOT_SYMBOL != NULL && stream_DOT_SYMBOL->hasNext(stream_DOT_SYMBOL)) || (stream_MULT_OPERATOR != NULL && stream_MULT_OPERATOR->hasNext(stream_MULT_OPERATOR))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_DOT_SYMBOL == NULL ? NULL : stream_DOT_SYMBOL->nextNode(stream_DOT_SYMBOL)
            	        		);

            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_MULT_OPERATOR == NULL ? NULL : stream_MULT_OPERATOR->nextNode(stream_MULT_OPERATOR)
            	        		);

            	        	}
            	        	if ( stream_DOT_SYMBOL != NULL) stream_DOT_SYMBOL->reset(stream_DOT_SYMBOL);
            	        	if ( stream_MULT_OPERATOR != NULL) stream_MULT_OPERATOR->reset(stream_MULT_OPERATOR);

            	        }

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_ref_with_wildcardEx; /* Prevent compiler warnings */
    ruletable_ref_with_wildcardEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_DOT_SYMBOL != NULL) stream_DOT_SYMBOL->free(stream_DOT_SYMBOL);
        if (stream_MULT_OPERATOR != NULL) stream_MULT_OPERATOR->free(stream_MULT_OPERATOR);
        if (stream_qualified_identifier != NULL) stream_qualified_identifier->free(stream_qualified_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_ref_with_wildcard */

/**
 * $ANTLR start table_ref
 * MySQL.g:3104:1: table_ref : table_name_variants -> ^( TABLE_REF_TOKEN table_name_variants ) ;
 */
static MySQLParser_table_ref_return
table_ref(pMySQLParser ctx)
{
    MySQLParser_table_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_name_variants_return table_name_variants3262;
    #undef	RETURN_TYPE_table_name_variants3262
    #define	RETURN_TYPE_table_name_variants3262 MySQLParser_table_name_variants_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_table_name_variants;
    /* Initialize rule variables
     */

    root_0 = NULL;

    table_name_variants3262.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_table_name_variants   = NULL;
    #define CREATE_stream_table_name_variants  if (stream_table_name_variants == NULL) {stream_table_name_variants = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule table_name_variants"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3104:10: ( table_name_variants -> ^( TABLE_REF_TOKEN table_name_variants ) )
        // MySQL.g:3105:2: table_name_variants
        {
            FOLLOWPUSH(FOLLOW_table_name_variants_in_table_ref17268);
            table_name_variants3262=table_name_variants(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_refEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_table_name_variants; stream_table_name_variants->add(stream_table_name_variants, table_name_variants3262.tree, NULL); }

            /* AST REWRITE
             * elements          : table_name_variants
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3105:22: -> ^( TABLE_REF_TOKEN table_name_variants )
            	{
            	    // MySQL.g:3105:25: ^( TABLE_REF_TOKEN table_name_variants )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLE_REF_TOKEN, (pANTLR3_UINT8)"TABLE_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_table_name_variants == NULL ? NULL : stream_table_name_variants->nextTree(stream_table_name_variants));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_refEx; /* Prevent compiler warnings */
    ruletable_refEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_table_name_variants != NULL) stream_table_name_variants->free(stream_table_name_variants);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_ref */

/**
 * $ANTLR start table_ref_no_db
 * MySQL.g:3108:1: table_ref_no_db : identifier -> ^( TABLE_REF_TOKEN identifier ) ;
 */
static MySQLParser_table_ref_no_db_return
table_ref_no_db(pMySQLParser ctx)
{
    MySQLParser_table_ref_no_db_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier3263;
    #undef	RETURN_TYPE_identifier3263
    #define	RETURN_TYPE_identifier3263 MySQLParser_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier3263.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_identifier   = NULL;
    #define CREATE_stream_identifier  if (stream_identifier == NULL) {stream_identifier = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule identifier"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3108:16: ( identifier -> ^( TABLE_REF_TOKEN identifier ) )
        // MySQL.g:3109:2: identifier
        {
            FOLLOWPUSH(FOLLOW_identifier_in_table_ref_no_db17285);
            identifier3263=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_ref_no_dbEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_identifier; stream_identifier->add(stream_identifier, identifier3263.tree, NULL); }

            /* AST REWRITE
             * elements          : identifier
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3109:13: -> ^( TABLE_REF_TOKEN identifier )
            	{
            	    // MySQL.g:3109:16: ^( TABLE_REF_TOKEN identifier )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, TABLE_REF_TOKEN, (pANTLR3_UINT8)"TABLE_REF_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_identifier == NULL ? NULL : stream_identifier->nextTree(stream_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_ref_no_dbEx; /* Prevent compiler warnings */
    ruletable_ref_no_dbEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_identifier != NULL) stream_identifier->free(stream_identifier);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_ref_no_db */

/**
 * $ANTLR start table_name_variants
 * MySQL.g:3112:1: table_name_variants : ( identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? | DOT_SYMBOL identifier );
 */
static MySQLParser_table_name_variants_return
table_name_variants(pMySQLParser ctx)
{
    MySQLParser_table_name_variants_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3265;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3267;
    MySQLParser_identifier_return identifier3264;
    #undef	RETURN_TYPE_identifier3264
    #define	RETURN_TYPE_identifier3264 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3266;
    #undef	RETURN_TYPE_identifier3266
    #define	RETURN_TYPE_identifier3266 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3268;
    #undef	RETURN_TYPE_identifier3268
    #define	RETURN_TYPE_identifier3268 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3265_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL3267_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3265       = NULL;
    DOT_SYMBOL3267       = NULL;
    identifier3264.tree = NULL;

    identifier3266.tree = NULL;

    identifier3268.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3265_tree   = NULL;
    DOT_SYMBOL3267_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3112:20: ( identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? | DOT_SYMBOL identifier )

            ANTLR3_UINT32 alt935;

            alt935=2;

            {
                int LA935_0 = LA(1);
                if ( (LA935_0 == BACK_TICK_QUOTED_ID || LA935_0 == IDENTIFIER))
                {
                    alt935=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA935_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt935=1;
                }
                else if ( (((LA935_0 >= ASCII_SYMBOL) && (LA935_0 <= YEAR_SYMBOL))))
                {
                    alt935=1;
                }
                else if ( (LA935_0 == DOT_SYMBOL))
                {
                    alt935=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 935;
                    EXCEPTION->state        = 0;


                    goto ruletable_name_variantsEx;

                }
            }
            switch (alt935)
            {
        	case 1:
        	    // MySQL.g:3115:2: identifier ( options {greedy=true; } : DOT_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_table_name_variants17306);
        	        identifier3264=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_name_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3264.tree);

        	        // MySQL.g:3115:13: ( options {greedy=true; } : DOT_SYMBOL identifier )?
        	        {
        	            int alt934=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt934=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt934)
        	            {
        	        	case 1:
        	        	    // MySQL.g:3115:43: DOT_SYMBOL identifier
        	        	    {
        	        	        DOT_SYMBOL3265 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_name_variants17322);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_name_variantsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL3265_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL3265));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL3265_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_table_name_variants17324);
        	        	        identifier3266=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_name_variantsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3266.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3116:4: DOT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DOT_SYMBOL3267 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_name_variants17331);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_name_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOT_SYMBOL3267_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL3267));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL3267_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_table_name_variants17333);
        	        identifier3268=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_name_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3268.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletable_name_variantsEx; /* Prevent compiler warnings */
    ruletable_name_variantsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_name_variants */

/**
 * $ANTLR start pure_identifier
 * MySQL.g:3122:1: pure_identifier : ( IDENTIFIER | BACK_TICK_QUOTED_ID |{...}? => DOUBLE_QUOTED_TEXT );
 */
static MySQLParser_pure_identifier_return
pure_identifier(pMySQLParser ctx)
{
    MySQLParser_pure_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    IDENTIFIER3269;
    pANTLR3_COMMON_TOKEN    BACK_TICK_QUOTED_ID3270;
    pANTLR3_COMMON_TOKEN    DOUBLE_QUOTED_TEXT3271;

    pANTLR3_BASE_TREE IDENTIFIER3269_tree;
    pANTLR3_BASE_TREE BACK_TICK_QUOTED_ID3270_tree;
    pANTLR3_BASE_TREE DOUBLE_QUOTED_TEXT3271_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IDENTIFIER3269       = NULL;
    BACK_TICK_QUOTED_ID3270       = NULL;
    DOUBLE_QUOTED_TEXT3271       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IDENTIFIER3269_tree   = NULL;
    BACK_TICK_QUOTED_ID3270_tree   = NULL;
    DOUBLE_QUOTED_TEXT3271_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3122:16: ( IDENTIFIER | BACK_TICK_QUOTED_ID |{...}? => DOUBLE_QUOTED_TEXT )

            ANTLR3_UINT32 alt936;

            alt936=3;

            {
                int LA936_0 = LA(1);
                if ( (LA936_0 == IDENTIFIER))
                {
                    alt936=1;
                }
                else if ( (LA936_0 == BACK_TICK_QUOTED_ID))
                {
                    alt936=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA936_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt936=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 936;
                    EXCEPTION->state        = 0;


                    goto rulepure_identifierEx;

                }
            }
            switch (alt936)
            {
        	case 1:
        	    // MySQL.g:3123:2: IDENTIFIER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IDENTIFIER3269 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_pure_identifier17345);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IDENTIFIER3269_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER3269));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER3269_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3124:4: BACK_TICK_QUOTED_ID
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BACK_TICK_QUOTED_ID3270 = (pANTLR3_COMMON_TOKEN) MATCHT(BACK_TICK_QUOTED_ID, &FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier17350);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BACK_TICK_QUOTED_ID3270_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BACK_TICK_QUOTED_ID3270));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BACK_TICK_QUOTED_ID3270_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:3125:4: {...}? => DOUBLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)";
        	                EXCEPTION->ruleName	 = (void *)"pure_identifier";


        	        }

        	        DOUBLE_QUOTED_TEXT3271 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_QUOTED_TEXT, &FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier17359);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOUBLE_QUOTED_TEXT3271_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_QUOTED_TEXT3271));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_QUOTED_TEXT3271_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulepure_identifierEx; /* Prevent compiler warnings */
    rulepure_identifierEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end pure_identifier */

/**
 * $ANTLR start identifier
 * MySQL.g:3129:1: identifier : ( pure_identifier | keyword );
 */
static MySQLParser_identifier_return
identifier(pMySQLParser ctx)
{
    MySQLParser_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_pure_identifier_return pure_identifier3272;
    #undef	RETURN_TYPE_pure_identifier3272
    #define	RETURN_TYPE_pure_identifier3272 MySQLParser_pure_identifier_return

    MySQLParser_keyword_return keyword3273;
    #undef	RETURN_TYPE_keyword3273
    #define	RETURN_TYPE_keyword3273 MySQLParser_keyword_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    pure_identifier3272.tree = NULL;

    keyword3273.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3129:11: ( pure_identifier | keyword )

            ANTLR3_UINT32 alt937;

            alt937=2;

            {
                int LA937_0 = LA(1);
                if ( (LA937_0 == BACK_TICK_QUOTED_ID || LA937_0 == IDENTIFIER))
                {
                    alt937=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA937_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt937=1;
                }
                else if ( (((LA937_0 >= ASCII_SYMBOL) && (LA937_0 <= YEAR_SYMBOL))))
                {
                    alt937=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 937;
                    EXCEPTION->state        = 0;


                    goto ruleidentifierEx;

                }
            }
            switch (alt937)
            {
        	case 1:
        	    // MySQL.g:3130:2: pure_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_identifier17369);
        	        pure_identifier3272=pure_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleidentifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier3272.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3131:4: keyword
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_in_identifier17374);
        	        keyword3273=keyword(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleidentifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword3273.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleidentifierEx; /* Prevent compiler warnings */
    ruleidentifierEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end identifier */

/**
 * $ANTLR start identifier_list
 * MySQL.g:3134:1: identifier_list : identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )* ;
 */
static MySQLParser_identifier_list_return
identifier_list(pMySQLParser ctx)
{
    MySQLParser_identifier_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3275;
    MySQLParser_identifier_return identifier3274;
    #undef	RETURN_TYPE_identifier3274
    #define	RETURN_TYPE_identifier3274 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3276;
    #undef	RETURN_TYPE_identifier3276
    #define	RETURN_TYPE_identifier3276 MySQLParser_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3275_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3275       = NULL;
    identifier3274.tree = NULL;

    identifier3276.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3275_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3134:16: ( identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )* )
        // MySQL.g:3135:2: identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_identifier_list17383);
            identifier3274=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3274.tree);

            // MySQL.g:3135:13: ( options {greedy=true; } : COMMA_SYMBOL identifier )*

            for (;;)
            {
                int alt938=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA938_16 = LA(2);
                		    if ( (LA938_16 == DES_KEY_FILE_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == HOSTS_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == ENGINE_SYMBOL || LA938_16 == ERROR_SYMBOL || LA938_16 == GENERAL_SYMBOL || LA938_16 == SLOW_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == LOGS_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == RELAY_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == PRIVILEGES_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == QUERY_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == STATUS_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (LA938_16 == TABLES_SYMBOL))
                		    {
                		        alt938=1;
                		    }
                		    else if ( (((LA938_16 >= ASCII_SYMBOL) && (LA938_16 <= DELAY_KEY_WRITE_SYMBOL)) || ((LA938_16 >= DIAGNOSTICS_SYMBOL) && (LA938_16 <= ENUM_SYMBOL)) || LA938_16 == ENGINES_SYMBOL || ((LA938_16 >= ERRORS_SYMBOL) && (LA938_16 <= FIXED_SYMBOL)) || ((LA938_16 >= GEOMETRY_SYMBOL) && (LA938_16 <= HASH_SYMBOL)) || ((LA938_16 >= HOUR_SYMBOL) && (LA938_16 <= LOGFILE_SYMBOL)) || ((LA938_16 >= MAX_ROWS_SYMBOL) && (LA938_16 <= PREV_SYMBOL)) || ((LA938_16 >= PROCESS_SYMBOL) && (LA938_16 <= QUARTER_SYMBOL)) || ((LA938_16 >= QUICK_SYMBOL) && (LA938_16 <= REDUNDANT_SYMBOL)) || ((LA938_16 >= RELAYLOG_SYMBOL) && (LA938_16 <= SHUTDOWN_SYMBOL)) || ((LA938_16 >= SNAPSHOT_SYMBOL) && (LA938_16 <= STATS_SAMPLE_PAGES_SYMBOL)) || ((LA938_16 >= STORAGE_SYMBOL) && (LA938_16 <= TABLE_NAME_SYMBOL)) || ((LA938_16 >= TABLE_CHECKSUM_SYMBOL) && (LA938_16 <= YEAR_SYMBOL)) || LA938_16 == BACK_TICK_QUOTED_ID || LA938_16 == DOUBLE_QUOTED_TEXT || LA938_16 == IDENTIFIER))
                		    {
                		        alt938=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt938)
                {
            	case 1:
            	    // MySQL.g:3135:43: COMMA_SYMBOL identifier
            	    {
            	        COMMA_SYMBOL3275 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_identifier_list17399);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleidentifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3275_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3275));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3275_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_identifier_list17401);
            	        identifier3276=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleidentifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3276.tree);

            	    }
            	    break;

            	default:
            	    goto loop938;	/* break out of the loop */
            	    break;
                }
            }
            loop938: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleidentifier_listEx; /* Prevent compiler warnings */
    ruleidentifier_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end identifier_list */

/**
 * $ANTLR start identifier_list_with_parentheses
 * MySQL.g:3138:1: identifier_list_with_parentheses : OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_identifier_list_with_parentheses_return
identifier_list_with_parentheses(pMySQLParser ctx)
{
    MySQLParser_identifier_list_with_parentheses_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3277;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3279;
    MySQLParser_identifier_list_return identifier_list3278;
    #undef	RETURN_TYPE_identifier_list3278
    #define	RETURN_TYPE_identifier_list3278 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3277_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3279_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3277       = NULL;
    CLOSE_PAR_SYMBOL3279       = NULL;
    identifier_list3278.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3277_tree   = NULL;
    CLOSE_PAR_SYMBOL3279_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3138:33: ( OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL )
        // MySQL.g:3139:2: OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3277 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses17412);
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3277_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3277));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3277_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_identifier_list_with_parentheses17414);
            identifier_list3278=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list3278.tree);

            CLOSE_PAR_SYMBOL3279 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses17416);
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3279_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3279));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3279_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleidentifier_list_with_parenthesesEx; /* Prevent compiler warnings */
    ruleidentifier_list_with_parenthesesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end identifier_list_with_parentheses */

/**
 * $ANTLR start qualified_identifier_list
 * MySQL.g:3142:1: qualified_identifier_list : qualified_identifier ( COMMA_SYMBOL qualified_identifier )* ;
 */
static MySQLParser_qualified_identifier_list_return
qualified_identifier_list(pMySQLParser ctx)
{
    MySQLParser_qualified_identifier_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3281;
    MySQLParser_qualified_identifier_return qualified_identifier3280;
    #undef	RETURN_TYPE_qualified_identifier3280
    #define	RETURN_TYPE_qualified_identifier3280 MySQLParser_qualified_identifier_return

    MySQLParser_qualified_identifier_return qualified_identifier3282;
    #undef	RETURN_TYPE_qualified_identifier3282
    #define	RETURN_TYPE_qualified_identifier3282 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3281_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3281       = NULL;
    qualified_identifier3280.tree = NULL;

    qualified_identifier3282.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3281_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3142:26: ( qualified_identifier ( COMMA_SYMBOL qualified_identifier )* )
        // MySQL.g:3143:2: qualified_identifier ( COMMA_SYMBOL qualified_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_list17425);
            qualified_identifier3280=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier3280.tree);

            // MySQL.g:3143:23: ( COMMA_SYMBOL qualified_identifier )*

            for (;;)
            {
                int alt939=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt939=1;
                	}
                    break;

                }

                switch (alt939)
                {
            	case 1:
            	    // MySQL.g:3143:24: COMMA_SYMBOL qualified_identifier
            	    {
            	        COMMA_SYMBOL3281 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list17428);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3281));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3281_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_list17430);
            	        qualified_identifier3282=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier3282.tree);

            	    }
            	    break;

            	default:
            	    goto loop939;	/* break out of the loop */
            	    break;
                }
            }
            loop939: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto rulequalified_identifier_listEx; /* Prevent compiler warnings */
    rulequalified_identifier_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end qualified_identifier_list */

/**
 * $ANTLR start qualified_identifier
 * MySQL.g:3146:1: qualified_identifier : identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? ;
 */
static MySQLParser_qualified_identifier_return
qualified_identifier(pMySQLParser ctx)
{
    MySQLParser_qualified_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL3284;
    MySQLParser_identifier_return identifier3283;
    #undef	RETURN_TYPE_identifier3283
    #define	RETURN_TYPE_identifier3283 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3285;
    #undef	RETURN_TYPE_identifier3285
    #define	RETURN_TYPE_identifier3285 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL3284_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL3284       = NULL;
    identifier3283.tree = NULL;

    identifier3285.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL3284_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3146:21: ( identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? )
        // MySQL.g:3147:2: identifier ( options {greedy=true; } : DOT_SYMBOL identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_qualified_identifier17448);
            identifier3283=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifierEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3283.tree);

            // MySQL.g:3147:13: ( options {greedy=true; } : DOT_SYMBOL identifier )?
            {
                int alt940=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA940_1 = LA(2);
                    		    if ( (LA940_1 == IDENTIFIER))
                    		    {
                    		        alt940=1;
                    		    }
                    		    else if ( (LA940_1 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        alt940=1;
                    		    }
                    		    else if ( (LA940_1 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        alt940=1;
                    		    }
                    		    else if ( (((LA940_1 >= ACTION_SYMBOL) && (LA940_1 <= YEAR_SYMBOL))))
                    		    {
                    		        alt940=1;
                    		    }
                    		    else if ( (((LA940_1 >= ASCII_SYMBOL) && (LA940_1 <= XA_SYMBOL))))
                    		    {
                    		        alt940=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt940)
                {
            	case 1:
            	    // MySQL.g:3147:43: DOT_SYMBOL identifier
            	    {
            	        DOT_SYMBOL3284 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_qualified_identifier17464);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifierEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL3284_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL3284));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL3284_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_qualified_identifier17466);
            	        identifier3285=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifierEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3285.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulequalified_identifierEx; /* Prevent compiler warnings */
    rulequalified_identifierEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end qualified_identifier */

/**
 * $ANTLR start integer_list
 * MySQL.g:3150:1: integer_list : INTEGER ( COMMA_SYMBOL INTEGER )* ;
 */
static MySQLParser_integer_list_return
integer_list(pMySQLParser ctx)
{
    MySQLParser_integer_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTEGER3286;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3287;
    pANTLR3_COMMON_TOKEN    INTEGER3288;

    pANTLR3_BASE_TREE INTEGER3286_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3287_tree;
    pANTLR3_BASE_TREE INTEGER3288_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER3286       = NULL;
    COMMA_SYMBOL3287       = NULL;
    INTEGER3288       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER3286_tree   = NULL;
    COMMA_SYMBOL3287_tree   = NULL;
    INTEGER3288_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3150:13: ( INTEGER ( COMMA_SYMBOL INTEGER )* )
        // MySQL.g:3151:2: INTEGER ( COMMA_SYMBOL INTEGER )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTEGER3286 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_integer_list17477);
            if  (HASEXCEPTION())
            {
                goto ruleinteger_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3286_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3286));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3286_tree);
            }

            // MySQL.g:3151:10: ( COMMA_SYMBOL INTEGER )*

            for (;;)
            {
                int alt941=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt941=1;
                	}
                    break;

                }

                switch (alt941)
                {
            	case 1:
            	    // MySQL.g:3151:11: COMMA_SYMBOL INTEGER
            	    {
            	        COMMA_SYMBOL3287 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_integer_list17480);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinteger_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3287_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3287));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3287_tree);
            	        }

            	        INTEGER3288 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_integer_list17482);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinteger_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3288_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3288));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3288_tree);
            	        }

            	    }
            	    break;

            	default:
            	    goto loop941;	/* break out of the loop */
            	    break;
                }
            }
            loop941: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinteger_listEx; /* Prevent compiler warnings */
    ruleinteger_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end integer_list */

/**
 * $ANTLR start string_list
 * MySQL.g:3154:1: string_list : OPEN_PAR_SYMBOL text_string ( COMMA_SYMBOL text_string )* CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_string_list_return
string_list(pMySQLParser ctx)
{
    MySQLParser_string_list_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3289;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3291;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3293;
    MySQLParser_text_string_return text_string3290;
    #undef	RETURN_TYPE_text_string3290
    #define	RETURN_TYPE_text_string3290 MySQLParser_text_string_return

    MySQLParser_text_string_return text_string3292;
    #undef	RETURN_TYPE_text_string3292
    #define	RETURN_TYPE_text_string3292 MySQLParser_text_string_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3289_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3291_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3293_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3289       = NULL;
    COMMA_SYMBOL3291       = NULL;
    CLOSE_PAR_SYMBOL3293       = NULL;
    text_string3290.tree = NULL;

    text_string3292.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3289_tree   = NULL;
    COMMA_SYMBOL3291_tree   = NULL;
    CLOSE_PAR_SYMBOL3293_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3154:12: ( OPEN_PAR_SYMBOL text_string ( COMMA_SYMBOL text_string )* CLOSE_PAR_SYMBOL )
        // MySQL.g:3155:2: OPEN_PAR_SYMBOL text_string ( COMMA_SYMBOL text_string )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3289 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_string_list17493);
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3289_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3289));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3289_tree);
            }

            FOLLOWPUSH(FOLLOW_text_string_in_string_list17495);
            text_string3290=text_string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string3290.tree);

            // MySQL.g:3155:30: ( COMMA_SYMBOL text_string )*

            for (;;)
            {
                int alt942=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt942=1;
                	}
                    break;

                }

                switch (alt942)
                {
            	case 1:
            	    // MySQL.g:3155:31: COMMA_SYMBOL text_string
            	    {
            	        COMMA_SYMBOL3291 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_string_list17498);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestring_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3291_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3291));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3291_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_text_string_in_string_list17500);
            	        text_string3292=text_string(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestring_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_string3292.tree);

            	    }
            	    break;

            	default:
            	    goto loop942;	/* break out of the loop */
            	    break;
                }
            }
            loop942: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL3293 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_string_list17504);
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3293_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3293));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3293_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulestring_listEx; /* Prevent compiler warnings */
    rulestring_listEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end string_list */

/**
 * $ANTLR start text_string
 * MySQL.g:3158:1: text_string : ( SINGLE_QUOTED_TEXT | HEXNUMBER | BITNUMBER );
 */
static MySQLParser_text_string_return
text_string(pMySQLParser ctx)
{
    MySQLParser_text_string_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3294;

    pANTLR3_BASE_TREE set3294_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3294       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3294_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3158:12: ( SINGLE_QUOTED_TEXT | HEXNUMBER | BITNUMBER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3294=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == BITNUMBER || LA(1) == HEXNUMBER || LA(1) == SINGLE_QUOTED_TEXT )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3294))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruletext_stringEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruletext_stringEx; /* Prevent compiler warnings */
    ruletext_stringEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end text_string */

/**
 * $ANTLR start literal
 * MySQL.g:3164:1: literal : ( string_literal | number_literal | hex_literal | bool_literal |{...}? => bit_literal | null_literal |{...}? temporal_literal );
 */
static MySQLParser_literal_return
literal(pMySQLParser ctx)
{
    MySQLParser_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_literal_return string_literal3295;
    #undef	RETURN_TYPE_string_literal3295
    #define	RETURN_TYPE_string_literal3295 MySQLParser_string_literal_return

    MySQLParser_number_literal_return number_literal3296;
    #undef	RETURN_TYPE_number_literal3296
    #define	RETURN_TYPE_number_literal3296 MySQLParser_number_literal_return

    MySQLParser_hex_literal_return hex_literal3297;
    #undef	RETURN_TYPE_hex_literal3297
    #define	RETURN_TYPE_hex_literal3297 MySQLParser_hex_literal_return

    MySQLParser_bool_literal_return bool_literal3298;
    #undef	RETURN_TYPE_bool_literal3298
    #define	RETURN_TYPE_bool_literal3298 MySQLParser_bool_literal_return

    MySQLParser_bit_literal_return bit_literal3299;
    #undef	RETURN_TYPE_bit_literal3299
    #define	RETURN_TYPE_bit_literal3299 MySQLParser_bit_literal_return

    MySQLParser_null_literal_return null_literal3300;
    #undef	RETURN_TYPE_null_literal3300
    #define	RETURN_TYPE_null_literal3300 MySQLParser_null_literal_return

    MySQLParser_temporal_literal_return temporal_literal3301;
    #undef	RETURN_TYPE_temporal_literal3301
    #define	RETURN_TYPE_temporal_literal3301 MySQLParser_temporal_literal_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal3295.tree = NULL;

    number_literal3296.tree = NULL;

    hex_literal3297.tree = NULL;

    bool_literal3298.tree = NULL;

    bit_literal3299.tree = NULL;

    null_literal3300.tree = NULL;

    temporal_literal3301.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3164:8: ( string_literal | number_literal | hex_literal | bool_literal |{...}? => bit_literal | null_literal |{...}? temporal_literal )

            ANTLR3_UINT32 alt943;

            alt943=7;

            {
                int LA943_0 = LA(1);
                if ( (LA943_0 == NCHAR_TEXT || LA943_0 == SINGLE_QUOTED_TEXT))
                {
                    alt943=1;
                }
                else if ( (LA943_0 == UNDERSCORE_CHARSET))
                {
                    {
                        int LA943_2 = LA(2);
                        if ( (LA943_2 == DOUBLE_QUOTED_TEXT || LA943_2 == SINGLE_QUOTED_TEXT))
                        {
                            alt943=1;
                        }
                        else if ( (((LA943_2 >= HEXNUMBER) && (LA943_2 <= HEXSTRING))))
                        {
                            alt943=3;
                        }
                        else if ( ((SERVER_VERSION >= 50003)) && (((LA943_2 >= BITNUMBER) && (LA943_2 <= BITSTRING))))
                        {
                            alt943=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 943;
                            EXCEPTION->state        = 2;


                            goto ruleliteralEx;

                        }
                    }
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA943_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt943=1;
                }
                else if ( (LA943_0 == FLOAT || LA943_0 == INTEGER))
                {
                    alt943=2;
                }
                else if ( (((LA943_0 >= HEXNUMBER) && (LA943_0 <= HEXSTRING))))
                {
                    alt943=3;
                }
                else if ( (LA943_0 == FALSE_SYMBOL || LA943_0 == TRUE_SYMBOL))
                {
                    alt943=4;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA943_0 >= BITNUMBER) && (LA943_0 <= BITSTRING))))
                {
                    alt943=5;
                }
                else if ( (LA943_0 == NULL2_SYMBOL || LA943_0 == NULL_SYMBOL))
                {
                    alt943=6;
                }
                else if ( (LA943_0 == DATE_SYMBOL || LA943_0 == TIMESTAMP_SYMBOL || LA943_0 == TIME_SYMBOL))
                {
                    alt943=7;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 943;
                    EXCEPTION->state        = 0;


                    goto ruleliteralEx;

                }
            }
            switch (alt943)
            {
        	case 1:
        	    // MySQL.g:3165:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_literal17532);
        	        string_literal3295=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3295.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3166:4: number_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_number_literal_in_literal17537);
        	        number_literal3296=number_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number_literal3296.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:3167:4: hex_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_hex_literal_in_literal17542);
        	        hex_literal3297=hex_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, hex_literal3297.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:3168:4: bool_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_bool_literal_in_literal17547);
        	        bool_literal3298=bool_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bool_literal3298.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:3169:4: {...}? => bit_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((SERVER_VERSION >= 50003)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"SERVER_VERSION >= 50003";
        	                EXCEPTION->ruleName	 = (void *)"literal";


        	        }

        	        FOLLOWPUSH(FOLLOW_bit_literal_in_literal17556);
        	        bit_literal3299=bit_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bit_literal3299.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:3170:4: null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_null_literal_in_literal17561);
        	        null_literal3300=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal3300.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:3172:4: {...}? temporal_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"literal";


        	        }

        	        FOLLOWPUSH(FOLLOW_temporal_literal_in_literal17573);
        	        temporal_literal3301=temporal_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, temporal_literal3301.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleliteralEx; /* Prevent compiler warnings */
    ruleliteralEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end literal */

/**
 * $ANTLR start signed_literal
 * MySQL.g:3175:1: signed_literal : ( literal | PLUS_OPERATOR number_literal | MINUS_OPERATOR number_literal );
 */
static MySQLParser_signed_literal_return
signed_literal(pMySQLParser ctx)
{
    MySQLParser_signed_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PLUS_OPERATOR3303;
    pANTLR3_COMMON_TOKEN    MINUS_OPERATOR3305;
    MySQLParser_literal_return literal3302;
    #undef	RETURN_TYPE_literal3302
    #define	RETURN_TYPE_literal3302 MySQLParser_literal_return

    MySQLParser_number_literal_return number_literal3304;
    #undef	RETURN_TYPE_number_literal3304
    #define	RETURN_TYPE_number_literal3304 MySQLParser_number_literal_return

    MySQLParser_number_literal_return number_literal3306;
    #undef	RETURN_TYPE_number_literal3306
    #define	RETURN_TYPE_number_literal3306 MySQLParser_number_literal_return

    pANTLR3_BASE_TREE PLUS_OPERATOR3303_tree;
    pANTLR3_BASE_TREE MINUS_OPERATOR3305_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PLUS_OPERATOR3303       = NULL;
    MINUS_OPERATOR3305       = NULL;
    literal3302.tree = NULL;

    number_literal3304.tree = NULL;

    number_literal3306.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PLUS_OPERATOR3303_tree   = NULL;
    MINUS_OPERATOR3305_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3175:15: ( literal | PLUS_OPERATOR number_literal | MINUS_OPERATOR number_literal )

            ANTLR3_UINT32 alt944;

            alt944=3;

            {
                int LA944_0 = LA(1);
                if ( (LA944_0 == NCHAR_TEXT || LA944_0 == SINGLE_QUOTED_TEXT || LA944_0 == UNDERSCORE_CHARSET))
                {
                    alt944=1;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA944_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt944=1;
                }
                else if ( (LA944_0 == FALSE_SYMBOL || LA944_0 == FLOAT || ((LA944_0 >= HEXNUMBER) && (LA944_0 <= HEXSTRING)) || LA944_0 == INTEGER || LA944_0 == TRUE_SYMBOL))
                {
                    alt944=1;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA944_0 >= BITNUMBER) && (LA944_0 <= BITSTRING))))
                {
                    alt944=1;
                }
                else if ( (LA944_0 == DATE_SYMBOL || LA944_0 == TIMESTAMP_SYMBOL || LA944_0 == TIME_SYMBOL || LA944_0 == NULL2_SYMBOL || LA944_0 == NULL_SYMBOL))
                {
                    alt944=1;
                }
                else if ( (LA944_0 == PLUS_OPERATOR))
                {
                    alt944=2;
                }
                else if ( (LA944_0 == MINUS_OPERATOR))
                {
                    alt944=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 944;
                    EXCEPTION->state        = 0;


                    goto rulesigned_literalEx;

                }
            }
            switch (alt944)
            {
        	case 1:
        	    // MySQL.g:3176:2: literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_literal_in_signed_literal17582);
        	        literal3302=literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesigned_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal3302.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3177:4: PLUS_OPERATOR number_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PLUS_OPERATOR3303 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUS_OPERATOR, &FOLLOW_PLUS_OPERATOR_in_signed_literal17587);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesigned_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PLUS_OPERATOR3303_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUS_OPERATOR3303));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUS_OPERATOR3303_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_number_literal_in_signed_literal17589);
        	        number_literal3304=number_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesigned_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number_literal3304.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:3178:4: MINUS_OPERATOR number_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUS_OPERATOR3305 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUS_OPERATOR, &FOLLOW_MINUS_OPERATOR_in_signed_literal17594);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesigned_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUS_OPERATOR3305_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUS_OPERATOR3305));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUS_OPERATOR3305_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_number_literal_in_signed_literal17596);
        	        number_literal3306=number_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesigned_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number_literal3306.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulesigned_literalEx; /* Prevent compiler warnings */
    rulesigned_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end signed_literal */

/**
 * $ANTLR start string_literal
 * MySQL.g:3183:1: string_literal : string -> ^( STRING_TOKEN string ) ;
 */
static MySQLParser_string_literal_return
string_literal(pMySQLParser ctx)
{
    MySQLParser_string_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_return string3307;
    #undef	RETURN_TYPE_string3307
    #define	RETURN_TYPE_string3307 MySQLParser_string_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_string;
    /* Initialize rule variables
     */

    root_0 = NULL;

    string3307.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_string   = NULL;
    #define CREATE_stream_string  if (stream_string == NULL) {stream_string = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule string"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3183:15: ( string -> ^( STRING_TOKEN string ) )
        // MySQL.g:3184:2: string
        {
            FOLLOWPUSH(FOLLOW_string_in_string_literal17607);
            string3307=string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_literalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_string; stream_string->add(stream_string, string3307.tree, NULL); }

            /* AST REWRITE
             * elements          : string
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3184:9: -> ^( STRING_TOKEN string )
            	{
            	    // MySQL.g:3184:12: ^( STRING_TOKEN string )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, STRING_TOKEN, (pANTLR3_UINT8)"STRING_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_string == NULL ? NULL : stream_string->nextTree(stream_string));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulestring_literalEx; /* Prevent compiler warnings */
    rulestring_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_string != NULL) stream_string->free(stream_string);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end string_literal */

/**
 * $ANTLR start string_literal_no_linebreak
 * MySQL.g:3189:1: string_literal_no_linebreak : string -> ^( STRING_NO_LINEBREAK_TOKEN string ) ;
 */
static MySQLParser_string_literal_no_linebreak_return
string_literal_no_linebreak(pMySQLParser ctx)
{
    MySQLParser_string_literal_no_linebreak_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_return string3308;
    #undef	RETURN_TYPE_string3308
    #define	RETURN_TYPE_string3308 MySQLParser_string_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_string;
    /* Initialize rule variables
     */

    root_0 = NULL;

    string3308.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_string   = NULL;
    #define CREATE_stream_string  if (stream_string == NULL) {stream_string = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule string"); }

    retval.tree  = NULL;

    {
        // MySQL.g:3189:28: ( string -> ^( STRING_NO_LINEBREAK_TOKEN string ) )
        // MySQL.g:3190:2: string
        {
            FOLLOWPUSH(FOLLOW_string_in_string_literal_no_linebreak17626);
            string3308=string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_literal_no_linebreakEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_string; stream_string->add(stream_string, string3308.tree, NULL); }

            /* AST REWRITE
             * elements          : string
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 3190:9: -> ^( STRING_NO_LINEBREAK_TOKEN string )
            	{
            	    // MySQL.g:3190:12: ^( STRING_NO_LINEBREAK_TOKEN string )
            	    {
            	        pANTLR3_BASE_TREE root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	        root_1 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, 
            	        (pANTLR3_BASE_TREE)ADAPTOR->createTypeText(ADAPTOR, STRING_NO_LINEBREAK_TOKEN, (pANTLR3_UINT8)"STRING_NO_LINEBREAK_TOKEN")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_string == NULL ? NULL : stream_string->nextTree(stream_string));

            	        ADAPTOR->addChild(ADAPTOR, root_0, root_1);
            	    }

            	}


            	retval.tree = root_0; // set result root
            	if (stream_retval != NULL) stream_retval->free(stream_retval);


            }
        }

    }

    // This is where rules clean up and exit
    //
    goto rulestring_literal_no_linebreakEx; /* Prevent compiler warnings */
    rulestring_literal_no_linebreakEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_string != NULL) stream_string->free(stream_string);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end string_literal_no_linebreak */

/**
 * $ANTLR start string
 * MySQL.g:3193:1: string : ( NCHAR_TEXT | ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+ );
 */
static MySQLParser_string_return
string(pMySQLParser ctx)
{
    MySQLParser_string_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NCHAR_TEXT3309;
    pANTLR3_COMMON_TOKEN    UNDERSCORE_CHARSET3310;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3311;
    pANTLR3_COMMON_TOKEN    DOUBLE_QUOTED_TEXT3312;

    pANTLR3_BASE_TREE NCHAR_TEXT3309_tree;
    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3310_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3311_tree;
    pANTLR3_BASE_TREE DOUBLE_QUOTED_TEXT3312_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NCHAR_TEXT3309       = NULL;
    UNDERSCORE_CHARSET3310       = NULL;
    SINGLE_QUOTED_TEXT3311       = NULL;
    DOUBLE_QUOTED_TEXT3312       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NCHAR_TEXT3309_tree   = NULL;
    UNDERSCORE_CHARSET3310_tree   = NULL;
    SINGLE_QUOTED_TEXT3311_tree   = NULL;
    DOUBLE_QUOTED_TEXT3312_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3193:7: ( NCHAR_TEXT | ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+ )

            ANTLR3_UINT32 alt947;

            alt947=2;

            {
                int LA947_0 = LA(1);
                if ( (LA947_0 == NCHAR_TEXT))
                {
                    alt947=1;
                }
                else if ( (LA947_0 == SINGLE_QUOTED_TEXT || LA947_0 == UNDERSCORE_CHARSET))
                {
                    alt947=2;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA947_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt947=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 947;
                    EXCEPTION->state        = 0;


                    goto rulestringEx;

                }
            }
            switch (alt947)
            {
        	case 1:
        	    // MySQL.g:3194:2: NCHAR_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_TEXT3309 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_TEXT, &FOLLOW_NCHAR_TEXT_in_string17643);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestringEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_TEXT3309_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_TEXT3309));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_TEXT3309_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3195:4: ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:3195:4: ( UNDERSCORE_CHARSET )?
        	        {
        	            int alt945=2;
        	            switch ( LA(1) )
        	            {
        	                case UNDERSCORE_CHARSET:
        	                	{
        	                		alt945=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt945)
        	            {
        	        	case 1:
        	        	    // MySQL.g:3195:4: UNDERSCORE_CHARSET
        	        	    {
        	        	        UNDERSCORE_CHARSET3310 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_string17648);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestringEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNDERSCORE_CHARSET3310_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3310));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3310_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:3195:24: ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+
        	        {
        	            int cnt946=0;

        	            for (;;)
        	            {
        	                int alt946=3;
        	        	{
        	        	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	    */
        	        	    int LA946_0 = LA(1);
        	        	    if ( ((((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA946_0 == DOUBLE_QUOTED_TEXT))
        	        	    {
        	        	        {
        	        	           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	            */
        	        	            int LA946_13 = LA(2);
        	        	            if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
        	        	            {
        	        	                alt946=2;
        	        	            }

        	        	        }
        	        	    }
        	        	    else if ( (LA946_0 == SINGLE_QUOTED_TEXT))
        	        	    {
        	        	        alt946=1;
        	        	    }

        	        	}
        	        	switch (alt946)
        	        	{
        	        	    case 1:
        	        	        // MySQL.g:3195:54: SINGLE_QUOTED_TEXT
        	        	        {
        	        	            SINGLE_QUOTED_TEXT3311 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_string17665);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto rulestringEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            SINGLE_QUOTED_TEXT3311_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3311));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3311_tree);
        	        	            }

        	        	        }
        	        	        break;
        	        	    case 2:
        	        	        // MySQL.g:3195:75: {...}? => DOUBLE_QUOTED_TEXT
        	        	        {
        	        	            if ( !((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )
        	        	            {
        	        	                if (BACKTRACKING>0)
        	        	                {
        	        	                    FAILEDFLAG = ANTLR3_TRUE;
        	        	                    return retval;
        	        	                }

        	        	                    CONSTRUCTEX();
        	        	                    EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	        	                    EXCEPTION->message      = (void *)"!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)";
        	        	                    EXCEPTION->ruleName	 = (void *)"string";


        	        	            }

        	        	            DOUBLE_QUOTED_TEXT3312 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_QUOTED_TEXT, &FOLLOW_DOUBLE_QUOTED_TEXT_in_string17673);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto rulestringEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            DOUBLE_QUOTED_TEXT3312_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_QUOTED_TEXT3312));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_QUOTED_TEXT3312_tree);
        	        	            }

        	        	        }
        	        	        break;

        	        	    default:

        	        		if ( cnt946 >= 1 )
        	        		{
        	        		    goto loop946;
        	        		}
        	        		if (BACKTRACKING>0)
        	        		{
        	        		    FAILEDFLAG = ANTLR3_TRUE;
        	        		    return retval;
        	        		}

        	        		/* mismatchedSetEx()
        	        		 */
        	        		CONSTRUCTEX();
        	        		EXCEPTION->type = ANTLR3_EARLY_EXIT_EXCEPTION;
        	        		EXCEPTION->name = (void *)ANTLR3_EARLY_EXIT_NAME;


        	        		goto rulestringEx;
        	        	}
        	        	cnt946++;
        	            }
        	            loop946: ;	/* Jump to here if this rule does not match */
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulestringEx; /* Prevent compiler warnings */
    rulestringEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end string */

/**
 * $ANTLR start number_literal
 * MySQL.g:3198:1: number_literal : ( INTEGER | FLOAT );
 */
static MySQLParser_number_literal_return
number_literal(pMySQLParser ctx)
{
    MySQLParser_number_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3313;

    pANTLR3_BASE_TREE set3313_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3313       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3313_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3198:15: ( INTEGER | FLOAT )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3313=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == FLOAT || LA(1) == INTEGER )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3313))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulenumber_literalEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulenumber_literalEx; /* Prevent compiler warnings */
    rulenumber_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end number_literal */

/**
 * $ANTLR start hex_literal
 * MySQL.g:3203:1: hex_literal : ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING ) ;
 */
static MySQLParser_hex_literal_return
hex_literal(pMySQLParser ctx)
{
    MySQLParser_hex_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNDERSCORE_CHARSET3314;
    pANTLR3_COMMON_TOKEN    set3315;

    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3314_tree;
    pANTLR3_BASE_TREE set3315_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNDERSCORE_CHARSET3314       = NULL;
    set3315       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNDERSCORE_CHARSET3314_tree   = NULL;
    set3315_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3203:12: ( ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING ) )
        // MySQL.g:3204:2: ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:3204:2: ( UNDERSCORE_CHARSET )?
            {
                int alt948=2;
                switch ( LA(1) )
                {
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt948=1;
                    	}
                        break;
                }

                switch (alt948)
                {
            	case 1:
            	    // MySQL.g:3204:2: UNDERSCORE_CHARSET
            	    {
            	        UNDERSCORE_CHARSET3314 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_hex_literal17698);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehex_literalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNDERSCORE_CHARSET3314_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3314));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3314_tree);
            	        }

            	    }
            	    break;

                }
            }

            set3315=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= HEXNUMBER) && (LA(1) <= HEXSTRING)) )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3315))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulehex_literalEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulehex_literalEx; /* Prevent compiler warnings */
    rulehex_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end hex_literal */

/**
 * $ANTLR start bool_literal
 * MySQL.g:3207:1: bool_literal : ( TRUE_SYMBOL | FALSE_SYMBOL );
 */
static MySQLParser_bool_literal_return
bool_literal(pMySQLParser ctx)
{
    MySQLParser_bool_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3316;

    pANTLR3_BASE_TREE set3316_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3316       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3316_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3207:13: ( TRUE_SYMBOL | FALSE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3316=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == FALSE_SYMBOL || LA(1) == TRUE_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3316))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulebool_literalEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulebool_literalEx; /* Prevent compiler warnings */
    rulebool_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end bool_literal */

/**
 * $ANTLR start bit_literal
 * MySQL.g:3212:1: bit_literal : ( UNDERSCORE_CHARSET )? ( BITNUMBER | BITSTRING ) ;
 */
static MySQLParser_bit_literal_return
bit_literal(pMySQLParser ctx)
{
    MySQLParser_bit_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNDERSCORE_CHARSET3317;
    pANTLR3_COMMON_TOKEN    set3318;

    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3317_tree;
    pANTLR3_BASE_TREE set3318_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNDERSCORE_CHARSET3317       = NULL;
    set3318       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNDERSCORE_CHARSET3317_tree   = NULL;
    set3318_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3212:12: ( ( UNDERSCORE_CHARSET )? ( BITNUMBER | BITSTRING ) )
        // MySQL.g:3213:2: ( UNDERSCORE_CHARSET )? ( BITNUMBER | BITSTRING )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:3213:2: ( UNDERSCORE_CHARSET )?
            {
                int alt949=2;
                switch ( LA(1) )
                {
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt949=1;
                    	}
                        break;
                }

                switch (alt949)
                {
            	case 1:
            	    // MySQL.g:3213:2: UNDERSCORE_CHARSET
            	    {
            	        UNDERSCORE_CHARSET3317 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_bit_literal17730);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebit_literalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNDERSCORE_CHARSET3317_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3317));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3317_tree);
            	        }

            	    }
            	    break;

                }
            }

            set3318=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= BITNUMBER) && (LA(1) <= BITSTRING)) )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3318))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulebit_literalEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulebit_literalEx; /* Prevent compiler warnings */
    rulebit_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end bit_literal */

/**
 * $ANTLR start null_literal
 * MySQL.g:3216:1: null_literal : ( NULL_SYMBOL | NULL2_SYMBOL );
 */
static MySQLParser_null_literal_return
null_literal(pMySQLParser ctx)
{
    MySQLParser_null_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3319;

    pANTLR3_BASE_TREE set3319_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3319       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3319_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3216:13: ( NULL_SYMBOL | NULL2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3319=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == NULL2_SYMBOL || LA(1) == NULL_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3319))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulenull_literalEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulenull_literalEx; /* Prevent compiler warnings */
    rulenull_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end null_literal */

/**
 * $ANTLR start temporal_literal
 * MySQL.g:3221:1: temporal_literal : ( DATE_SYMBOL SINGLE_QUOTED_TEXT | TIME_SYMBOL SINGLE_QUOTED_TEXT | TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT );
 */
static MySQLParser_temporal_literal_return
temporal_literal(pMySQLParser ctx)
{
    MySQLParser_temporal_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DATE_SYMBOL3320;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3321;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL3322;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3323;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL3324;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3325;

    pANTLR3_BASE_TREE DATE_SYMBOL3320_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3321_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL3322_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3323_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL3324_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3325_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATE_SYMBOL3320       = NULL;
    SINGLE_QUOTED_TEXT3321       = NULL;
    TIME_SYMBOL3322       = NULL;
    SINGLE_QUOTED_TEXT3323       = NULL;
    TIMESTAMP_SYMBOL3324       = NULL;
    SINGLE_QUOTED_TEXT3325       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATE_SYMBOL3320_tree   = NULL;
    SINGLE_QUOTED_TEXT3321_tree   = NULL;
    TIME_SYMBOL3322_tree   = NULL;
    SINGLE_QUOTED_TEXT3323_tree   = NULL;
    TIMESTAMP_SYMBOL3324_tree   = NULL;
    SINGLE_QUOTED_TEXT3325_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3221:17: ( DATE_SYMBOL SINGLE_QUOTED_TEXT | TIME_SYMBOL SINGLE_QUOTED_TEXT | TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT )

            ANTLR3_UINT32 alt950;

            alt950=3;

            switch ( LA(1) )
            {
            case DATE_SYMBOL:
            	{
            		alt950=1;
            	}
                break;
            case TIME_SYMBOL:
            	{
            		alt950=2;
            	}
                break;
            case TIMESTAMP_SYMBOL:
            	{
            		alt950=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 950;
                EXCEPTION->state        = 0;


                goto ruletemporal_literalEx;

            }

            switch (alt950)
            {
        	case 1:
        	    // MySQL.g:3222:2: DATE_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL3320 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_temporal_literal17762);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL3320_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL3320));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL3320_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3321 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17764);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3321_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3321));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3321_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3223:4: TIME_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL3322 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_temporal_literal17769);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL3322_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL3322));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL3322_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3323 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17771);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3323_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3323));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3323_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:3224:4: TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL3324 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal17776);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL3324_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL3324));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL3324_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3325 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal17778);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3325_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3325));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3325_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletemporal_literalEx; /* Prevent compiler warnings */
    ruletemporal_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end temporal_literal */

/**
 * $ANTLR start integer_type
 * MySQL.g:3229:1: integer_type : ( INT_SYMBOL | TINYINT_SYMBOL | SMALLINT_SYMBOL | MEDIUMINT_SYMBOL | BIGINT_SYMBOL );
 */
static MySQLParser_integer_type_return
integer_type(pMySQLParser ctx)
{
    MySQLParser_integer_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3326;

    pANTLR3_BASE_TREE set3326_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3326       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3326_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3229:13: ( INT_SYMBOL | TINYINT_SYMBOL | SMALLINT_SYMBOL | MEDIUMINT_SYMBOL | BIGINT_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3326=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == BIGINT_SYMBOL || LA(1) == INT_SYMBOL || LA(1) == MEDIUMINT_SYMBOL || LA(1) == SMALLINT_SYMBOL || LA(1) == TINYINT_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3326))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleinteger_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinteger_typeEx; /* Prevent compiler warnings */
    ruleinteger_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end integer_type */

/**
 * $ANTLR start real_literal
 * MySQL.g:3237:1: real_literal : ( REAL_SYMBOL | DOUBLE_SYMBOL ( PRECISION_SYMBOL )? );
 */
static MySQLParser_real_literal_return
real_literal(pMySQLParser ctx)
{
    MySQLParser_real_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    REAL_SYMBOL3327;
    pANTLR3_COMMON_TOKEN    DOUBLE_SYMBOL3328;
    pANTLR3_COMMON_TOKEN    PRECISION_SYMBOL3329;

    pANTLR3_BASE_TREE REAL_SYMBOL3327_tree;
    pANTLR3_BASE_TREE DOUBLE_SYMBOL3328_tree;
    pANTLR3_BASE_TREE PRECISION_SYMBOL3329_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REAL_SYMBOL3327       = NULL;
    DOUBLE_SYMBOL3328       = NULL;
    PRECISION_SYMBOL3329       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REAL_SYMBOL3327_tree   = NULL;
    DOUBLE_SYMBOL3328_tree   = NULL;
    PRECISION_SYMBOL3329_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3237:13: ( REAL_SYMBOL | DOUBLE_SYMBOL ( PRECISION_SYMBOL )? )

            ANTLR3_UINT32 alt952;

            alt952=2;

            switch ( LA(1) )
            {
            case REAL_SYMBOL:
            	{
            		alt952=1;
            	}
                break;
            case DOUBLE_SYMBOL:
            	{
            		alt952=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 952;
                EXCEPTION->state        = 0;


                goto rulereal_literalEx;

            }

            switch (alt952)
            {
        	case 1:
        	    // MySQL.g:3238:2: REAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REAL_SYMBOL3327 = (pANTLR3_COMMON_TOKEN) MATCHT(REAL_SYMBOL, &FOLLOW_REAL_SYMBOL_in_real_literal17818);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REAL_SYMBOL3327_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REAL_SYMBOL3327));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REAL_SYMBOL3327_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3238:16: DOUBLE_SYMBOL ( PRECISION_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DOUBLE_SYMBOL3328 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_SYMBOL, &FOLLOW_DOUBLE_SYMBOL_in_real_literal17822);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOUBLE_SYMBOL3328_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_SYMBOL3328));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_SYMBOL3328_tree);
        	        }

        	        // MySQL.g:3238:30: ( PRECISION_SYMBOL )?
        	        {
        	            int alt951=2;
        	            switch ( LA(1) )
        	            {
        	                case PRECISION_SYMBOL:
        	                	{
        	                		alt951=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt951)
        	            {
        	        	case 1:
        	        	    // MySQL.g:3238:30: PRECISION_SYMBOL
        	        	    {
        	        	        PRECISION_SYMBOL3329 = (pANTLR3_COMMON_TOKEN) MATCHT(PRECISION_SYMBOL, &FOLLOW_PRECISION_SYMBOL_in_real_literal17824);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereal_literalEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRECISION_SYMBOL3329_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRECISION_SYMBOL3329));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRECISION_SYMBOL3329_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulereal_literalEx; /* Prevent compiler warnings */
    rulereal_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end real_literal */

/**
 * $ANTLR start float_options
 * MySQL.g:3241:1: float_options : OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_float_options_return
float_options(pMySQLParser ctx)
{
    MySQLParser_float_options_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3330;
    pANTLR3_COMMON_TOKEN    INTEGER3331;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3332;
    pANTLR3_COMMON_TOKEN    INTEGER3333;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3334;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3330_tree;
    pANTLR3_BASE_TREE INTEGER3331_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3332_tree;
    pANTLR3_BASE_TREE INTEGER3333_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3334_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3330       = NULL;
    INTEGER3331       = NULL;
    COMMA_SYMBOL3332       = NULL;
    INTEGER3333       = NULL;
    CLOSE_PAR_SYMBOL3334       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3330_tree   = NULL;
    INTEGER3331_tree   = NULL;
    COMMA_SYMBOL3332_tree   = NULL;
    INTEGER3333_tree   = NULL;
    CLOSE_PAR_SYMBOL3334_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3241:14: ( OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL )
        // MySQL.g:3243:2: OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3330 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_float_options17836);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3330));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3330_tree);
            }

            INTEGER3331 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_float_options17838);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3331_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3331));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3331_tree);
            }

            // MySQL.g:3243:26: ( COMMA_SYMBOL INTEGER )?
            {
                int alt953=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		alt953=1;
                    	}
                        break;
                }

                switch (alt953)
                {
            	case 1:
            	    // MySQL.g:3243:27: COMMA_SYMBOL INTEGER
            	    {
            	        COMMA_SYMBOL3332 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_float_options17841);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefloat_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3332_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3332));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3332_tree);
            	        }

            	        INTEGER3333 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_float_options17843);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefloat_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3333_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3333));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3333_tree);
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL3334 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_float_options17847);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3334_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3334));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3334_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefloat_optionsEx; /* Prevent compiler warnings */
    rulefloat_optionsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end float_options */

/**
 * $ANTLR start precision
 * MySQL.g:3246:1: precision : OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_precision_return
precision(pMySQLParser ctx)
{
    MySQLParser_precision_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3335;
    pANTLR3_COMMON_TOKEN    INTEGER3336;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3337;
    pANTLR3_COMMON_TOKEN    INTEGER3338;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3339;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3335_tree;
    pANTLR3_BASE_TREE INTEGER3336_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3337_tree;
    pANTLR3_BASE_TREE INTEGER3338_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3339_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3335       = NULL;
    INTEGER3336       = NULL;
    COMMA_SYMBOL3337       = NULL;
    INTEGER3338       = NULL;
    CLOSE_PAR_SYMBOL3339       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3335_tree   = NULL;
    INTEGER3336_tree   = NULL;
    COMMA_SYMBOL3337_tree   = NULL;
    INTEGER3338_tree   = NULL;
    CLOSE_PAR_SYMBOL3339_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3246:10: ( OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:3247:2: OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3335 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_precision17856);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3335_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3335));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3335_tree);
            }

            INTEGER3336 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_precision17858);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3336_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3336));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3336_tree);
            }

            COMMA_SYMBOL3337 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_precision17860);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COMMA_SYMBOL3337_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3337));
            ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3337_tree);
            }

            INTEGER3338 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_precision17862);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3338_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3338));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3338_tree);
            }

            CLOSE_PAR_SYMBOL3339 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_precision17864);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3339_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3339));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3339_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleprecisionEx; /* Prevent compiler warnings */
    ruleprecisionEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end precision */

/**
 * $ANTLR start nchar_literal
 * MySQL.g:3250:1: nchar_literal : ( NCHAR_SYMBOL |{...}? NATIONAL_SYMBOL CHAR_SYMBOL );
 */
static MySQLParser_nchar_literal_return
nchar_literal(pMySQLParser ctx)
{
    MySQLParser_nchar_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3340;
    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3341;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3342;

    pANTLR3_BASE_TREE NCHAR_SYMBOL3340_tree;
    pANTLR3_BASE_TREE NATIONAL_SYMBOL3341_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL3342_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NCHAR_SYMBOL3340       = NULL;
    NATIONAL_SYMBOL3341       = NULL;
    CHAR_SYMBOL3342       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NCHAR_SYMBOL3340_tree   = NULL;
    NATIONAL_SYMBOL3341_tree   = NULL;
    CHAR_SYMBOL3342_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3250:14: ( NCHAR_SYMBOL |{...}? NATIONAL_SYMBOL CHAR_SYMBOL )

            ANTLR3_UINT32 alt954;

            alt954=2;

            switch ( LA(1) )
            {
            case NCHAR_SYMBOL:
            	{
            		alt954=1;
            	}
                break;
            case NATIONAL_SYMBOL:
            	{
            		alt954=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 954;
                EXCEPTION->state        = 0;


                goto rulenchar_literalEx;

            }

            switch (alt954)
            {
        	case 1:
        	    // MySQL.g:3251:2: NCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3340 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nchar_literal17873);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3340_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3340));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3340_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3252:4: {...}? NATIONAL_SYMBOL CHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        if ( !((LA(3) != VARYING_SYMBOL)) )
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_FAILED_PREDICATE_EXCEPTION;
        	                EXCEPTION->message      = (void *)"LA(3) != VARYING_SYMBOL";
        	                EXCEPTION->ruleName	 = (void *)"nchar_literal";


        	        }

        	        NATIONAL_SYMBOL3341 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nchar_literal17880);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3341_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3341));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3341_tree);
        	        }

        	        CHAR_SYMBOL3342 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_nchar_literal17882);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3342_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3342));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3342_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulenchar_literalEx; /* Prevent compiler warnings */
    rulenchar_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end nchar_literal */

/**
 * $ANTLR start varchar_literal
 * MySQL.g:3255:1: varchar_literal : ( CHAR_SYMBOL VARYING_SYMBOL | VARCHAR_SYMBOL );
 */
static MySQLParser_varchar_literal_return
varchar_literal(pMySQLParser ctx)
{
    MySQLParser_varchar_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3343;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3344;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3345;

    pANTLR3_BASE_TREE CHAR_SYMBOL3343_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3344_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3345_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL3343       = NULL;
    VARYING_SYMBOL3344       = NULL;
    VARCHAR_SYMBOL3345       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL3343_tree   = NULL;
    VARYING_SYMBOL3344_tree   = NULL;
    VARCHAR_SYMBOL3345_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3255:16: ( CHAR_SYMBOL VARYING_SYMBOL | VARCHAR_SYMBOL )

            ANTLR3_UINT32 alt955;

            alt955=2;

            switch ( LA(1) )
            {
            case CHAR_SYMBOL:
            	{
            		alt955=1;
            	}
                break;
            case VARCHAR_SYMBOL:
            	{
            		alt955=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 955;
                EXCEPTION->state        = 0;


                goto rulevarchar_literalEx;

            }

            switch (alt955)
            {
        	case 1:
        	    // MySQL.g:3256:2: CHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL3343 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_varchar_literal17892);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3343_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3343));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3343_tree);
        	        }

        	        VARYING_SYMBOL3344 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_varchar_literal17894);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3344_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3344));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3344_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3257:4: VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARCHAR_SYMBOL3345 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_varchar_literal17899);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3345_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3345));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3345_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulevarchar_literalEx; /* Prevent compiler warnings */
    rulevarchar_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end varchar_literal */

/**
 * $ANTLR start nvarchar_literal
 * MySQL.g:3260:1: nvarchar_literal : ( NATIONAL_SYMBOL VARCHAR_SYMBOL | NVARCHAR_SYMBOL | NCHAR_SYMBOL VARCHAR_SYMBOL | NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL | NCHAR_SYMBOL VARYING_SYMBOL );
 */
static MySQLParser_nvarchar_literal_return
nvarchar_literal(pMySQLParser ctx)
{
    MySQLParser_nvarchar_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3346;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3347;
    pANTLR3_COMMON_TOKEN    NVARCHAR_SYMBOL3348;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3349;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3350;
    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3351;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3352;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3353;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3354;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3355;

    pANTLR3_BASE_TREE NATIONAL_SYMBOL3346_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3347_tree;
    pANTLR3_BASE_TREE NVARCHAR_SYMBOL3348_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL3349_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3350_tree;
    pANTLR3_BASE_TREE NATIONAL_SYMBOL3351_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL3352_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3353_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL3354_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3355_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NATIONAL_SYMBOL3346       = NULL;
    VARCHAR_SYMBOL3347       = NULL;
    NVARCHAR_SYMBOL3348       = NULL;
    NCHAR_SYMBOL3349       = NULL;
    VARCHAR_SYMBOL3350       = NULL;
    NATIONAL_SYMBOL3351       = NULL;
    CHAR_SYMBOL3352       = NULL;
    VARYING_SYMBOL3353       = NULL;
    NCHAR_SYMBOL3354       = NULL;
    VARYING_SYMBOL3355       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NATIONAL_SYMBOL3346_tree   = NULL;
    VARCHAR_SYMBOL3347_tree   = NULL;
    NVARCHAR_SYMBOL3348_tree   = NULL;
    NCHAR_SYMBOL3349_tree   = NULL;
    VARCHAR_SYMBOL3350_tree   = NULL;
    NATIONAL_SYMBOL3351_tree   = NULL;
    CHAR_SYMBOL3352_tree   = NULL;
    VARYING_SYMBOL3353_tree   = NULL;
    NCHAR_SYMBOL3354_tree   = NULL;
    VARYING_SYMBOL3355_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3260:17: ( NATIONAL_SYMBOL VARCHAR_SYMBOL | NVARCHAR_SYMBOL | NCHAR_SYMBOL VARCHAR_SYMBOL | NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL | NCHAR_SYMBOL VARYING_SYMBOL )

            ANTLR3_UINT32 alt956;

            alt956=5;

            switch ( LA(1) )
            {
            case NATIONAL_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case VARCHAR_SYMBOL:
            			{
            				alt956=1;
            			}
            		    break;
            		case CHAR_SYMBOL:
            			{
            				alt956=4;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 956;
            		    EXCEPTION->state        = 1;


            		    goto rulenvarchar_literalEx;

            		}

            	}
                break;
            case NVARCHAR_SYMBOL:
            	{
            		alt956=2;
            	}
                break;
            case NCHAR_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case VARCHAR_SYMBOL:
            			{
            				alt956=3;
            			}
            		    break;
            		case VARYING_SYMBOL:
            			{
            				alt956=5;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 956;
            		    EXCEPTION->state        = 3;


            		    goto rulenvarchar_literalEx;

            		}

            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 956;
                EXCEPTION->state        = 0;


                goto rulenvarchar_literalEx;

            }

            switch (alt956)
            {
        	case 1:
        	    // MySQL.g:3261:2: NATIONAL_SYMBOL VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATIONAL_SYMBOL3346 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17908);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3346_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3346));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3346_tree);
        	        }

        	        VARCHAR_SYMBOL3347 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17910);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3347_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3347));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3347_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3262:4: NVARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NVARCHAR_SYMBOL3348 = (pANTLR3_COMMON_TOKEN) MATCHT(NVARCHAR_SYMBOL, &FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal17915);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NVARCHAR_SYMBOL3348_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NVARCHAR_SYMBOL3348));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NVARCHAR_SYMBOL3348_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:3263:4: NCHAR_SYMBOL VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3349 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17920);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3349_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3349));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3349_tree);
        	        }

        	        VARCHAR_SYMBOL3350 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal17922);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3350_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3350));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3350_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:3264:4: NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATIONAL_SYMBOL3351 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal17927);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3351_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3351));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3351_tree);
        	        }

        	        CHAR_SYMBOL3352 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_nvarchar_literal17929);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3352_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3352));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3352_tree);
        	        }

        	        VARYING_SYMBOL3353 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17931);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3353_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3353));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3353_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:3265:4: NCHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3354 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal17936);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3354_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3354));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3354_tree);
        	        }

        	        VARYING_SYMBOL3355 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_nvarchar_literal17938);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3355_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3355));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3355_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulenvarchar_literalEx; /* Prevent compiler warnings */
    rulenvarchar_literalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end nvarchar_literal */

/**
 * $ANTLR start int_or_param_marker
 * MySQL.g:3268:1: int_or_param_marker : ( INTEGER | PARAM_MARKER );
 */
static MySQLParser_int_or_param_marker_return
int_or_param_marker(pMySQLParser ctx)
{
    MySQLParser_int_or_param_marker_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3356;

    pANTLR3_BASE_TREE set3356_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3356       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3356_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3268:20: ( INTEGER | PARAM_MARKER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3356=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == INTEGER || LA(1) == PARAM_MARKER )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3356))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleint_or_param_markerEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleint_or_param_markerEx; /* Prevent compiler warnings */
    ruleint_or_param_markerEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end int_or_param_marker */

/**
 * $ANTLR start text_or_param_marker
 * MySQL.g:3272:1: text_or_param_marker : ( string_literal | PARAM_MARKER );
 */
static MySQLParser_text_or_param_marker_return
text_or_param_marker(pMySQLParser ctx)
{
    MySQLParser_text_or_param_marker_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARAM_MARKER3358;
    MySQLParser_string_literal_return string_literal3357;
    #undef	RETURN_TYPE_string_literal3357
    #define	RETURN_TYPE_string_literal3357 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE PARAM_MARKER3358_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER3358       = NULL;
    string_literal3357.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER3358_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3272:21: ( string_literal | PARAM_MARKER )

            ANTLR3_UINT32 alt957;

            alt957=2;

            {
                int LA957_0 = LA(1);
                if ( (LA957_0 == NCHAR_TEXT || LA957_0 == SINGLE_QUOTED_TEXT || LA957_0 == UNDERSCORE_CHARSET))
                {
                    alt957=1;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA957_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt957=1;
                }
                else if ( (LA957_0 == PARAM_MARKER))
                {
                    alt957=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 957;
                    EXCEPTION->state        = 0;


                    goto ruletext_or_param_markerEx;

                }
            }
            switch (alt957)
            {
        	case 1:
        	    // MySQL.g:3273:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_text_or_param_marker17960);
        	        string_literal3357=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_param_markerEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3357.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3273:19: PARAM_MARKER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PARAM_MARKER3358 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_text_or_param_marker17964);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_param_markerEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARAM_MARKER3358_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER3358));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER3358_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletext_or_param_markerEx; /* Prevent compiler warnings */
    ruletext_or_param_markerEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end text_or_param_marker */

/**
 * $ANTLR start text_or_identifier
 * MySQL.g:3276:1: text_or_identifier : ( SINGLE_QUOTED_TEXT | identifier );
 */
static MySQLParser_text_or_identifier_return
text_or_identifier(pMySQLParser ctx)
{
    MySQLParser_text_or_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3359;
    MySQLParser_identifier_return identifier3360;
    #undef	RETURN_TYPE_identifier3360
    #define	RETURN_TYPE_identifier3360 MySQLParser_identifier_return

    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3359_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SINGLE_QUOTED_TEXT3359       = NULL;
    identifier3360.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SINGLE_QUOTED_TEXT3359_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3276:19: ( SINGLE_QUOTED_TEXT | identifier )

            ANTLR3_UINT32 alt958;

            alt958=2;

            {
                int LA958_0 = LA(1);
                if ( (LA958_0 == SINGLE_QUOTED_TEXT))
                {
                    alt958=1;
                }
                else if ( (LA958_0 == BACK_TICK_QUOTED_ID || LA958_0 == IDENTIFIER))
                {
                    alt958=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA958_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt958=2;
                }
                else if ( (((LA958_0 >= ASCII_SYMBOL) && (LA958_0 <= YEAR_SYMBOL))))
                {
                    alt958=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 958;
                    EXCEPTION->state        = 0;


                    goto ruletext_or_identifierEx;

                }
            }
            switch (alt958)
            {
        	case 1:
        	    // MySQL.g:3277:2: SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SINGLE_QUOTED_TEXT3359 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_text_or_identifier17973);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3359_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3359));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3359_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3278:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_text_or_identifier17978);
        	        identifier3360=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3360.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletext_or_identifierEx; /* Prevent compiler warnings */
    ruletext_or_identifierEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end text_or_identifier */

/**
 * $ANTLR start float_or_param
 * MySQL.g:3282:1: float_or_param : ( FLOAT | PARAM_MARKER );
 */
static MySQLParser_float_or_param_return
float_or_param(pMySQLParser ctx)
{
    MySQLParser_float_or_param_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3361;

    pANTLR3_BASE_TREE set3361_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3361       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3361_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3282:15: ( FLOAT | PARAM_MARKER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3361=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == FLOAT || LA(1) == PARAM_MARKER )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3361))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulefloat_or_paramEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulefloat_or_paramEx; /* Prevent compiler warnings */
    rulefloat_or_paramEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end float_or_param */

/**
 * $ANTLR start number
 * MySQL.g:3287:1: number : ( INTEGER | HEXNUMBER );
 */
static MySQLParser_number_return
number(pMySQLParser ctx)
{
    MySQLParser_number_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3362;

    pANTLR3_BASE_TREE set3362_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3362       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3362_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3287:7: ( INTEGER | HEXNUMBER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3362=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == HEXNUMBER || LA(1) == INTEGER )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3362))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulenumberEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulenumberEx; /* Prevent compiler warnings */
    rulenumberEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end number */

/**
 * $ANTLR start size_number
 * MySQL.g:3292:1: size_number : ( INTEGER | HEXNUMBER | IDENTIFIER );
 */
static MySQLParser_size_number_return
size_number(pMySQLParser ctx)
{
    MySQLParser_size_number_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3363;

    pANTLR3_BASE_TREE set3363_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3363       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3363_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3292:12: ( INTEGER | HEXNUMBER | IDENTIFIER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3363=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == HEXNUMBER || LA(1) == IDENTIFIER || LA(1) == INTEGER )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3363))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulesize_numberEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulesize_numberEx; /* Prevent compiler warnings */
    rulesize_numberEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end size_number */

/**
 * $ANTLR start parentheses
 * MySQL.g:3298:1: parentheses : OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_parentheses_return
parentheses(pMySQLParser ctx)
{
    MySQLParser_parentheses_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL3364;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3365;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3364_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3365_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3364       = NULL;
    CLOSE_PAR_SYMBOL3365       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3364_tree   = NULL;
    CLOSE_PAR_SYMBOL3365_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3298:12: ( OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL )
        // MySQL.g:3299:2: OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3364 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_parentheses18037);
            if  (HASEXCEPTION())
            {
                goto ruleparenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3364_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3364));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3364_tree);
            }

            CLOSE_PAR_SYMBOL3365 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses18039);
            if  (HASEXCEPTION())
            {
                goto ruleparenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3365_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3365));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3365_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleparenthesesEx; /* Prevent compiler warnings */
    ruleparenthesesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end parentheses */

/**
 * $ANTLR start equal
 * MySQL.g:3302:1: equal : ( EQUAL_OPERATOR | ASSIGN_OPERATOR );
 */
static MySQLParser_equal_return
equal(pMySQLParser ctx)
{
    MySQLParser_equal_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3366;

    pANTLR3_BASE_TREE set3366_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3366       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3366_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3302:6: ( EQUAL_OPERATOR | ASSIGN_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3366=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == ASSIGN_OPERATOR || LA(1) == EQUAL_OPERATOR )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3366))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleequalEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleequalEx; /* Prevent compiler warnings */
    ruleequalEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end equal */

/**
 * $ANTLR start option_type
 * MySQL.g:3306:1: option_type : ( GLOBAL_SYMBOL | LOCAL_SYMBOL | SESSION_SYMBOL );
 */
static MySQLParser_option_type_return
option_type(pMySQLParser ctx)
{
    MySQLParser_option_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3367;

    pANTLR3_BASE_TREE set3367_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3367       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3367_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3306:12: ( GLOBAL_SYMBOL | LOCAL_SYMBOL | SESSION_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3367=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == GLOBAL_SYMBOL || LA(1) == LOCAL_SYMBOL || LA(1) == SESSION_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3367))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto ruleoption_typeEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleoption_typeEx; /* Prevent compiler warnings */
    ruleoption_typeEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end option_type */

/**
 * $ANTLR start keyword
 * MySQL.g:3313:1: keyword : ( keyword_sp | ( ASCII_SYMBOL | BACKUP_SYMBOL | BEGIN_SYMBOL | BYTE_SYMBOL | CACHE_SYMBOL | CHARSET_SYMBOL | CHECKSUM_SYMBOL | CLOSE_SYMBOL | COMMENT_SYMBOL | COMMIT_SYMBOL | CONTAINS_SYMBOL | DEALLOCATE_SYMBOL | DO_SYMBOL | END_SYMBOL | EXECUTE_SYMBOL | FLUSH_SYMBOL | FOLLOWS_SYMBOL | FORMAT_SYMBOL | HANDLER_SYMBOL | HELP_SYMBOL | HOST_SYMBOL | INSTALL_SYMBOL | LANGUAGE_SYMBOL | NO_SYMBOL | OPEN_SYMBOL | OPTIONS_SYMBOL | OWNER_SYMBOL | PARSER_SYMBOL | PARTITION_SYMBOL | PORT_SYMBOL | PRECEDES_SYMBOL | PREPARE_SYMBOL | REMOVE_SYMBOL | REPAIR_SYMBOL | RESET_SYMBOL | RESTORE_SYMBOL | ROLLBACK_SYMBOL | SAVEPOINT_SYMBOL | SECURITY_SYMBOL | SERVER_SYMBOL | SIGNED_SYMBOL | SLAVE_SYMBOL | SOCKET_SYMBOL | SONAME_SYMBOL | START_SYMBOL | STOP_SYMBOL | TRUNCATE_SYMBOL | UNICODE_SYMBOL | UNINSTALL_SYMBOL | UPGRADE_SYMBOL | WRAPPER_SYMBOL | XA_SYMBOL ) );
 */
static MySQLParser_keyword_return
keyword(pMySQLParser ctx)
{
    MySQLParser_keyword_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3369;
    MySQLParser_keyword_sp_return keyword_sp3368;
    #undef	RETURN_TYPE_keyword_sp3368
    #define	RETURN_TYPE_keyword_sp3368 MySQLParser_keyword_sp_return

    pANTLR3_BASE_TREE set3369_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3369       = NULL;
    keyword_sp3368.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3369_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:3313:8: ( keyword_sp | ( ASCII_SYMBOL | BACKUP_SYMBOL | BEGIN_SYMBOL | BYTE_SYMBOL | CACHE_SYMBOL | CHARSET_SYMBOL | CHECKSUM_SYMBOL | CLOSE_SYMBOL | COMMENT_SYMBOL | COMMIT_SYMBOL | CONTAINS_SYMBOL | DEALLOCATE_SYMBOL | DO_SYMBOL | END_SYMBOL | EXECUTE_SYMBOL | FLUSH_SYMBOL | FOLLOWS_SYMBOL | FORMAT_SYMBOL | HANDLER_SYMBOL | HELP_SYMBOL | HOST_SYMBOL | INSTALL_SYMBOL | LANGUAGE_SYMBOL | NO_SYMBOL | OPEN_SYMBOL | OPTIONS_SYMBOL | OWNER_SYMBOL | PARSER_SYMBOL | PARTITION_SYMBOL | PORT_SYMBOL | PRECEDES_SYMBOL | PREPARE_SYMBOL | REMOVE_SYMBOL | REPAIR_SYMBOL | RESET_SYMBOL | RESTORE_SYMBOL | ROLLBACK_SYMBOL | SAVEPOINT_SYMBOL | SECURITY_SYMBOL | SERVER_SYMBOL | SIGNED_SYMBOL | SLAVE_SYMBOL | SOCKET_SYMBOL | SONAME_SYMBOL | START_SYMBOL | STOP_SYMBOL | TRUNCATE_SYMBOL | UNICODE_SYMBOL | UNINSTALL_SYMBOL | UPGRADE_SYMBOL | WRAPPER_SYMBOL | XA_SYMBOL ) )

            ANTLR3_UINT32 alt959;

            alt959=2;

            {
                int LA959_0 = LA(1);
                if ( (((LA959_0 >= ACTION_SYMBOL) && (LA959_0 <= YEAR_SYMBOL))))
                {
                    alt959=1;
                }
                else if ( (((LA959_0 >= ASCII_SYMBOL) && (LA959_0 <= XA_SYMBOL))))
                {
                    alt959=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 959;
                    EXCEPTION->state        = 0;


                    goto rulekeywordEx;

                }
            }
            switch (alt959)
            {
        	case 1:
        	    // MySQL.g:3314:2: keyword_sp
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_sp_in_keyword18081);
        	        keyword_sp3368=keyword_sp(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekeywordEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword_sp3368.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:3315:4: ( ASCII_SYMBOL | BACKUP_SYMBOL | BEGIN_SYMBOL | BYTE_SYMBOL | CACHE_SYMBOL | CHARSET_SYMBOL | CHECKSUM_SYMBOL | CLOSE_SYMBOL | COMMENT_SYMBOL | COMMIT_SYMBOL | CONTAINS_SYMBOL | DEALLOCATE_SYMBOL | DO_SYMBOL | END_SYMBOL | EXECUTE_SYMBOL | FLUSH_SYMBOL | FOLLOWS_SYMBOL | FORMAT_SYMBOL | HANDLER_SYMBOL | HELP_SYMBOL | HOST_SYMBOL | INSTALL_SYMBOL | LANGUAGE_SYMBOL | NO_SYMBOL | OPEN_SYMBOL | OPTIONS_SYMBOL | OWNER_SYMBOL | PARSER_SYMBOL | PARTITION_SYMBOL | PORT_SYMBOL | PRECEDES_SYMBOL | PREPARE_SYMBOL | REMOVE_SYMBOL | REPAIR_SYMBOL | RESET_SYMBOL | RESTORE_SYMBOL | ROLLBACK_SYMBOL | SAVEPOINT_SYMBOL | SECURITY_SYMBOL | SERVER_SYMBOL | SIGNED_SYMBOL | SLAVE_SYMBOL | SOCKET_SYMBOL | SONAME_SYMBOL | START_SYMBOL | STOP_SYMBOL | TRUNCATE_SYMBOL | UNICODE_SYMBOL | UNINSTALL_SYMBOL | UPGRADE_SYMBOL | WRAPPER_SYMBOL | XA_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set3369=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( ((LA(1) >= ASCII_SYMBOL) && (LA(1) <= XA_SYMBOL)) )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3369))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto rulekeywordEx;
        	        }


        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulekeywordEx; /* Prevent compiler warnings */
    rulekeywordEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    {

        	// This part is quite ugly but there are limitations in the C target generator which prevent us
        	// from using the target neutral constructs to change the token type.
        	retval.start->setType(retval.start, IDENTIFIER);

    }

    return retval;
}
/* $ANTLR end keyword */

/**
 * $ANTLR start keyword_sp
 * MySQL.g:3383:1: keyword_sp : ( ACTION_SYMBOL | ADDDATE_SYMBOL | AFTER_SYMBOL | AGAINST_SYMBOL | AGGREGATE_SYMBOL | ALGORITHM_SYMBOL | ANALYZE_SYMBOL | ANY_SYMBOL | AT_SYMBOL | AUTHORS_SYMBOL | AUTO_INCREMENT_SYMBOL | AUTOEXTEND_SIZE_SYMBOL | AVG_ROW_LENGTH_SYMBOL | AVG_SYMBOL | BINLOG_SYMBOL | BIT_SYMBOL | BLOCK_SYMBOL | BOOL_SYMBOL | BOOLEAN_SYMBOL | BTREE_SYMBOL | CASCADED_SYMBOL | CATALOG_NAME_SYMBOL | CHAIN_SYMBOL | CHANGED_SYMBOL | CIPHER_SYMBOL | CLIENT_SYMBOL | CLASS_ORIGIN_SYMBOL | COALESCE_SYMBOL | CODE_SYMBOL | COLLATION_SYMBOL | COLUMN_NAME_SYMBOL | COLUMN_FORMAT_SYMBOL | COLUMNS_SYMBOL | COMMITTED_SYMBOL | COMPACT_SYMBOL | COMPLETION_SYMBOL | COMPRESSED_SYMBOL | CONCURRENT_SYMBOL | CONNECTION_SYMBOL | CONSISTENT_SYMBOL | CONSTRAINT_CATALOG_SYMBOL | CONSTRAINT_SCHEMA_SYMBOL | CONSTRAINT_NAME_SYMBOL | CONTEXT_SYMBOL | CONTRIBUTORS_SYMBOL | CPU_SYMBOL | CUBE_SYMBOL | CURRENT_SYMBOL | CURSOR_NAME_SYMBOL | DATA_SYMBOL | DATAFILE_SYMBOL | DATETIME_SYMBOL | DATE_SYMBOL | DAY_SYMBOL | DEFAULT_AUTH_SYMBOL | DEFINER_SYMBOL | DELAY_KEY_WRITE_SYMBOL | DES_KEY_FILE_SYMBOL | DIAGNOSTICS_SYMBOL | DIRECTORY_SYMBOL | DISABLE_SYMBOL | DISCARD_SYMBOL | DISK_SYMBOL | DUMPFILE_SYMBOL | DUPLICATE_SYMBOL | DYNAMIC_SYMBOL | ENDS_SYMBOL | ENUM_SYMBOL | ENGINE_SYMBOL | ENGINES_SYMBOL | ERROR_SYMBOL | ERRORS_SYMBOL | ESCAPE_SYMBOL | EVENT_SYMBOL | EVENTS_SYMBOL | EVERY_SYMBOL | EXPANSION_SYMBOL | EXPORT_SYMBOL | EXTENDED_SYMBOL | EXTENT_SIZE_SYMBOL | FAULTS_SYMBOL | FAST_SYMBOL | FOUND_SYMBOL | ENABLE_SYMBOL | FULL_SYMBOL | FILE_SYMBOL | FILTER_SYMBOL | FIRST_SYMBOL | FIXED_SYMBOL | GENERAL_SYMBOL | GEOMETRY_SYMBOL | GEOMETRYCOLLECTION_SYMBOL | GET_FORMAT_SYMBOL | GRANTS_SYMBOL | GLOBAL_SYMBOL | HASH_SYMBOL | HOSTS_SYMBOL | HOUR_SYMBOL | IDENTIFIED_SYMBOL | IGNORE_SERVER_IDS_SYMBOL | INVOKER_SYMBOL | IMPORT_SYMBOL | INDEXES_SYMBOL | INITIAL_SIZE_SYMBOL | INNODB_SYMBOL | IO_SYMBOL | IPC_SYMBOL | ISOLATION_SYMBOL | ISSUER_SYMBOL | INSERT_METHOD_SYMBOL | KEY_BLOCK_SIZE_SYMBOL | LAST_SYMBOL | LEAVES_SYMBOL | LESS_SYMBOL | LEVEL_SYMBOL | LINESTRING_SYMBOL | LIST_SYMBOL | LOCAL_SYMBOL | LOCKS_SYMBOL | LOGFILE_SYMBOL | LOGS_SYMBOL | MAX_ROWS_SYMBOL | MASTER_SYMBOL | MASTER_HEARTBEAT_PERIOD_SYMBOL | MASTER_HOST_SYMBOL | MASTER_PORT_SYMBOL | MASTER_LOG_FILE_SYMBOL | MASTER_LOG_POS_SYMBOL | MASTER_USER_SYMBOL | MASTER_PASSWORD_SYMBOL | MASTER_SERVER_ID_SYMBOL | MASTER_CONNECT_RETRY_SYMBOL | MASTER_RETRY_COUNT_SYMBOL | MASTER_DELAY_SYMBOL | MASTER_SSL_SYMBOL | MASTER_SSL_CA_SYMBOL | MASTER_SSL_CAPATH_SYMBOL | MASTER_SSL_CERT_SYMBOL | MASTER_SSL_CIPHER_SYMBOL | MASTER_SSL_CRL_SYMBOL | MASTER_SSL_CRLPATH_SYMBOL | MASTER_SSL_KEY_SYMBOL | MASTER_AUTO_POSITION_SYMBOL | MAX_CONNECTIONS_PER_HOUR_SYMBOL | MAX_QUERIES_PER_HOUR_SYMBOL | MAX_STATEMENT_TIME_SYMBOL | MAX_SIZE_SYMBOL | MAX_UPDATES_PER_HOUR_SYMBOL | MAX_USER_CONNECTIONS_SYMBOL | MEDIUM_SYMBOL | MEMORY_SYMBOL | MERGE_SYMBOL | MESSAGE_TEXT_SYMBOL | MICROSECOND_SYMBOL | MIGRATE_SYMBOL | MINUTE_SYMBOL | MIN_ROWS_SYMBOL | MODIFY_SYMBOL | MODE_SYMBOL | MONTH_SYMBOL | MULTILINESTRING_SYMBOL | MULTIPOINT_SYMBOL | MULTIPOLYGON_SYMBOL | MUTEX_SYMBOL | MYSQL_ERRNO_SYMBOL | NAME_SYMBOL | NAMES_SYMBOL | NATIONAL_SYMBOL | NCHAR_SYMBOL | NDBCLUSTER_SYMBOL | NEVER_SYMBOL | NEXT_SYMBOL | NEW_SYMBOL | NO_WAIT_SYMBOL | NODEGROUP_SYMBOL | NONE_SYMBOL | NUMBER_SYMBOL | NVARCHAR_SYMBOL | OFFSET_SYMBOL | OLD_PASSWORD_SYMBOL | ONE_SHOT_SYMBOL | ONE_SYMBOL | PACK_KEYS_SYMBOL | PAGE_SYMBOL | PARTIAL_SYMBOL | PARTITIONING_SYMBOL | PARTITIONS_SYMBOL | PASSWORD_SYMBOL | PHASE_SYMBOL | PLUGIN_DIR_SYMBOL | PLUGIN_SYMBOL | PLUGINS_SYMBOL | POINT_SYMBOL | POLYGON_SYMBOL | PRESERVE_SYMBOL | PREV_SYMBOL | PRIVILEGES_SYMBOL | PROCESS_SYMBOL | PROCESSLIST_SYMBOL | PROFILE_SYMBOL | PROFILES_SYMBOL | PROXY_SYMBOL | QUARTER_SYMBOL | QUERY_SYMBOL | QUICK_SYMBOL | READ_ONLY_SYMBOL | REBUILD_SYMBOL | RECOVER_SYMBOL | REDO_BUFFER_SIZE_SYMBOL | REDOFILE_SYMBOL | REDUNDANT_SYMBOL | RELAY_SYMBOL | RELAYLOG_SYMBOL | RELAY_LOG_FILE_SYMBOL | RELAY_LOG_POS_SYMBOL | RELAY_THREAD_SYMBOL | RELOAD_SYMBOL | REORGANIZE_SYMBOL | REPEATABLE_SYMBOL | REPLICATION_SYMBOL | REPLICATE_DO_DB_SYMBOL | REPLICATE_IGNORE_DB_SYMBOL | REPLICATE_DO_TABLE_SYMBOL | REPLICATE_IGNORE_TABLE_SYMBOL | REPLICATE_WILD_DO_TABLE_SYMBOL | REPLICATE_WILD_IGNORE_TABLE_SYMBOL | REPLICATE_REWRITE_DB_SYMBOL | RESUME_SYMBOL | RETURNED_SQLSTATE_SYMBOL | RETURNS_SYMBOL | REVERSE_SYMBOL | ROLLUP_SYMBOL | ROUTINE_SYMBOL | ROWS_SYMBOL | ROW_COUNT_SYMBOL | ROW_FORMAT_SYMBOL | ROW_SYMBOL | RTREE_SYMBOL | SCHEDULE_SYMBOL | SCHEMA_NAME_SYMBOL | SECOND_SYMBOL | SERIAL_SYMBOL | SERIALIZABLE_SYMBOL | SESSION_SYMBOL | SIMPLE_SYMBOL | SHARE_SYMBOL | SHUTDOWN_SYMBOL | SLOW_SYMBOL | SNAPSHOT_SYMBOL | SOUNDS_SYMBOL | SOURCE_SYMBOL | SQL_AFTER_GTIDS_SYMBOL | SQL_AFTER_MTS_GAPS_SYMBOL | SQL_BEFORE_GTIDS_SYMBOL | SQL_CACHE_SYMBOL | SQL_BUFFER_RESULT_SYMBOL | SQL_NO_CACHE_SYMBOL | SQL_THREAD_SYMBOL | STACKED_SYMBOL | STARTS_SYMBOL | STATS_AUTO_RECALC_SYMBOL | STATS_PERSISTENT_SYMBOL | STATS_SAMPLE_PAGES_SYMBOL | STATUS_SYMBOL | STORAGE_SYMBOL | STRING_SYMBOL | SUBCLASS_ORIGIN_SYMBOL | SUBDATE_SYMBOL | SUBJECT_SYMBOL | SUBPARTITION_SYMBOL | SUBPARTITIONS_SYMBOL | SUPER_SYMBOL | SUSPEND_SYMBOL | SWAPS_SYMBOL | SWITCHES_SYMBOL | TABLE_NAME_SYMBOL | TABLES_SYMBOL | TABLE_CHECKSUM_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL | TEMPTABLE_SYMBOL | TEXT_SYMBOL | THAN_SYMBOL | TRANSACTION_SYMBOL | TRIGGERS_SYMBOL | TIMESTAMP_SYMBOL | TIMESTAMP_ADD_SYMBOL | TIMESTAMP_DIFF_SYMBOL | TIME_SYMBOL | TYPES_SYMBOL | TYPE_SYMBOL | UDF_RETURNS_SYMBOL | FUNCTION_SYMBOL | UNCOMMITTED_SYMBOL | UNDEFINED_SYMBOL | UNDO_BUFFER_SIZE_SYMBOL | UNDOFILE_SYMBOL | UNKNOWN_SYMBOL | UNTIL_SYMBOL | USER_RESOURCES_SYMBOL | USER_SYMBOL | USE_FRM_SYMBOL | VARIABLES_SYMBOL | VIEW_SYMBOL | VALUE_SYMBOL | WARNINGS_SYMBOL | WAIT_SYMBOL | WEEK_SYMBOL | WORK_SYMBOL | WEIGHT_STRING_SYMBOL | X509_SYMBOL | XID_SYMBOL | XML_SYMBOL | YEAR_SYMBOL );
 */
static MySQLParser_keyword_sp_return
keyword_sp(pMySQLParser ctx)
{
    MySQLParser_keyword_sp_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set3370;

    pANTLR3_BASE_TREE set3370_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3370       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3370_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:3383:11: ( ACTION_SYMBOL | ADDDATE_SYMBOL | AFTER_SYMBOL | AGAINST_SYMBOL | AGGREGATE_SYMBOL | ALGORITHM_SYMBOL | ANALYZE_SYMBOL | ANY_SYMBOL | AT_SYMBOL | AUTHORS_SYMBOL | AUTO_INCREMENT_SYMBOL | AUTOEXTEND_SIZE_SYMBOL | AVG_ROW_LENGTH_SYMBOL | AVG_SYMBOL | BINLOG_SYMBOL | BIT_SYMBOL | BLOCK_SYMBOL | BOOL_SYMBOL | BOOLEAN_SYMBOL | BTREE_SYMBOL | CASCADED_SYMBOL | CATALOG_NAME_SYMBOL | CHAIN_SYMBOL | CHANGED_SYMBOL | CIPHER_SYMBOL | CLIENT_SYMBOL | CLASS_ORIGIN_SYMBOL | COALESCE_SYMBOL | CODE_SYMBOL | COLLATION_SYMBOL | COLUMN_NAME_SYMBOL | COLUMN_FORMAT_SYMBOL | COLUMNS_SYMBOL | COMMITTED_SYMBOL | COMPACT_SYMBOL | COMPLETION_SYMBOL | COMPRESSED_SYMBOL | CONCURRENT_SYMBOL | CONNECTION_SYMBOL | CONSISTENT_SYMBOL | CONSTRAINT_CATALOG_SYMBOL | CONSTRAINT_SCHEMA_SYMBOL | CONSTRAINT_NAME_SYMBOL | CONTEXT_SYMBOL | CONTRIBUTORS_SYMBOL | CPU_SYMBOL | CUBE_SYMBOL | CURRENT_SYMBOL | CURSOR_NAME_SYMBOL | DATA_SYMBOL | DATAFILE_SYMBOL | DATETIME_SYMBOL | DATE_SYMBOL | DAY_SYMBOL | DEFAULT_AUTH_SYMBOL | DEFINER_SYMBOL | DELAY_KEY_WRITE_SYMBOL | DES_KEY_FILE_SYMBOL | DIAGNOSTICS_SYMBOL | DIRECTORY_SYMBOL | DISABLE_SYMBOL | DISCARD_SYMBOL | DISK_SYMBOL | DUMPFILE_SYMBOL | DUPLICATE_SYMBOL | DYNAMIC_SYMBOL | ENDS_SYMBOL | ENUM_SYMBOL | ENGINE_SYMBOL | ENGINES_SYMBOL | ERROR_SYMBOL | ERRORS_SYMBOL | ESCAPE_SYMBOL | EVENT_SYMBOL | EVENTS_SYMBOL | EVERY_SYMBOL | EXPANSION_SYMBOL | EXPORT_SYMBOL | EXTENDED_SYMBOL | EXTENT_SIZE_SYMBOL | FAULTS_SYMBOL | FAST_SYMBOL | FOUND_SYMBOL | ENABLE_SYMBOL | FULL_SYMBOL | FILE_SYMBOL | FILTER_SYMBOL | FIRST_SYMBOL | FIXED_SYMBOL | GENERAL_SYMBOL | GEOMETRY_SYMBOL | GEOMETRYCOLLECTION_SYMBOL | GET_FORMAT_SYMBOL | GRANTS_SYMBOL | GLOBAL_SYMBOL | HASH_SYMBOL | HOSTS_SYMBOL | HOUR_SYMBOL | IDENTIFIED_SYMBOL | IGNORE_SERVER_IDS_SYMBOL | INVOKER_SYMBOL | IMPORT_SYMBOL | INDEXES_SYMBOL | INITIAL_SIZE_SYMBOL | INNODB_SYMBOL | IO_SYMBOL | IPC_SYMBOL | ISOLATION_SYMBOL | ISSUER_SYMBOL | INSERT_METHOD_SYMBOL | KEY_BLOCK_SIZE_SYMBOL | LAST_SYMBOL | LEAVES_SYMBOL | LESS_SYMBOL | LEVEL_SYMBOL | LINESTRING_SYMBOL | LIST_SYMBOL | LOCAL_SYMBOL | LOCKS_SYMBOL | LOGFILE_SYMBOL | LOGS_SYMBOL | MAX_ROWS_SYMBOL | MASTER_SYMBOL | MASTER_HEARTBEAT_PERIOD_SYMBOL | MASTER_HOST_SYMBOL | MASTER_PORT_SYMBOL | MASTER_LOG_FILE_SYMBOL | MASTER_LOG_POS_SYMBOL | MASTER_USER_SYMBOL | MASTER_PASSWORD_SYMBOL | MASTER_SERVER_ID_SYMBOL | MASTER_CONNECT_RETRY_SYMBOL | MASTER_RETRY_COUNT_SYMBOL | MASTER_DELAY_SYMBOL | MASTER_SSL_SYMBOL | MASTER_SSL_CA_SYMBOL | MASTER_SSL_CAPATH_SYMBOL | MASTER_SSL_CERT_SYMBOL | MASTER_SSL_CIPHER_SYMBOL | MASTER_SSL_CRL_SYMBOL | MASTER_SSL_CRLPATH_SYMBOL | MASTER_SSL_KEY_SYMBOL | MASTER_AUTO_POSITION_SYMBOL | MAX_CONNECTIONS_PER_HOUR_SYMBOL | MAX_QUERIES_PER_HOUR_SYMBOL | MAX_STATEMENT_TIME_SYMBOL | MAX_SIZE_SYMBOL | MAX_UPDATES_PER_HOUR_SYMBOL | MAX_USER_CONNECTIONS_SYMBOL | MEDIUM_SYMBOL | MEMORY_SYMBOL | MERGE_SYMBOL | MESSAGE_TEXT_SYMBOL | MICROSECOND_SYMBOL | MIGRATE_SYMBOL | MINUTE_SYMBOL | MIN_ROWS_SYMBOL | MODIFY_SYMBOL | MODE_SYMBOL | MONTH_SYMBOL | MULTILINESTRING_SYMBOL | MULTIPOINT_SYMBOL | MULTIPOLYGON_SYMBOL | MUTEX_SYMBOL | MYSQL_ERRNO_SYMBOL | NAME_SYMBOL | NAMES_SYMBOL | NATIONAL_SYMBOL | NCHAR_SYMBOL | NDBCLUSTER_SYMBOL | NEVER_SYMBOL | NEXT_SYMBOL | NEW_SYMBOL | NO_WAIT_SYMBOL | NODEGROUP_SYMBOL | NONE_SYMBOL | NUMBER_SYMBOL | NVARCHAR_SYMBOL | OFFSET_SYMBOL | OLD_PASSWORD_SYMBOL | ONE_SHOT_SYMBOL | ONE_SYMBOL | PACK_KEYS_SYMBOL | PAGE_SYMBOL | PARTIAL_SYMBOL | PARTITIONING_SYMBOL | PARTITIONS_SYMBOL | PASSWORD_SYMBOL | PHASE_SYMBOL | PLUGIN_DIR_SYMBOL | PLUGIN_SYMBOL | PLUGINS_SYMBOL | POINT_SYMBOL | POLYGON_SYMBOL | PRESERVE_SYMBOL | PREV_SYMBOL | PRIVILEGES_SYMBOL | PROCESS_SYMBOL | PROCESSLIST_SYMBOL | PROFILE_SYMBOL | PROFILES_SYMBOL | PROXY_SYMBOL | QUARTER_SYMBOL | QUERY_SYMBOL | QUICK_SYMBOL | READ_ONLY_SYMBOL | REBUILD_SYMBOL | RECOVER_SYMBOL | REDO_BUFFER_SIZE_SYMBOL | REDOFILE_SYMBOL | REDUNDANT_SYMBOL | RELAY_SYMBOL | RELAYLOG_SYMBOL | RELAY_LOG_FILE_SYMBOL | RELAY_LOG_POS_SYMBOL | RELAY_THREAD_SYMBOL | RELOAD_SYMBOL | REORGANIZE_SYMBOL | REPEATABLE_SYMBOL | REPLICATION_SYMBOL | REPLICATE_DO_DB_SYMBOL | REPLICATE_IGNORE_DB_SYMBOL | REPLICATE_DO_TABLE_SYMBOL | REPLICATE_IGNORE_TABLE_SYMBOL | REPLICATE_WILD_DO_TABLE_SYMBOL | REPLICATE_WILD_IGNORE_TABLE_SYMBOL | REPLICATE_REWRITE_DB_SYMBOL | RESUME_SYMBOL | RETURNED_SQLSTATE_SYMBOL | RETURNS_SYMBOL | REVERSE_SYMBOL | ROLLUP_SYMBOL | ROUTINE_SYMBOL | ROWS_SYMBOL | ROW_COUNT_SYMBOL | ROW_FORMAT_SYMBOL | ROW_SYMBOL | RTREE_SYMBOL | SCHEDULE_SYMBOL | SCHEMA_NAME_SYMBOL | SECOND_SYMBOL | SERIAL_SYMBOL | SERIALIZABLE_SYMBOL | SESSION_SYMBOL | SIMPLE_SYMBOL | SHARE_SYMBOL | SHUTDOWN_SYMBOL | SLOW_SYMBOL | SNAPSHOT_SYMBOL | SOUNDS_SYMBOL | SOURCE_SYMBOL | SQL_AFTER_GTIDS_SYMBOL | SQL_AFTER_MTS_GAPS_SYMBOL | SQL_BEFORE_GTIDS_SYMBOL | SQL_CACHE_SYMBOL | SQL_BUFFER_RESULT_SYMBOL | SQL_NO_CACHE_SYMBOL | SQL_THREAD_SYMBOL | STACKED_SYMBOL | STARTS_SYMBOL | STATS_AUTO_RECALC_SYMBOL | STATS_PERSISTENT_SYMBOL | STATS_SAMPLE_PAGES_SYMBOL | STATUS_SYMBOL | STORAGE_SYMBOL | STRING_SYMBOL | SUBCLASS_ORIGIN_SYMBOL | SUBDATE_SYMBOL | SUBJECT_SYMBOL | SUBPARTITION_SYMBOL | SUBPARTITIONS_SYMBOL | SUPER_SYMBOL | SUSPEND_SYMBOL | SWAPS_SYMBOL | SWITCHES_SYMBOL | TABLE_NAME_SYMBOL | TABLES_SYMBOL | TABLE_CHECKSUM_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL | TEMPTABLE_SYMBOL | TEXT_SYMBOL | THAN_SYMBOL | TRANSACTION_SYMBOL | TRIGGERS_SYMBOL | TIMESTAMP_SYMBOL | TIMESTAMP_ADD_SYMBOL | TIMESTAMP_DIFF_SYMBOL | TIME_SYMBOL | TYPES_SYMBOL | TYPE_SYMBOL | UDF_RETURNS_SYMBOL | FUNCTION_SYMBOL | UNCOMMITTED_SYMBOL | UNDEFINED_SYMBOL | UNDO_BUFFER_SIZE_SYMBOL | UNDOFILE_SYMBOL | UNKNOWN_SYMBOL | UNTIL_SYMBOL | USER_RESOURCES_SYMBOL | USER_SYMBOL | USE_FRM_SYMBOL | VARIABLES_SYMBOL | VIEW_SYMBOL | VALUE_SYMBOL | WARNINGS_SYMBOL | WAIT_SYMBOL | WEEK_SYMBOL | WORK_SYMBOL | WEIGHT_STRING_SYMBOL | X509_SYMBOL | XID_SYMBOL | XML_SYMBOL | YEAR_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3370=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= ACTION_SYMBOL) && (LA(1) <= YEAR_SYMBOL)) )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set3370))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto rulekeyword_spEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulekeyword_spEx; /* Prevent compiler warnings */
    rulekeyword_spEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    {

        	retval.start->setType(retval.start, IDENTIFIER);

    }

    return retval;
}
/* $ANTLR end keyword_sp */

// $ANTLR start synpred1_MySQL
static void synpred1_MySQL_fragment(pMySQLParser ctx )
{
    // MySQL.g:2006:4: ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )
    // MySQL.g:2006:5: OPEN_PAR_SYMBOL expression COMMA_SYMBOL
    {
         MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_synpred1_MySQL11031);
        if  (HASEXCEPTION())
        {
            goto rulesynpred1_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


        FOLLOWPUSH(FOLLOW_expression_in_synpred1_MySQL11033);
        expression(ctx);

        FOLLOWPOP();
        if  (HASEXCEPTION())
        {
            goto rulesynpred1_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


         MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_synpred1_MySQL11035);
        if  (HASEXCEPTION())
        {
            goto rulesynpred1_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


    }

// This is where rules clean up and exit
//
goto rulesynpred1_MySQLEx; /* Prevent compiler warnings */
rulesynpred1_MySQLEx: ;

}
// $ANTLR end synpred1_MySQL

// $ANTLR start synpred2_MySQL
static void synpred2_MySQL_fragment(pMySQLParser ctx )
{
    // MySQL.g:2026:5: ( stored_function_call )
    // MySQL.g:2026:6: stored_function_call
    {
        FOLLOWPUSH(FOLLOW_stored_function_call_in_synpred2_MySQL11152);
        stored_function_call(ctx);

        FOLLOWPOP();
        if  (HASEXCEPTION())
        {
            goto rulesynpred2_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


    }

// This is where rules clean up and exit
//
goto rulesynpred2_MySQLEx; /* Prevent compiler warnings */
rulesynpred2_MySQLEx: ;

}
// $ANTLR end synpred2_MySQL
/* End of parsing rules
 * ==============================================
 */

/* ==============================================
 * Syntactic predicates
 */
static ANTLR3_BOOLEAN synpred1_MySQL(pMySQLParser ctx)
{
    ANTLR3_MARKER   start;
    ANTLR3_BOOLEAN  success;

    BACKTRACKING++;
    start	= MARK();
    synpred1_MySQL_fragment(ctx);	    // can never throw exception
    success	= !(FAILEDFLAG);
    REWIND(start);
    BACKTRACKING--;
    FAILEDFLAG	= ANTLR3_FALSE;
    return success;
}
static ANTLR3_BOOLEAN synpred2_MySQL(pMySQLParser ctx)
{
    ANTLR3_MARKER   start;
    ANTLR3_BOOLEAN  success;

    BACKTRACKING++;
    start	= MARK();
    synpred2_MySQL_fragment(ctx);	    // can never throw exception
    success	= !(FAILEDFLAG);
    REWIND(start);
    BACKTRACKING--;
    FAILEDFLAG	= ANTLR3_FALSE;
    return success;
}

/* End of syntactic predicates
 * ==============================================
 */






/* End of code
 * =============================================================================
 */
